免费人成网站在线视频-亚洲av午夜精品麻豆av-日韩色大片在线观看-欧美日韩一区二区久久

中國金屬材料流通協(xié)會,歡迎您!

English服務熱線:010-59231580

搜索

區(qū)塊鏈開發(fā)技術綜述

作者:孟巖,IBM大中華區(qū)高級經(jīng)理,曾負責IBM智慧地球、智慧城市、認知計算等重大技術戰(zhàn)略在中國的推廣和落地。一年前開始關注區(qū)塊鏈技術及其行業(yè)應用前景,對比特幣、以太坊、超級總賬和BigchainDB四個主要區(qū)塊鏈技術流派都進行過考察和研究,形成了在中國應用區(qū)塊鏈技術的觀點和思路。 

如果你關注區(qū)塊鏈技術長達幾個月,可能也會跟我一樣,對沒完沒了的原理介紹、前景描繪、行業(yè)探討和鏈圈新聞產(chǎn)生了審美疲勞。沒錯,區(qū)塊鏈必須與行業(yè)緊密結(jié)合,它也有顛覆人類協(xié)作方式之洪荒巨力,但是說到底它還是一個技術活,是要寫代碼的,在咖啡廳里整天坐而論道是造不出金鏈子來的。技術人員的邏輯簡單直接,這個事情有沒有前(錢)途?有,那怎么干?

本文試圖對區(qū)塊鏈有關技術流派和主流平臺進行一個概覽,作為學習區(qū)塊鏈技術體系的導覽,意在拋磚引玉,促進區(qū)塊鏈開發(fā)社區(qū)的討論與共識。

區(qū)塊鏈技術的流派

未戰(zhàn)先謀局,你想投入?yún)^(qū)塊鏈開發(fā)這個領域,至少先要搞清楚現(xiàn)在有哪些玩家,各自的主張和實力如何。

劃分區(qū)塊鏈技術流派并無一定之規(guī),據(jù)我所見,或可有以下四種方式:

第一是按照節(jié)點準入規(guī)則,劃分為公有鏈、私有鏈和聯(lián)盟鏈。公有鏈的代表自然是比特幣和以太坊,私有鏈則以R3 Corda聲名最盛,聯(lián)盟鏈的代表作品是Hyperledger名下的Fabric。公有鏈注重匿名性與去中心化,而私有鏈及聯(lián)盟鏈注重高效率,而且還往往設置了準入門檻。公有鏈、私有鏈與聯(lián)盟鏈之間的這些不同都在技術中有所體現(xiàn),比如私有鏈和聯(lián)盟鏈假設節(jié)點數(shù)目不大,可以采用PBFT算法來形成共識。而公有鏈假設有大量且不斷動態(tài)變化的節(jié)點網(wǎng)絡,用PBFT效率太低,只能采用類似抽彩票的算法來確定意見領袖。這就意味著,私有鏈與聯(lián)盟鏈很難變成公有鏈,而用公有鏈來作聯(lián)盟鏈或私有鏈雖然容易,卻也并非即插即用。此種差異,學者不可不察。

第二是按照共享目標,劃分為共享賬本和共享狀態(tài)機兩派。比特幣是典型的共享賬本,而Chain和BigchainDB也應屬此類,這幾個區(qū)塊鏈系統(tǒng)在各個節(jié)點之間共享一本總賬,因此對接金融應用比較方便。另一大類區(qū)塊鏈系統(tǒng)中,各個節(jié)點所共享的是可完成圖靈完備計算的狀態(tài)機,如以太坊、Fabric,它們都通過執(zhí)行智能合約而改變共享狀態(tài)機狀態(tài),進而達成種種復雜功能。

第三是按照梅蘭妮 · 斯旺所描述的代際演進,將區(qū)塊鏈系統(tǒng)分為1.0、2.0和3.0三代。其中1.0支撐去中心化交易和支付系統(tǒng),2.0通過智能合約支撐行業(yè)應用,3.0支撐去中心化的社會體系。比特幣和Chain應屬于區(qū)塊鏈1.0系統(tǒng),而以太坊和Fabric是區(qū)塊鏈2.0系統(tǒng),目前尚無成功的區(qū)塊鏈3.0系統(tǒng)出現(xiàn),不成功的嘗試倒是有那么一個,就是著名的The DAO。

