官术网_书友最值得收藏!

1.3 區塊鏈關鍵技術

前面我們介紹了區塊鏈的基礎知識和發展歷程,相信讀者已經對區塊鏈有了一個較為直觀的認識,本節將更進一步,深入介紹區塊鏈的系統架構和關鍵技術。

1.3.1 基礎模型

圖1.3所示是區塊鏈的基本架構,該圖的繪制參考了《區塊鏈技術發展現狀與展望》和工信部《中國區塊鏈技術和應用發展白皮書(2016)》中的區塊鏈架構圖。區塊鏈基本架構可以分為數據層、網絡層、共識層、激勵層、合約層和應用層:

  • 數據層封裝了區塊鏈的鏈式結構、區塊數據以及非對稱加密等區塊鏈核心技術;
  • 網絡層提供點對點的數據通信傳播以及驗證機制;
  • 共識層主要是網絡節點間達成共識的各種共識算法;
  • 激勵層將經濟因素引入區塊鏈技術體系之中,主要包括經濟因素的發行機制和分配機制;
  • 合約層展示了區塊鏈系統的可編程性,封裝了各類腳本、智能合約和算法;
  • 應用層則封裝了區塊鏈技術的應用場景和案例。

在該架構中,基于時間戳的鏈式結構、分布式節點間的共識機制和可編程的智能合約是區塊鏈技術最具代表性的創新點。一般可以在合約層編寫智能合約或者進行腳本編程,來構建基于區塊鏈的去中心化應用。下面將對本架構中每一層所涉及的技術展開具體介紹。

圖1.3 區塊鏈基本架構

1.3.2 數據層

