论文部分内容阅读
摘要:基于有向无环图(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.
关键词:区块链;物联网;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.