第四是按照核心數(shù)據(jù)結(jié)構,分為區(qū)塊鏈和分布式總賬兩派。區(qū)塊鏈這一派在系統(tǒng)中真的實現(xiàn)了一個區(qū)塊的鏈作為核心數(shù)據(jù)結(jié)構,而分布式總賬這一派,只是吸取了區(qū)塊鏈的精神,并沒有真用一條區(qū)塊鏈作為核心數(shù)據(jù)結(jié)構,或者雖然暫時用了,但聲明說吾項莊舞區(qū)塊鏈,意在分布式總賬耳,若假以時日,因緣際會,未嘗不可取而代之也。

主流區(qū)塊鏈技術平臺

了解流派劃分,仍是只能用來指點江山,吹牛論道,要動手,總要有個切入點。區(qū)塊鏈貨幣據(jù)說已經(jīng)有上千個了,但值得關注的技術平臺大概只有數(shù)十個,而如果要進入?yún)^(qū)塊鏈開發(fā)領域,打下一個好基礎,練出一身好功夫,撈到幾個好offer,則值得深入研究學習的平臺,屈指可數(shù)。

首先當然是比特幣。比特幣作為區(qū)塊鏈的第一個也是目前為止最成功、最重要的樣板工程,已經(jīng)上線運行了八年多,本身沒有發(fā)生任何嚴重的安全和運維事故,其穩(wěn)定與強悍堪稱當代軟件系統(tǒng)典范。比特幣Bitcoin Core是一個代碼質(zhì)量高、文檔良好的開源軟件,從學習區(qū)塊鏈原理、掌握核心技術的角度來說,Bitcoin Core是最佳切入點,能夠?qū)W到原汁原味的區(qū)塊鏈技術。當然,Bitcoin Core是用C++寫的,而且用了一些C++11和Boost庫的機制,對學習者的C++水平提出了較高的要求。

學習比特幣平臺開發(fā)還有一個優(yōu)勢,就是可以對接繁榮的比特幣技術社區(qū)。目前圍繞比特幣進行改進和提升的人很多,人多力量就大,諸如隔離驗證、閃電網(wǎng)絡、側(cè)鏈等比較新的想法和技術,都率先在比特幣社區(qū)里落地。比如側(cè)鏈技術的主要領導者Blockstream是由密碼學貨幣元老Adam Back領銜的,而Blockstream是Bitcoin Core最大的貢獻者之一,所以一些有關側(cè)鏈的技術在比特幣社區(qū)里討論最充分。

但比特幣作為一個典型的區(qū)塊鏈1.0系統(tǒng),是不是支撐其他類型區(qū)塊鏈應用的最佳技術平臺,存在很大的爭議。另外,也不是所有人都有能力和必要精通區(qū)塊鏈底層技術。所以對那些急于沖到區(qū)塊鏈領域里做(quān)事(qián)的人來說,可能更直截了當?shù)膶W習目標是以太坊和Hyperledger Fabric。

在以太坊上面用Solidity進行的智能合約開發(fā)是切入?yún)^(qū)塊鏈開發(fā)最簡單的方式,沒有之一。以太坊的理想非常宏大,由于配備了強大的圖靈完備的智能合約虛擬機,因此可以成為一切區(qū)塊鏈項目的母平臺,是馱住整個區(qū)塊鏈世界的大烏龜。在以太坊上開發(fā)一個類似比特幣的加密貨幣,是一個不折不扣的小目標。一般有經(jīng)驗的開發(fā)者在文檔指導下,半天到一天即可入門。問題在于,入門以后又如何?靠寫Solidity是否就可以包打天下?這是大大存疑的。我們也可以反過來說,如果以太坊+Solidity是區(qū)塊鏈的終極解決方案,那么怎么還會出現(xiàn)那么多區(qū)塊鏈技術門派呢?特別是,以太坊似乎并沒有給現(xiàn)實世界中巨型的中心化組織們留下一條活路,這種徹底不妥協(xié)的革命態(tài)度有可能也成為以太坊推廣的障礙。