數據層是區塊鏈的核心部分,區塊鏈本質上是一種數據庫技術和分布式共享賬本,是由包含交易信息的區塊從后向前有序連接起來的一種數據結構。該層涉及的技術主要包括:區塊結構、Merkle樹、非對稱加密、時間戳、數字簽名和哈希函數。時間戳和哈希函數相對比較簡單,這里重點介紹一下區塊結構、Merkle樹、非對稱加密和數字簽名。

  1. 區塊結構

    每個區塊一般都由區塊頭和區塊體兩部分組成。如圖1.4所示,區塊頭部分包含了父區塊哈希值、時間戳、Merkle根等信息,而區塊體部分則包含了此區塊中所有的交易信息。除此之外,每一個區塊還對應著兩個值來識別區塊:區塊頭哈希值和區塊高度。

    圖1.4 區塊結構

    每一個區塊都會有一個區塊頭哈希值,這是一個通過SHA256算法對區塊頭進行二次哈希計算而得到的32字節的數字指紋。例如,比特幣的第一個區塊頭哈希值為000000000019d6689 c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f。區塊頭哈希值可以唯一標識一個區塊鏈上的區塊,并且任何節點通過對區塊頭進行簡單的哈希計算都可以得到該區塊頭的哈希值。區塊頭哈希值也包含在區塊的整體數據結構中,但是區塊頭的數據和區塊體的數據并不一定一起存儲,為了檢索效率起見,在實現中可以將二者分開存儲。

    除了通過頭哈希值來識別區塊,還可以通過區塊高度來對區塊進行識別。例如高度為0和前面000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f所索引的區塊都是第一個區塊。但是與頭哈希值不同的是,區塊高度并不能唯一地標識一個區塊。由于區塊鏈存在著分叉情況,所以可能存在2個或2個以上區塊的區塊高度是一樣的。

    談完了頭哈希值和區塊高度,下面介紹區塊頭的構造。以比特幣為例,區塊頭有80字節,其詳細結構如表1.1所示。

    表1.1 區塊頭詳細結構

    區塊頭由3組元數據組成,第一組是引用父區塊的哈希值數據,用于同前一區塊進行相連;第二組即難度值、時間戳和隨機數,這些都與挖礦競爭相關;第三組是Merkle根,是區塊體中Merkle樹的根節點。

  2. Merkle樹

    前面介紹了區塊頭哈希值、區塊高度和區塊頭的結構,接下來看看區塊體。區塊體存儲著交易信息,在區塊中它們是以一棵Merkle樹的數據結構進行存儲的,而Merkle樹是一種用來有效地總結區塊中所有交易的數據結構。Merkle樹是一棵哈希二叉樹,樹的每個葉子節點都是一筆交易的哈希值。同樣以比特幣為例,在比特幣網絡中,Merkle樹被用來歸納一個區塊中的所有交易,同時生成整個交易集合的數字指紋即Merkle樹根,且提供了一種校驗區塊是否存在某交易的高效途徑。生成一棵Merkle樹需要遞歸地對每兩個哈希節點進行哈希得到一個新的哈希值,并將新的哈希值存入Merkle樹中,兩兩結合直到最終只有一個哈希值,這個哈希值就是這一區塊所有交易的Merkle根,存儲到上面介紹的區塊頭結構中。

    下面通過一個實例來對Merkle樹進行進一步的介紹。圖1.5是一棵只有4筆交易的Merkle樹,即交易A、B、C和D。

    圖1.5 Merkle樹

    第一步,使用兩次SHA256算法對每筆交易數據進行哈希運算,得到每筆交易的哈希值,這里可以得到HA、HB、HC、HD這4個哈希值,也就是這棵Merkle樹的葉子節點。例如,

    HA = SHA256(SHA256(交易A))

    第二步,對兩個葉子節點HA、HB的哈希值同樣使用兩次SHA256進行組合哈希運算,將會得到一個新的哈希值HAB,對HC、HD進行同樣的操作將獲得另一個哈希值HCD。例如,

    HAB = SHA256(SHA256(HA+HB))

    第三步,對現有的兩個哈希值HAB、HCD進行第二步中的組合運算,最后將得到一個新的哈希值HABCD。

    HABCD = SHA256(SHA256(HAB+HCD))

    此時我們已經沒有了其他同高度節點,所以最后的HABCD就是這一棵Merkle樹的Merkle根。之后將這個節點的32字節哈希值寫入區塊頭部Merkle根字段中。Merkle樹的整個形成過程結束。

    因為Merkle樹是一棵二叉樹,所以它需要偶數個葉子節點,也就是偶數筆交易。但是在很多情況下,某個區塊的交易數目會出現奇數筆。對于這種情況,Merkle樹的解決方案是復制最后一筆交易,以此構造成偶數個葉子節點,這種偶數個葉子節點的二叉樹也稱為平衡樹。

    圖1.6展示的是一棵更大的Merkle樹,由16個交易構成。通過圖示,可以發現,不管一個區塊中有一筆交易還是十萬筆交易,最終都能歸納成一個32字節的哈希值作為Merkle樹的根節點。

    圖1.6 多節點的Merkle樹

    當需要證明交易列表中的某筆交易存在時,一個節點只需計算log2N個32字節的哈希值,就可以形成一條從Merkle樹根到特定交易的路徑,Merkle樹的效率如表1.2所示。

    表1.2 Merkle樹的效率

     

  3. 非對稱加密與數字簽名

    非對稱加密是區塊鏈技術中用于安全性需求和所有權認證時采用的加密技術,常見的非對稱加密算法有RSA、Elgamal、背包算法、Rabin、D-H、ECC(橢圓曲線加密算法)和ECDSA(橢圓曲線數字簽名算法),等等。與對稱加密算法不同的是,非對稱加密算法需要兩個密鑰:公開密鑰(public key)和私有密鑰(private key)。基于非對稱加密算法可使通信雙方在不安全的媒體上交換信息,安全地達成信息的一致。公開密鑰是對外公開的,而私有密鑰是保密的,其他人不能通過公鑰推算出對應的私鑰。每一個公開密鑰都有對應的私有密鑰,如果我們使用公開密鑰對信息進行了加密,那么必須有對應的私有密鑰才能對加密后的信息進行解密;而如果是用私有密鑰加密信息,則只有對應的公開密鑰才可以進行解密。在區塊鏈中,非對稱加密主要用于信息加密、數字簽名等場景。

    在信息加密場景(如圖1.7所示)中,信息發送者A需要發送一個信息給信息接收者B,需要先使用B的公鑰對信息進行加密,B收到后,使用自己的私鑰就可以對這一信息進行解密,而其他人沒有私鑰,是沒辦法對這個加密信息進行解密的。

    圖1.7 信息加密

    而在數字簽名場景(如圖1.8所示)中,發送者A先用哈希函數對原文生成一個摘要(digest),然后使用私鑰對摘要進行加密,生成數字簽名(signature),之后將數字簽名與原文一起發送給接收者B;B收到信息后,使用A的公鑰對數字簽名進行解密得到摘要,由此確保信息是A發出的,然后再對收到的原文使用哈希函數產生摘要,并與解密得到的摘要進行對比,如果相同,則說明收到的信息在傳輸過程中沒有被修改過。

    圖1.8 數字簽名

