章泰 彭博韜 梁盛源
摘要:基于有向無環(huán)圖(DAG)的IOTA是一個為物聯(lián)網(wǎng)而生的區(qū)塊鏈項目,和傳統(tǒng)的比特幣區(qū)塊鏈等有著較大的不同之處。它是具有輕便性、可擴展性的、無區(qū)塊的分布式賬本。本文首先介紹了區(qū)塊鏈的發(fā)展,并在底層結(jié)構(gòu)、共識算法等方面和傳統(tǒng)區(qū)塊鏈項目進行了對比、分析。最后結(jié)合物聯(lián)網(wǎng)的節(jié)點數(shù)量龐大、節(jié)點資源受限、微交易多等特性,總結(jié)了IOTA的工作機制在物聯(lián)網(wǎng)中的優(yōu)勢。
關(guān)鍵詞:區(qū)塊鏈;物聯(lián)網(wǎng);IOTA;有向無環(huán)圖;
前言:
近些年來物聯(lián)網(wǎng)設(shè)備呈爆發(fā)式增長,在2018年物聯(lián)網(wǎng)設(shè)備連接總數(shù)已達70億[1],而隨著設(shè)備的增多必將產(chǎn)生大量數(shù)據(jù)和信息,不同的物聯(lián)網(wǎng)供應(yīng)商也將有可能掌握用戶更多的數(shù)據(jù),從而引發(fā)數(shù)據(jù)篡改、數(shù)據(jù)泄漏等安全問題[2]。區(qū)塊鏈?zhǔn)且粋€自帶信任機制的,去中心化、不可篡改、可追溯、多方共同維護的分布式記錄系統(tǒng)。
1 區(qū)塊鏈的發(fā)展
從2008年中本聰首次提出區(qū)塊鏈,到2009年第一個區(qū)塊誕生,也被稱為“創(chuàng)世區(qū)塊”。2012年,瑞波幣協(xié)議系統(tǒng)發(fā)布,在去中心化基礎(chǔ)之上,創(chuàng)造了無需信任基礎(chǔ)的支付、清算系統(tǒng)。
為了推動物聯(lián)網(wǎng)和終端設(shè)備的未來經(jīng)濟,IOTA的創(chuàng)始人于2015年提出了基于有向無環(huán)圖(Directed Acyclic GraphD,DAG)的Tangle體系結(jié)構(gòu)。IOTA是為物聯(lián)網(wǎng)而生新型小額支付加密貨幣,以期構(gòu)造一個標(biāo)準(zhǔn)化的能夠承載一切的無區(qū)塊分布式賬本,并解決區(qū)塊鏈的效率問題。目前IOTA已運用在終端支付、全球貿(mào)易及供應(yīng)鏈、工業(yè)物聯(lián)網(wǎng)、智能穿戴和智能能源方面。
2 底層結(jié)構(gòu)
無論IOTA還是傳統(tǒng)區(qū)塊鏈,都是以分布式數(shù)據(jù)庫為基礎(chǔ)。物聯(lián)網(wǎng)中節(jié)點資源有限,賬本結(jié)構(gòu)在很大程度上決定了終端能否參與進來。本節(jié)介紹并對比了傳統(tǒng)區(qū)塊鏈和Tangle中的底層數(shù)據(jù)結(jié)構(gòu)。
2.1區(qū)塊鏈中的區(qū)塊
在比特幣中,所有節(jié)點共同維護著一份相同的鏈?zhǔn)浇Y(jié)構(gòu)副本。這條鏈上的每個組成單元就是一個區(qū)塊,每個區(qū)塊都有屬于自己哈希值,并且通過哈希指針指向前一個區(qū)塊,創(chuàng)世區(qū)塊的前一個哈希指針為全零,區(qū)塊依照時間順序連接在這條鏈上,形成區(qū)塊鏈。
每個區(qū)塊由區(qū)塊頭和區(qū)塊體組成,區(qū)塊體記錄了該區(qū)塊中每份交易的數(shù)據(jù),區(qū)塊頭存放了該區(qū)塊的信息,包括Merkle根[3]、前塊哈希、本塊哈希、時間戳等數(shù)據(jù)。Merkle根由區(qū)塊體中的所有交易的哈希所得,并用來進行支付驗證[4]。前塊哈希和本塊哈希是鏈接區(qū)塊的關(guān)鍵。
2.2Tangle中的交易
IOTA從嚴格意義上來說并不能被稱之為“區(qū)塊鏈”,因為它并沒有采用傳統(tǒng)區(qū)塊鏈中的鏈?zhǔn)浇Y(jié)構(gòu),它既沒有區(qū)塊也沒有鏈。其賬本結(jié)構(gòu)是基于DAG設(shè)計而成的網(wǎng)狀結(jié)構(gòu),這種結(jié)構(gòu)被稱之為Tangle。
在區(qū)塊鏈中,賬本結(jié)構(gòu)的打包單元是區(qū)塊,各個區(qū)塊依靠哈希連接成鏈。而在Tangle中,打包傳播的單位就是交易。每當(dāng)一筆新的交易產(chǎn)生,它必須驗證在它之前的兩筆交易,這些驗證關(guān)系就將各個交易連接起來,就構(gòu)成DAG中了的邊[5]。區(qū)塊鏈與Tangle的底層結(jié)構(gòu)對比如表1所示。
3共識機制
在區(qū)塊鏈網(wǎng)絡(luò)中,節(jié)點之間互不了解、互不信任。分布式記賬的本質(zhì)是并行異步操作,而物聯(lián)網(wǎng)中節(jié)點數(shù)量龐大,面臨的最大的問題之一就是如何使所有節(jié)點都信任任意節(jié)點打包出的賬本,并使得所有節(jié)點對外呈現(xiàn)一致的信息。本節(jié)介紹了傳統(tǒng)區(qū)塊鏈的工作量證明(Proof of Works,PoW)機制和Tangle的交易驗證機制。
3.1區(qū)塊鏈中的共識機制
區(qū)塊鏈雖是去中心的分布式系統(tǒng),但使用了串行記錄,即所有區(qū)塊都只能按照出塊時間依次同步寫入最長主鏈。
網(wǎng)絡(luò)中的礦工,經(jīng)過約10分鐘解決SHA256運算復(fù)雜但容易驗證的計算難題[4],取得打包區(qū)塊的權(quán)力和獎勵,并將該塊進行全網(wǎng)廣播。其他節(jié)點收到該新區(qū)塊后,首先驗證區(qū)塊體中的交易和區(qū)塊頭中的SHA256計算,如果正確才會將該區(qū)塊加入到本地區(qū)塊鏈。
由于賬本作弊無法通過驗證,而若要篡改某一區(qū)塊,則必須重新計算該區(qū)塊及其后每個區(qū)塊的SHA256難題,并且其計算速度必須超過主鏈,完成這個過程至少需要全網(wǎng)51%算力[6]。PoW將獎勵機制和共識機制相融合,使得作弊收益遠小于誠實記賬的收益,增強了挖礦節(jié)點的誠信度。這也就保證了賬本數(shù)據(jù)的可靠性。
3.2Tangle中的共識機制
由交易單元組成的DAG,采用了并行記賬,這更符合物聯(lián)網(wǎng)設(shè)備的多微交易特性。由于它的共識機制,并行記賬也保持了賬本一致性。
Tangle中的交易存在三種狀態(tài):已成熟的可信交易、已確認但未成熟不可信的和還未被確認的尖端交易。如果要向Tangle中加入一筆新的交易,就必須執(zhí)行Markov chain Monte Carlo(MCMC)算法選擇和驗證兩筆尖端交易,同時也間接驗證了所選尖端交易的父輩交易。這些驗證關(guān)系就組成了DAG的邊。交易是否成熟可信,取決于被確認次數(shù)與執(zhí)行MCMC算法次數(shù)之比。當(dāng)交易可信度達到閾值時,所有節(jié)點都可以信任這筆交易。并且用戶在離線狀態(tài)下,也能夠繼續(xù)產(chǎn)生交易,而雙花問題的解決不在本文論述范圍內(nèi),IOTA白皮書給出了詳細的解答[5]。
Tangle中不存在挖礦和礦工,無需礦工來傳遞新信任,也不需要支付交易手續(xù)費,共識和交易的生成是相結(jié)合的。這能夠很好的與物聯(lián)網(wǎng)中微交易多的特性相匹配。
PoW所保證的一致性和可靠性,其本質(zhì)是消耗電力犧牲性能,降低吞吐量。這與物聯(lián)網(wǎng)的低功耗相悖,10min的出塊速度也違背了物聯(lián)網(wǎng)的及時交互性。比特幣區(qū)塊鏈和Tangle的共識機制對比如表2所示。
4 結(jié)束語
本文通過對比發(fā)現(xiàn),傳統(tǒng)區(qū)塊鏈的效率、確定性、中心化和能耗問題在IOTA中都得到了良好的改善。在物聯(lián)網(wǎng)的節(jié)點數(shù)量龐大、節(jié)點資源受限、微交易多等諸多特性下,IOTA的并行記錄、高效出塊、離線記賬和無交易手續(xù)費等特點,比傳統(tǒng)區(qū)塊鏈更適合于物聯(lián)網(wǎng)中點對點的機器交易。
參考文獻:
[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年物聯(lián)網(wǎng)發(fā)展趨勢[J].物聯(lián)網(wǎng)技術(shù),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]邵奇峰,金澈清,張召,等.區(qū)塊鏈技術(shù):架構(gòu)及進展[J].計算機學(xué)報,2018,41(05):969-988.