當前以太坊項目的開發(fā)進展并不順利。一個比較突出的問題是項目過多,力量分散,導致項目質(zhì)量參差不齊。但盡管如此,跟其他區(qū)塊鏈2.0平臺相比,以太坊提供的開發(fā)環(huán)境是最簡單最完善的。初學區(qū)塊鏈的人絕對有必要學習以太坊,從而對區(qū)塊鏈和智能合約建立起一個最“正宗”的認識。

主流區(qū)塊鏈技術平臺的第三支就是Fabric,它是Hyperledger的第一個也是最知名的孵化項目。 Fabric最早來自IBM的Open Blockchain項目,到2015年11月,IBM將當時已經(jīng)開發(fā)完成的44,000行Go語言代碼交給Linux基金會,并入Hyperledger項目之中。在2016年3月一次黑客馬拉松中,Blockstream和DAH兩家公司將各自的代碼并入Open Blockchain,隨后改名為Fabric。到目前為止,F(xiàn)abric與Intel提供的Sawtooth Lake并列為Hyperledger的一級孵化項目,但前者得到的關注遠超后者。

從技術角度來說,F(xiàn)abric思路不錯,重點是滿足企業(yè)商用的需求,比如解決交易量問題。眾所周知,比特幣最大的短板是它每秒鐘7個交易的上限,完全無法滿足現(xiàn)實需要。而Fabric目標是實現(xiàn)每秒鐘10萬交易,這個量接近剛剛過去的雙十一交易量瞬時峰值,完全可以滿足正常條件下的行業(yè)級應用。Fabric用Go語言開發(fā),也提供多種語言的API。特別值得一提的是,F(xiàn)abric比較充分地運用了容器技術,比如其智能合約就運行在容器當中。這也是Go語言帶給Fabric的一項福利,因為Go語言靜態(tài)編譯部署的特征很適合開發(fā)容器中的程序。

Fabric還有一些特點,比如其membership服務可以設置節(jié)點準入審查,這是典型的聯(lián)盟鏈特征。再比如其共識算法是可定制的。Fabric自帶PBFT共識算法實現(xiàn),但是PBFT的算法效率是O(n2),其中n是節(jié)點數(shù)量。因此PBFT用在節(jié)點數(shù)量受限的聯(lián)盟鏈里是沒有問題的,但用在公有鏈里效率過低。

Fabric的短板是體系較為復雜,雖有文檔,但缺少經(jīng)驗的開發(fā)者學習起來障礙比較大。然而由于其定位清楚,迎合了不少企業(yè)的心態(tài),所以已經(jīng)有多家機構在基于Fabric秘密研發(fā)行業(yè)內(nèi)的聯(lián)盟鏈項目。

小眾門派

上述區(qū)塊鏈開發(fā)的三大主流平臺,從活躍度、受關注和參與人數(shù)來說,遠遠超過其他平臺。但俗話說莫欺少年窮,一些眼下還默默無聞的平臺也不容忽視。

Hyperledger的另一個一級孵化項目Sawtooth Lake是Intel開發(fā)的區(qū)塊鏈平臺,是一個很少被關注的項目,大概是因為被同在Hyperledger旗下的Fabric給掩蓋了,再加上名字拗口,所以很少看到有人討論它,項目活躍度也不高。但其實Sawtooth Lake是一個挺有想法的區(qū)塊鏈項目,設計十分精心。它以數(shù)字金融資產(chǎn)管理為目標,整體架構清晰,模塊化程度高,因此可定制能力也強。概念上獨創(chuàng)了“交易族(transaction family)”概念,而且還支持PoET和Quorum兩種共識機制。當節(jié)點數(shù)量很多(公有鏈環(huán)境)時,使用第6代Intel Core CPU所提供的SGX擴展功能提供一種稱為時間流逝證明(PoET)的機制來形成共識,這種機制與比特幣所采用的PoW同屬“抽彩票”式的共識算法,但杜絕了通過ASIC專用硬件“作弊”的可能性,排除了比特幣出現(xiàn)的算力過于集中的隱患,可靠性由Intel CPU硬件來保障,是公有鏈系統(tǒng)里很有價值的一個共識機制。另一方面,當節(jié)點數(shù)量少且受控時,Sawtooth Lake可以采用Quorum共識機制,這是由Ripple提出并驗證的共識機制,非常適合于聯(lián)盟鏈場景,這樣Sawtooth Lake就搖身一變成為很好用的聯(lián)盟鏈了。