1.3.3 網絡層

網絡層是區塊鏈平臺信息傳輸的基礎,通過P2P的組網方式、特定的信息傳播協議和數據驗證機制,區塊鏈網絡中的每個節點都可以平等地參與共識與記賬。下面將詳細介紹區塊鏈平臺網絡層中的P2P網絡架構、信息傳輸機制和數據驗證機制。

  1. P2P網絡架構

    區塊鏈網絡架構一般采用的是基于互聯網的P2P(peer-to-peer,點對點)架構,在P2P網絡中,每臺計算機的每個節點都是對等的,它們共同為全網提供服務。而且,沒有任何中心化的服務端,每臺主機都可以作為服務端響應請求,也可以作為客戶端使用其他節點所提供的服務。P2P通信不需要從其他實體或CA獲取地址驗證,因此有效地消除了篡改和第三方欺騙的可能性。所以P2P網絡是去中心化和開放的,這也正符合區塊鏈技術的理念。

    在區塊鏈網絡中,所有的節點地位均等且以扁平式拓撲結構相互連通和交互,每個節點都需要承擔網絡路由、驗證區塊數據、傳播區塊數據等功能。在比特幣網絡中,存在著兩類節點:一類是全節點,它保存著區塊鏈上所有的完整數據信息,并需要實時地參與區塊鏈數據的校驗和記錄來更新區塊鏈主鏈;另一類是輕節點,它只保存著區塊鏈中的部分信息,通過簡易支付驗證(SPV)方式向其他相鄰的節點請求數據以便完成數據的驗證。

  2. 傳輸機制

    在新的區塊數據生成后,生成該數據的節點會將其廣播到全網的其他節點以供驗證。目前的區塊鏈底層平臺一般會根據自身的實際應用需求,在比特幣傳輸機制的基礎上重新設計或者改進出新的傳輸機制,如以太坊區塊鏈集成了所謂的“幽靈協議”,以解決因區塊數據確認速度快而導致的高區塊作廢率和隨之而來的安全性風險。這里我們以中本聰設計的比特幣系統為例,列出其傳輸協議的步驟。

    (1) 負責交易的節點將新的交易數據向全網所有節點廣播,節點接收后會將數據存儲到一個區塊中;

    (2) 每個節點基于自身算力在區塊中找到一個符合難度要求的工作量證明,之后便向全網所有節點廣播此區塊;

    (3) 如果區塊中的所有交易有效且未曾出現,那么其他節點才會認同并接收該數據區塊。節點在該區塊的末尾制造新的區塊以延長鏈,將被接收區塊的隨機哈希值視為新區塊的前序區塊哈希值。

    如果交易的相關節點是一個未與其他節點相連接的新節點,比特幣系統通常會將一組長期穩定運行的“種子節點”推薦給新節點以建立連接,或者推薦至少一個節點連接新節點。此外,進行廣播的交易數據不需要全部節點都接收到,只要有足夠多的節點做出響應,交易數據便可整合到區塊鏈賬本中。而未接收到完整交易數據的節點可以向鄰近節點請求下載缺失的交易數據。

  3. 驗證機制

    在區塊鏈網絡中,所有的節點都會時刻監聽網絡中廣播的交易數據和新產生的區塊。在接收到相鄰節點發來的數據后,會首先驗證該數據的有效性:若數據有效則按接收順序為新數據建立存儲池來暫存這些數據,并且繼續向鄰近節點轉發;若數據無效則立即廢棄該數據,從而保證無效數據不會在區塊鏈網絡中繼續傳播。驗證有效性的方法是根據預定義好的標準,從數據結構、語法規范性、輸入輸出和數字簽名等各方面進行校驗。對于新區塊的校驗同理,某節點產生新區塊后,其他節點按照預定義的標準對新區塊的工作量證明、時間戳等進行校驗,若確認有效,則將該區塊鏈接到主區塊鏈上,并開始爭取下一個區塊的記賬權。

