张明丨Libra:概念原理、潜在影响及其与中国版数(5)
分类:经典语录 热度:

张明丨Libra:概念原理、潜在影响及其与中国版数

比特币所采用的工作量证明机制可以防止50%的节点失效,而且对所有节点一视同仁,可以直接应用在公有链上。
相比之下,LibraBFT理论上只能防止不超过1/3的节点失效,而且必须指定若干重要节点作为验证者,使得其看起来不如比特币强大。但LibraBFT在较大程度上缩短了交易的确认时间,使其可以适应现实交易需求。
此外,Libra发布初期将工作在联盟链上,各重要节点均为联盟成员提供,恶意节点出现的概率将大大降低。从实践的角度看,LibraBFT在安全性和效率方面是相比于比特币的更优选择。


3)改善的数据结构


Libra虽然自称为区块链(Blockchain),但其白皮书也明确指出在Libra中没有类似于比特币的那种区块链条的模式,而是以统一的数据库(database)形式存储。


 此处需要区分一个重要概念。虽然个人在比特币系统中可以开设账户或钱包,但其内部并没有一个专门的“账户”空间用来存储比特币资产。比特币是将创始以来的所有交易都以链状形式储存。
链上按时间顺序排列了大量节点,每一个节点是一个区块,每一个区块中储存了大量在那个时刻附近发生的交易。如果有用户需要查询自己的账户中有多少余额,对于比特币系统而言,实际的动作并非找到对应账户直接读取余额数据,而是需要遍历与该账户有关的历史交易,通过历次的交易金额来计算出当前的账户余额。该模式被称为未花费的交易输出(Unspent Transaction Output UTXO)模式。


Libra与以太坊一样,定义了账户(account)的概念,账户中存储了相关的资源和模块。如上文所述,libra货币也是以资源形式存储在账户中,从而受到Move语言的保护,不能随意复制或消除。


Libra是以账本的当前状态和历史变化的方式存储整个系统的,有点类似于可恢复到任意一个历史状态的数据库。
每当一组新数据写入数据库,就会生成一个新的历史状态。历史状态通过被称之为默克尔树(Merkle Tree)的数据结构进行组织。如图2所示,H函数代表一个哈希(Hash)函数,即对输入内容进行编码,输出一个长度始终不变的数,相当于对输入数据加密。
如果输出变化,输入必然有变化,且无法根据输出数据直接反推出输入数据。图中h4h0h1的哈希值,h5h2h3的哈希值。顶层即为默克尔树的根节点(root),图2中根节点的值是h4h5的哈希值。由此可知,默克尔树的一大优势在于只需要观察根节点即可知道整个树上各个节点的状态(例如是否经过篡改),而不必把树上所有节点重新遍历计算一遍。

上一篇:骂黑心商家的经典语录 下一篇:把“不忘初心”贯穿于学习始终
猜你喜欢
各种观点
热门排行
精彩图文