Sawtooth Lake采用Python開發(fā),并提供了Java SDK。由于這兩種語言的流行度,實際上它應該有很大的潛在開發(fā)者人群。事實上,R3 CEV曾經(jīng)測試過Sawtooth Lake并進行了成功的證券交易實驗。當前它主要的問題是受關注度不足,不知Intel是否有足夠的耐心和毅力堅持到底。如果Intel戰(zhàn)略更明確一些,支持力度更大一些,我建議大家可以對它投以更多的關注。

R3 Corda是一個備受關注的分布式賬本項目。 R3是由數(shù)十家銀行和金融機構支持的區(qū)塊鏈企業(yè),融資上億美元,號稱匯集了一票高手,潛心研究符合金融行業(yè)需求的分布式賬本系統(tǒng)。Corda是R3分布式賬本系統(tǒng)中的核心,在千呼萬喚之后,于11月30日正式開源。

Corda采用JetBrain原創(chuàng)的小眾語言Kotlin開發(fā),對Java世界敞開大門,這是令人點贊的。此外,Corda更重要的特色是其與現(xiàn)有世界里大銀行、大型中心機構的全面妥協(xié)、全面合作的姿態(tài),這與以太坊革命無罪、造反有理的形象形成鮮明對比。Corda在設計中有多項獨特考慮,就是為了對接現(xiàn)有的業(yè)務規(guī)則。比如在其他幾乎所有區(qū)塊鏈平臺里,每一個交易對于各節(jié)點來說都是可見的,可見才能驗證,能驗證才談得上共識,所以交易的全網(wǎng)可見性是順理成章的。但是現(xiàn)實世界里金融機構之間的交易,只有交易相關方才能看到交易詳情,工行與建行的一筆交易,絕無必要讓招行看到。為了對接這個現(xiàn)實,Corda設計了與眾不同的機制,犧牲了交易驗證的全局可見性,確保只有交易相關方才能看到和驗證交易本身??墒橇硪环矫妫y行業(yè)務是被重度監(jiān)管的業(yè)務,不能因為你用了區(qū)塊鏈系統(tǒng),就把洋洋灑灑的巴塞爾協(xié)議晾在一邊,監(jiān)管機構的職能如何體現(xiàn)?這是其他區(qū)塊鏈系統(tǒng)里考慮不多的。而Corda設計了獨特的Notary和Oracle節(jié)點,為監(jiān)管體系進入留下了空間。仔細品味,這些都是給現(xiàn)實世界當中的大機構預留的美差。這些設計上的考慮,無疑大大增強了Corda被現(xiàn)有大型金融機構采納的機會。不過這一切看上去很美好,但目前Corda的實現(xiàn)基本上是個花架子,設想的種種,不少處于TODO狀態(tài)。

另外兩個值得點名的區(qū)塊鏈門派分別是Chain和BigchainDB。前者跟Visa有合作,后者是一個基于RethinkDB開發(fā)的分布式賬本,兩者各有各的思路和特色,也拿到了為數(shù)可觀的投資,不排除未來能有大的發(fā)展。限于篇幅,在這里不展開介紹了。

區(qū)塊鏈開發(fā)所需具備的技術基礎

可以預見,未來從事區(qū)塊鏈開發(fā)的主要有三類開發(fā)者,一類是開發(fā)基于區(qū)塊鏈的Web或移動App,這種開發(fā)者所需要的技能與今天的Web和移動開發(fā)者并無二致,這里就不贅述了。