1.3.4 共識層

Leslie Lamport于1982年提出著名的拜占庭將軍問題,引發了無數研究者探索解決方案。如何在分布式系統中高效地達成共識是分布式計算領域的一個重要研究課題。區塊鏈的共識層的作用就是在不同的應用場景下通過使用不同的共識算法,在決策權高度分散的去中心化系統中使各個節點高效地達成共識。

最初,比特幣區塊鏈選用了一種依賴節點算力的工作量證明共識機制來保證比特幣網絡分布式記賬的一致性。之后隨著區塊鏈技術的改進,研究者陸續提出了一些不過度依賴算力就能達到全網一致的算法,比如權益證明共識機制、授權股份證明共識機制、實用拜占庭容錯算法、Raft共識算法,等等。下面我們對這幾種共識算法進行簡單介紹。

  1. PoW(工作量證明)機制

    PoW機制誕生于1997年 Adam Back 設計的Hashcash系統,它最初被創造出來用于預防郵件系統中鋪天蓋地的垃圾郵件。2009年,中本聰將PoW機制運用于比特幣區塊鏈網絡中,作為達成全網一致性的共識機制。從嚴格意義上講,比特幣中所采用的是一種可重復使用的Hashcash工作證明,使得生成工作證明量可以是一個概率意義上的隨機過程。在該機制中,網絡上的每一個節點都在使用SHA256哈希算法運算一個不斷變化的區塊頭的哈希值。共識要求算出的值必須等于或者小于某個給定的值。在分布式網絡中,所有的參與者都需要使用不同的隨機數來持續計算該哈希值,直到達到目標為止。當一個節點得出了確切的值,其他所有的節點必須相互確認該值的正確性。之后,新區塊中的交易將被驗證以防欺詐。然后,用于計算的交易信息的集合會被確認為認證結果,用區塊鏈中的新區塊表示。在比特幣中,運算哈希值的節點被稱作“礦工”,而PoW的過程被稱為“挖礦”。由于認證的計算是一個耗時的過程,所以也提出了相應的激勵機制(例如向礦工授予一小部分比特幣)??偟膩碚f,工作量證明就是對于工作量的證明,每個區塊加入到鏈上,必須得到網絡參與者的同意驗證,礦工對它完成了相對應的工作量。PoW的優點是完全的去中心化和分布式賬簿。缺點也很明顯,即消耗資源:挖礦行為造成了大量的資源浪費,同時PoW達成共識的周期也比較長,比特幣網絡會自動調整目標值來確保區塊生成過程大約需要10分鐘,因此它不是很適合商業運用。

  2. PoS(股權證明)機制

    PoS的想法源于尼克·薩博(Nick Szabo),是PoW的一種節能替代選擇,它不需要用戶在不受限制的空間中找到一個隨機數,而是要求人們證明“貨幣”數量的所有權,因為其相信擁有“貨幣”數量多的人攻擊網絡的可能性更低。由于基于賬戶余額的選擇是非常不公平的,單一最富有的人勢必在網絡中占主導地位,所以后來提出了許多解決方案,結合股權來決定誰來創建下一個塊。其中,Blackcoin使用隨機選擇來預測下一個創建者,而Peercoin則傾向于基于幣齡來選擇。Peercoin首次開創性地實現了真正的股權證明,它采用工作量證明機制發行新幣,采用股權證明機制維護網絡安全,這也是“虛擬貨幣”歷史上的一次創舉。同比特幣網絡要求證明人執行一定量的工作不同,該機制只需要證明人提供一定數量“數字貨幣”的所有權即可。在股權證明機制中,每當創建一個區塊時,礦工需要創建一個稱為“幣權”的交易,這個交易會按照一定的比例預先將一些幣發給礦工。然后股權證明機制根據每個節點持有代幣的比例和時間,依據算法等比例地降低節點的挖礦難度,以加快節點尋找隨機數的速度,縮短達成共識所需的時間。與PoW相比,PoS可以節省更多的能源,更有效率。但是,由于挖礦成本接近于零,因此可能會遭受攻擊。且PoS在本質上仍然需要網絡中的節點進行挖礦運算,所以它同樣難以應用于商業領域。

  3. DPoS(股份授權證明)機制

    DPoS由比特股(Bitshares)項目組發明。類似于現代企業中的董事會制度,在DPOS中將代幣持有者稱為股東,區塊的股東們(擁有股份)通過民主選舉的方式投票推舉他們的代表,所推選出的代表將負責新區塊的生成與數據驗證工作。如果想要成為代表,獲得相應的權利,持幣者必須首先使用自己的區塊鏈公鑰進行注冊,獲得長度為32位的唯一ID標識符,股東們以交易的形式對持幣者的標識符進行投票,得票數排名靠前的持幣者將會被選為代表。代表們輪流進行區塊的生產工作,并共享平分交易所得收益(即手續費)。假若有的代表為了自身利益在區塊鏈上作惡,按照分布式賬本的特性,很容易被其他股份與代表們發現并被剔除出區塊鏈系統,所產生的空缺位置將由得票數排名靠后的持幣者替代。DPoS大幅減少了參與區塊生成驗證與記賬節點的數量,不需要節點耗費額外的工作量,節省了大量的算力資源與共識驗收時間。DPoS實現了去中心化與中心化的設計,大幅加快了區塊鏈上的交易速度。

  4. PBFT(實用拜占庭容錯)算法

    這個算法最初出現在MIT的Miguel和Barbara Liskov的學術論文中,初衷是為一個低延遲存儲系統所設計,降低算法的復雜度,該算法可以應用于吞吐量不大但需要處理大量事件的數字資產平臺。它允許每個節點發布公鑰,任何通過節點的消息都由節點簽名,以驗證其格式。驗證過程分為3個階段:預備、準備、落實。如果已經收到超過1/3不同節點的批準,服務操作將是有效的。使用PBFT,區塊鏈網絡N個節點中可以包含f 個拜占庭惡意節點,其中f = (N-1)/3。 換句話說,PBFT確保至少2f+1個節點在將信息添加到分布式共享賬簿之前達成共識。目前,Hyperledger聯盟、中國ChinaLedger 聯盟等諸多區塊鏈聯盟都在研究和驗證這個算法的實際部署和應用。

  5. Raft(信道可信條件下)共識算法

    Raft是由Stanford提出的一種更易理解的一致性算法,在沒有作惡節點但網絡節點可能死機的前提條件下,達成所有節點的一致性共識。Raft節點一般分為3種角色:Follower、Candidate和Leader。一開始,所有的節點都是以Follower角色啟動,想當Leader的節點將會成為Candidate節點,并向其他Follower發出選舉投票請求,只要超過半數的節點選擇自己,即可成為Leader節點,之后該Leader節點每隔一段時間就向Follower節點發送“心跳”保活,否則其余節點可再次競爭Leader節點。寫入數據時,Leader先將數據暫時寫入本地日志,并向Follower發送添加數據請求。當有超過半數的添加成功信息返回時,Leader便可以寫入本地并向客戶端發回成功結果,否則寫入失敗。

