章泰 彭博韜 梁盛源


摘要:基于有向無環圖(DAG)的IOTA是一個為物聯網而生的區塊鏈項目,和傳統的比特幣區塊鏈等有著較大的不同之處。它是具有輕便性、可擴展性的、無區塊的分布式賬本。本文首先介紹了區塊鏈的發展,并在底層結構、共識算法等方面和傳統區塊鏈項目進行了對比、分析。最后結合物聯網的節點數量龐大、節點資源受限、微交易多等特性,總結了IOTA的工作機制在物聯網中的優勢。
關鍵詞:區塊鏈;物聯網;IOTA;有向無環圖;
前言:
近些年來物聯網設備呈爆發式增長,在2018年物聯網設備連接總數已達70億[1],而隨著設備的增多必將產生大量數據和信息,不同的物聯網供應商也將有可能掌握用戶更多的數據,從而引發數據篡改、數據泄漏等安全問題[2]。區塊鏈是一個自帶信任機制的,去中心化、不可篡改、可追溯、多方共同維護的分布式記錄系統。
1 區塊鏈的發展
從2008年中本聰首次提出區塊鏈,到2009年第一個區塊誕生,也被稱為“創世區塊”。2012年,瑞波幣協議系統發布,在去中心化基礎之上,創造了無需信任基礎的支付、清算系統。
為了推動物聯網和終端設備的未來經濟,IOTA的創始人于2015年提出了基于有向無環圖(Directed Acyclic GraphD,DAG)的Tangle體系結構。IOTA是為物聯網而生新型小額支付加密貨幣,以期構造一個標準化的能夠承載一切的無區塊分布式賬本,并解決區塊鏈的效率問題。目前IOTA已運用在終端支付、全球貿易及供應鏈、工業物聯網、智能穿戴和智能能源方面。
2 底層結構
無論IOTA還是傳統區塊鏈,都是以分布式數據庫為基礎。物聯網中節點資源有限,賬本結構在很大程度上決定了終端能否參與進來。本節介紹并對比了傳統區塊鏈和Tangle中的底層數據結構。
2.1區塊鏈中的區塊
在比特幣中,所有節點共同維護著一份相同的鏈式結構副本。這條鏈上的每個組成單元就是一個區塊,每個區塊都有屬于自己哈希值,并且通過哈希指針指向前一個區塊,創世區塊的前一個哈希指針為全零,區塊依照時間順序連接在這條鏈上,形成區塊鏈。
每個區塊由區塊頭和區塊體組成,區塊體記錄了該區塊中每份交易的數據,區塊頭存放了該區塊的信息,包括Merkle根[3]、前塊哈希、本塊哈希、時間戳等數據。Merkle根由區塊體中的所有交易的哈希所得,并用來進行支付驗證[4]。前塊哈希和本塊哈希是鏈接區塊的關鍵。
2.2Tangle中的交易
IOTA從嚴格意義上來說并不能被稱之為“區塊鏈”,因為它并沒有采用傳統區塊鏈中的鏈式結構,它既沒有區塊也沒有鏈。其賬本結構是基于DAG設計而成的網狀結構,這種結構被稱之為Tangle。
在區塊鏈中,賬本結構的打包單元是區塊,各個區塊依靠哈希連接成鏈。而在Tangle中,打包傳播的單位就是交易。每當一筆新的交易產生,它必須驗證在它之前的兩筆交易,這些驗證關系就將各個交易連接起來,就構成DAG中了的邊[5]。區塊鏈與Tangle的底層結構對比如表1所示。
3共識機制
在區塊鏈網絡中,節點之間互不了解、互不信任。分布式記賬的本質是并行異步操作,而物聯網中節點數量龐大,面臨的最大的問題之一就是如何使所有節點都信任任意節點打包出的賬本,并使得所有節點對外呈現一致的信息。本節介紹了傳統區塊鏈的工作量證明(Proof of Works,PoW)機制和Tangle的交易驗證機制。
3.1區塊鏈中的共識機制
區塊鏈雖是去中心的分布式系統,但使用了串行記錄,即所有區塊都只能按照出塊時間依次同步寫入最長主鏈。
網絡中的礦工,經過約10分鐘解決SHA256運算復雜但容易驗證的計算難題[4],取得打包區塊的權力和獎勵,并將該塊進行全網廣播。其他節點收到該新區塊后,首先驗證區塊體中的交易和區塊頭中的SHA256計算,如果正確才會將該區塊加入到本地區塊鏈。
由于賬本作弊無法通過驗證,而若要篡改某一區塊,則必須重新計算該區塊及其后每個區塊的SHA256難題,并且其計算速度必須超過主鏈,完成這個過程至少需要全網51%算力[6]。PoW將獎勵機制和共識機制相融合,使得作弊收益遠小于誠實記賬的收益,增強了挖礦節點的誠信度。這也就保證了賬本數據的可靠性。
3.2Tangle中的共識機制
由交易單元組成的DAG,采用了并行記賬,這更符合物聯網設備的多微交易特性。由于它的共識機制,并行記賬也保持了賬本一致性。
Tangle中的交易存在三種狀態:已成熟的可信交易、已確認但未成熟不可信的和還未被確認的尖端交易。如果要向Tangle中加入一筆新的交易,就必須執行Markov chain Monte Carlo(MCMC)算法選擇和驗證兩筆尖端交易,同時也間接驗證了所選尖端交易的父輩交易。這些驗證關系就組成了DAG的邊。交易是否成熟可信,取決于被確認次數與執行MCMC算法次數之比。當交易可信度達到閾值時,所有節點都可以信任這筆交易。并且用戶在離線狀態下,也能夠繼續產生交易,而雙花問題的解決不在本文論述范圍內,IOTA白皮書給出了詳細的解答[5]。
Tangle中不存在挖礦和礦工,無需礦工來傳遞新信任,也不需要支付交易手續費,共識和交易的生成是相結合的。這能夠很好的與物聯網中微交易多的特性相匹配。
PoW所保證的一致性和可靠性,其本質是消耗電力犧牲性能,降低吞吐量。這與物聯網的低功耗相悖,10min的出塊速度也違背了物聯網的及時交互性。比特幣區塊鏈和Tangle的共識機制對比如表2所示。
4 結束語
本文通過對比發現,傳統區塊鏈的效率、確定性、中心化和能耗問題在IOTA中都得到了良好的改善。在物聯網的節點數量龐大、節點資源受限、微交易多等諸多特性下,IOTA的并行記錄、高效出塊、離線記賬和無交易手續費等特點,比傳統區塊鏈更適合于物聯網中點對點的機器交易。
參考文獻:
[1]Knud Lasse Lueth.State of the IoT 2018: Number of IoT devices now at 7B–Market accelerating [EB/OL].(2018-8-8)[2019-3-3].https://iot-analytics.com/state-of-the-iot-update
-q1-q2-2018-number-of-iot-devices-now-7b/
[2]張冬楊.2019年物聯網發展趨勢[J].物聯網技術,2019,9(02):5-6.
[3]R.C. Merkle, "Protocols for public key cryptosystems," In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133, April 1980.
[4]Satoshi Nakamoto.Bitcoin: A Peer-to-Peer Electronic Cash System [EB/OL].(2008-11-1)[2019-3-3]. https://bitcoin.org/bitcoin.pdf
[5]Serguei Popov.The Tangle [EB/OL].(2018-4-30)[2019-3-3].https://assets.ctfassets.net/r1dr6vzfxhev/2t4uxvsIqk0EUau6g2sw0g/45eae33637ca92f85dd9f4a3a218e1ec/iota1_4_3.pdf
[6]邵奇峰,金澈清,張召,等.區塊鏈技術:架構及進展[J].計算機學報,2018,41(05):969-988.