第二類開發(fā)者是開發(fā)智能合約的。這類開發(fā)者使用類似Solidity這樣的智能合約語言,或者直接用Go、Java、Python等語言開發(fā)。開發(fā)智能合約所要求的語言和算法技術水平不高,什么并發(fā)、多線程之類的東西一般用不到,普通開發(fā)者均可勝任。但是智能合約的難點在于業(yè)務與安全。本質(zhì)上智能合約就是以代碼寫成的商業(yè)合同,必須對于業(yè)務有非常清晰的認識,對于安全有著深刻的理解,才能夠?qū)懗稣_的智能合約。因此,我認為未來智能合約的開發(fā)者,可能反而是具體應用領域的行業(yè)專家出身居多,因為讓他們掌握Python語言,遠比讓程序員去理解進出口貿(mào)易規(guī)則或者商業(yè)票據(jù)業(yè)務要容易得多。

第三類開發(fā)者,就是區(qū)塊鏈核心應用系統(tǒng)和核心平臺的開發(fā)者。這部分人當然必須是技術高手,按現(xiàn)在通俗的說法,得是后端專家。從語言上講,C++、Java、Python、Go、JavaScript都有可能要觸及。從基礎知識來說,要求對密碼學、分布式系統(tǒng)、網(wǎng)絡編程、系統(tǒng)架構和部署都有相當程度的理解和實踐經(jīng)驗。這種開發(fā)者顯然將是區(qū)塊鏈技術浪潮當中的弄潮兒,也將是最大的受益者之一。

特別要點一下密碼學。密碼學是大多數(shù)開發(fā)人員的短板,但若要在區(qū)塊鏈核心技術領域搞出能夠碾壓競品的創(chuàng)新點,密碼學是最有可能出成果的地方。不用說搞出什么密碼學突破,就是將密碼學現(xiàn)有成果充分運用在區(qū)塊鏈里,都可能會搞出一些逆天的創(chuàng)新來。比如用零知識證明協(xié)議(zero-knowledge proof)構造高度匿名化的區(qū)塊鏈系統(tǒng),比如用私有計算外包(private computing outsourcing)技術讓別的節(jié)點既能夠驗證交易,又對交易本身的內(nèi)容一無所知,這都是能夠激發(fā)大量商業(yè)模式創(chuàng)新的技術,等待密碼學黑客們發(fā)掘和實現(xiàn)。因此,我相信密碼學成為顯學的時代即將到來。

區(qū)塊鏈是一項前景無限、極具顛覆性和想象空間的技術,它有潛力帶來一個完全不同的商業(yè)時代,塑造新一代的互聯(lián)網(wǎng),也有可能被傳統(tǒng)勢力合謀異化。無論如何,區(qū)塊鏈為創(chuàng)業(yè)者和程序員提供了又一次弄潮的機會,在這片藍海上將演出一場怎樣的大戲,我們且拭目以待。


返回列表

国产一区二区三区是视频| 亚洲是图一区二区视频| 大屁股流白浆一区二区三区| 日本一区二区三区高清不卡视频| 色婷婷六月亚洲婷婷国产| 国产精品一区精品二区| 在线精品日韩一区二区三区| 国产人妖视频一区二区在线观看| 91精彩啦在线看国产| 美女床上激情啪啪网页| 久久er热在这里只有精品| 亚洲人成伊人成综合网中文| 色偷拍亚洲偷自拍二区| 日韩精品视频一区二区不卡| 亚洲首页激情在线观看| 精品国产一区二区久久| 高清免费无遮挡在线观看| 成人国产一区二区精品| 日韩夫妻性生活视频网站| 毛茸茸的亚洲美女在线视频 | 日本一区二区三区的免费视频观看| av日韩免费在线观看| 中文字幕人妻一区二区三区久久| 俄罗斯少妇毛茸茸的高潮| 超短裙老师在线观看一区二区| 欧美日韩国产免费,日日骚| 日韩一二区不卡在线视频| 久久久精品91精品国产免费| 在线播放中文字幕国产精品 | 日韩毛片精品高清免费| 亚洲熟女少妇视频自拍| 中文字幕一区二区三区.| 中文字幕成人亚洲精品| 妖艳美女色诱男子视频| 久久天天躁夜夜躁狠狠综合| 亚洲成av在线免费不卡| 少妇高潮内射在线观看| 亚洲天堂成人综合在线| 少妇激情一区二区三区视频| 一区二区精品精品久久| 国产精品自拍激情在线观看|