1.3.5 激勵層

激勵層作為將經濟因素引入區塊鏈技術的一個層次,其存在的必要性取決于建立在區塊鏈技術上的具體應用需求。本節以比特幣系統為例,對激勵層進行介紹。

在比特幣系統中,大量的節點算力資源通過共識過程得以匯聚,從而實現區塊鏈賬本的數據驗證和記賬工作,因而其本質上是一種共識節點間的任務眾包過程。在去中心化系統中,共識節點本身是自利的,其參與數據驗證和記賬工作的根本目的是最大化自身收益。所以,必須設計合理的激勵機制,使得共識節點最大化自身收益的個體行為與區塊鏈系統的安全性和有效性相契合,從而使大規模的節點對區塊鏈歷史形成穩定的共識。

比特幣采用PoW共識機制,在該共識中其經濟激勵由兩部分組成:一是新發行的比特幣;二是交易流通過程中的手續費。兩者組合在一起,獎勵給PoW共識過程中成功計算出符合要求的隨機數并生成新區塊的節點。因此,只有當各節點達成共識,共同合作來構建和維護區塊鏈歷史記錄及其系統的有效性,當作獎勵的比特幣才會有價值。

  1. 發行機制

    在比特幣系統中,新區塊產生發行比特幣的數量是隨著時間階梯型遞減的。從創世區塊起,每個新區塊將發行50個比特幣獎勵給該區塊的記賬者,此后每隔約4年(21萬個區塊),每個新區塊發行的比特幣數量減少一半,以此類推,一直到比特幣的數量穩定在上限2100萬為止。前文提到過,給記賬者的另一部分獎勵是比特幣交易過程中產生的手續費,目前默認的手續費是1/10 000個比特幣。兩部分費用會被封裝在新區塊的第一個交易(稱為Coinbase交易)中。雖然現在每個新區塊的總手續費與新發行的比特幣相比要少得多,但未來比特幣的發行數量會越來越少,甚至停止發行,到那時手續費便會成為共識節點記賬的主要動力。此外,手續費還可以起到保障安全的作用,防止大量微額交易對比特幣系統發起“粉塵攻擊”。

  2. 分配機制

    隨著比特幣挖礦生態圈的成熟,“礦池”出現在人們的視野中。大量的小算力節點通過加入礦池而聯合起來,通過合作匯集算力來提高獲得記賬權的概率,并共享生成新區塊得到的新發行比特幣和交易手續費獎勵。據Bitcoinminning.com統計,目前已經存在13種不同的分配機制?,F今主流礦池通常采用PPLNS(pay per last N shares)、PPS(pay per share)和PROP(PRO portionately)等機制。在礦池中,根據各個節點貢獻的算力,按比例劃分為不同的股份。PPLNS機制在產生新的區塊后,各合作節點根據其在最后N個股份內貢獻的實際股份比例來分配獎勵;PPS則直接根據股份比例為各節點估算和支付一個固定的理論收益,采用此方式的礦池將會適度收取手續費來彌補其為各個節點承擔的收益不確定性風險;PROP機制則根據節點貢獻的股份按比例地分配獎勵。

1.3.6 合約層

合約層作為在區塊鏈系統中編程功能的實現,封裝了各種智能合約、腳本算法等。作為全球賬本的區塊鏈系統,比特幣本身就具備簡單的腳本編程功能。而作為區塊鏈2.0的代表,以太坊平臺極大地強化了編程語言方面的功能,理論上可以使用特定的腳本語言來實現任何功能的應用(即DApp)。通過這些應用,以太坊可以被視為“全球計算機”,任何人都可以使用區塊鏈系統中的共識性、一致性來上傳和執行任意腳本程序,并通過共識機制來保證程序有效安全地運行,而不存在數據泄露以及惡意篡改等問題。如果說區塊鏈數據、網絡互聯和共識機制這3個層級代表的是區塊鏈底層結構的“虛擬機”(它們分別代表數據表示、數據分發和數據驗證工作),那么合約層就是區塊鏈能將復雜的商業邏輯、復雜算法等一系列高級應用作用于該虛擬機上的基礎構件。雖然包括比特幣在內的大多數“數字加密貨幣”采用的是非圖靈完備的簡單腳本代碼,但這種簡單雛形能簡單地實現用戶對交易過程的控制,是區塊鏈系統實現數據控制以及圖靈完備編程的基礎。隨著技術的演變與進化,以太坊等一系列圖靈完備的平臺系統的出現標志著區塊鏈系統能夠通過更加完備復雜的腳本語言參與到社會問題和金融監管之中。

1995年,學者尼克·薩博提出了智能合約的定義:“一個智能合約是一套以數字形式定義的承諾,包括合約參與方可以在上面執行這些承諾的協議?!痹摱x被視為智能合約的雛形,薩博希望能夠將智能合約內嵌入物理機器實體來管理與創造安全可控的智能資產,為新興物理機器產生相應的社會價值。由于當時時代的局限性以及技術水平的落后,智能合約的概念并未受到從業者的廣泛關注。

2008年之后,比特幣的興起和區塊鏈技術的成熟為智能合約賦予了新的定義。智能合約技術將作為區塊鏈技術的一部分,在區塊鏈系統中承擔著運行模塊化、智能化腳本文件的工作,讓區塊鏈系統具備數據集管理、執行商業邏輯、解決基本金融問題等一系列的功能。合約在被部署到區塊鏈上后會被虛擬機編譯為一系列的操作碼,然后存儲到特定的地址中。當區塊鏈上的交易滿足合約上的預定條件時,智能合約就會被觸發,全網節點執行智能合約的操作碼,并將最后執行結果寫入新區塊中。智能合約作為嵌入式程序協議,開發者可以將其部署至任意區塊鏈數據、交易或資產中,以形成可編譯控制的系統、市場監控系統或數字資產。智能合約不僅會為金融行業提供區塊鏈的解決方案,還將在管理社會系統中的信息、資產、合同和監管運作等方面發揮越來越重要的作用。

智能合約可以應用于大量數據驅動的業務工作中,通過智能合約的應用,區塊鏈減少了操作成本,提高了工作效率,并且能夠避免部分惡意行為對區塊鏈系統的干擾,提高了區塊鏈的應用安全性。2013年年末,以太坊創始人Vitalik Buterin發布了以太坊“白皮書”《以太坊:下一代智能合約和去中心化應用平臺》,啟動了以太坊項目。Vitalik Buterin首先看到了區塊鏈技術和智能合約相結合所帶來的巨大進步,創建了內嵌圖靈完備編程語言的公有區塊鏈系統,使得任何贊同以太坊理念的開發者都能夠創建合約和去中心化應用。

智能合約與區塊鏈的結合極大地豐富了區塊鏈的價值內涵,其特性有以下3點:

  • 通過程序邏輯中的豐富合約規則表達能力實現了不信任方之間的公平交換,避免了惡意方中斷協議等可能性;
  • 最小化交易方之間的交互,避免了計劃外的監控和跟蹤的可能性;
  • 豐富了交易與外界狀態的交互,比如可信數據源提供的股票信息、天氣預報等。
主站蜘蛛池模板: 英超| 连云港市| 门头沟区| 鹿泉市| 佛学| 赤壁市| 东山县| 郴州市| 鄱阳县| 高碑店市| 固镇县| 黔西县| 临汾市| 石门县| 仁化县| 西青区| 隆回县| 和田市| 抚远县| 诏安县| 延寿县| 大余县| 慈利县| 彭州市| 四川省| 天等县| 延安市| 都匀市| 崇仁县| 新巴尔虎左旗| 巴东县| 肇州县| 庆阳市| 金溪县| 灌云县| 太仓市| 龙门县| 靖宇县| 娱乐| 电白县| 中西区|