请选择 进入手机版 | 继续访问电脑版
开启辅助访问
链路首页链路财经目前收录 币种 : 4908 交易所 : 310钱包 : 17 24H 交易量 : $43,403,137,051 总市值 : $245,388,183,835
2019
07/13
21:39
分享
评论

  • 本文转载自“格密链”

    原文作者:陈智罡博士

    点击阅读原文可跳转至原文链接


    平行区块链将持续关注Libra系列解读文章,敬请关注!


    整个技术论文分为10部分:


    1 Introduction--引言

    2 Logical Data Model--逻辑数据模型

    3 Executing Transactions--交易的执行

    4 Authenticated Data Structures and Storage--可认证的数据结构和存储

    5 Byzantine Fault Tolerant Consensus--拜占庭容错共识

    6 Networking--网络

    7 Libra Core Implementation-- Libra 内核实现

    8 Performance--性能

    9 Implementing Libra Ecosystem Policies with Move--使用Move实现Libra生态系统规则

    10 What's Next for Libra?-- Libra发展规划

    我们开始分析第3节。很多人看完我们的分析文章后问:为什么能把这篇论文的本质分析的这么清楚。


    这个问题只有一个答案,如果你对区块链的本质很清楚的话,所有后续的方案全是“换汤不换药”。


    那么如何搞清区块链技术的本质呢?


    我想如果把比特币的白皮书理解的非常透彻的话,你已经理解了区块链的本质。可以参考我们以前公众号的文章:解读比特币白皮书


    说实在的,比特币的技术要比Libra技术有趣得多。比特币是一个公链,完全没有中心,全要靠各方博弈最后形成共识,有很多很有趣的数字,例如:每隔10分钟出一个块,每6个块确认后就认可该交易等等。在Libra中你几乎看不到这样的数字。因为它更像是一个数据库,操作规范而单一。


    言归正传,分析第3节。


    本节第一话就开宗明义的指出:在Libra协议中,改变区块链状态的唯一方式就是执行交易。千万别忘了Libra是一个支付系统,是基于区块链的支付系统,所有的内容都是围绕着这个主题在转


    本节概括了交易的执行条件,定义了交易的结构,解释了Move虚拟机如何执行一个交易,描述了Move 语言的核心概念。


    在Libra 协议的最初版本里,只对用户提供了很小一部分Move语言功能。事实上,Move语言通常用来定义系统的核心概念,例如Libra币。用户是不允许发布模块来声明自己的资源类型。这种设计理念让Move语言在构建Libra 核心系统中逐步成熟,而且也回避了在智能合约中,执行交易与数据存储所带来的扩展性问题的挑战。


    可见,在Libra 系统构建中,采用的是逐步求精的原则,尽量简单实用,不断进化。采取的很务实的态度。


    至于Move语言的全部功能特性,将在第10节展开描述。如果你着急知道,可以跳到第10节,不过是英文的。


    由于最近比较忙,我会坚持更新。写作和跑步对于我来说,都是一种放松和愉悦。

    3.1
    交易执行之前的规则制定

    比特币里有创世块的概念,即区块链中第一个块(称为创世块)是如何形成的呢?在Libra 系统中,系统一开始就设置好了创世状态,所有验证者默认即可,非常方便。


    在Libra创世状态里,通过“模块”定义了系统的核心对象,例如:账户间的逻辑关系、交易验证、验证者的选择、Libra币等。在Libra创世状态中,必须考虑周全,例如至少有一个账户,能够支付得起第一笔交易产生的费用;必须要有一些验证者,能够对交易的认证进行签名确认。


    账本的初始状态是什么?创世状态如何产生呢?注意,初始状态是系统原始状态,而创世状态是系统开始第一笔交易的状态,也就是启动系统的状态。


    为了简化设计,系统的初始状态通过“空状态”表示。而创世状态是通过一个特殊的交易T0所创建,并且定义了所需要的模块与资源。注意,这里并没有通过正常的交易过程来建立创世状态,系统直接默认的设置执行特殊交易T0。因此,客户和验证者也被设置为只接受T0开始的账本记录,可以通过密码学的哈希技术标识T0的开始。


    值得注意的是像T0 这样的特殊交易,只能通过设置的方式加入账本记录,而不能通过正常的共识算法加入账本记录。


    这种方式的好处是处理简单,例如通过设置一个特殊交易来定义分叉的开始。像客户也可以设置一个特殊交易对模块和资源进行改变。这种特殊交易的执行都是在正常交易执行之外进行的,增加了系统对特殊事件的响应处理能力。当然,中心化的色彩就很浓了。不过,凡事都通过共识来完成,效率也太低。


    ●确定性


    交易的执行具有确定性和封闭性。这意味着交易的输出结果完全是可以预计的,仅依赖于交易包含的信息和账本的当前状态。而且交易的执行不受外部的影响。


    对于相同的交易序列号,确定性和封闭性使得不同验证者产生相同的验证结果。所以从创世块开始执行交易,一直到当前账本状态,可以重复获得相同的区块链的交易历史记录。


    ●可度量的


    为了管理对计算资源的需求,Libra协议对每一笔交易收取交易费,通过Libra 币支付该费用。该方法遵循了以太坊的Gas理念。


    在Libra系统中,选择具有充分计算资源的验证者,以满足Libra系统的正常运行。收取交易费用的唯一目的,是为了当资源需求超过系统所能提供的资源时,降低系统资源的需求量,从而保证系统正常的运行。


    系统正常运行时,对于正常的操作只收取较低的费用。这与目前一些区块链的思路不同,有些区块链选取不具有充分计算资源的验证者。当资源需求变高的时候,交易费急剧增加,对于验证者能得到可观的回报,但是对于客户就是成本。


    一笔交易的执行是以消耗的Gas成本来表示所消耗的计算资源的多少,该成本是动态的,因每个用户而不同。验证者会优先选择价格更高的交易执行,当系统繁忙时可能会漏掉价格低的交易。


    交易中包含一个Gas的最大值,该值说明了在某个具体Gas价格下,发送者愿意支付的最大数量Gas。


    在交易执行期间,虚拟机会跟踪Gas使用数量。如果在执行完成前,最大Gas数量用完,则虚拟机立刻终止。该交易不会对当前账本状态有任何影响,但是交易任然会出现在交易历史中,并且会对发送者收取交易费。


    在这节我们看到,区块链中的核心逻辑的许多部分都是使用Move进行定义的,包括Gas费的扣除。为了避免循环扣除费用,虚拟机禁止在核心组件执行期间对扣Gas费。这些核心组件都是在创世状态下定义的,而且具有写保护以防止恶意交易触发的高额交易费用的代码执行。执行核心组件的费用将包含在后面对交易的收费中,是一项基础费用。


    ●资产语义


    账本状态直接通过现实世界的数值对数字资产进行编码。交易执行中必须保证Libra币不能够被复制、丢失以及非授权转移。Libra协议只用Move虚拟机来实现交易和客户资产具有这些安全属性。

    3.2
    交易的结构


    一个交易是通过数字签名认证的信息,其内容如下:


    发送者的地址:就是交易发送者的账户地址。虚拟机通过存储在发送者地址下的LibraAccount.T资源,来读取序列号、认证公钥、余额等内容。


    发送者的公钥:该公钥对应于该交易数字签名所使用的私钥。公钥的哈希值与存储在LibraAccount.T资源中的认证公钥相匹配。


    程序:包括用于执行交易脚本的Move字节编码,脚本所需的输入参数列表,所需发布的Move字节编码模块列表。


    Gas价格:执行交易是需要掏钱的,和我们用的银行转账不一样。为了执行交易,发送者需要给出愿意支付每一Gas单元的Libra币数量。


    Gas数量的最大值:执行交易允许被消耗的最大Gas数量值。


    序列号:是一个无符号型整数,与在发送者在LibraAccount.T resource下的序列号相同。交易执行完后,序列号加1。由于每个交易有唯一一个序列号,所以不能重复交易。

    未完待续
    往期精彩


    去中心化AI:梦想者与实用主义者

    比特币经济学:作为全球结算网络

    Libra负责人致美国参议院信件全文:接受反洗钱监督和政府监管

    Libra区块链论文解析5-数据逻辑模型-part 2

    国际监管形势复杂,或成Libra最大挑战

    物联网中的Mimblewimble

    Cosmos 和Polkadot:区块链的互操作性

    分布式存储区块链系统:人类未来的数据基础设施?

    「环球时报」英文版:数字货币时代 中国不能缺席

    Libra区块链论文解析4-数据逻辑模型-part 1

    Libra区块链论文解析3-引言-part 2

    Libra区块链论文解析2-引言-part 1

    Libra区块链论文解析1-摘要

    基于区块链和通证经济的跨国跨洲电力市场机制设计

    房间里的大象:脸书币会是加密货币的转折点吗?

    区块链是新社会秩序的基础

    《纽约时报》:Facebook想要建立的是基于加密货币的全球金融体系

    《经济学人》:Facebook 的 Libra 项目预示着一场消费革命

    并不总是黑客的锅:加密货币交易所大劫案完全清单

    Facebook加密项目Libra指日可待?需跨越3座大山

    周子涵:区块链正经历拐点 或诞生比肩互联网巨头的公司

    Facebook稳定币Libra:对比特币和以太坊有什么影响?

    困局、求变、统治,揭露 Facebook 发币心路历程

    解读Facebook加密稳定币Libra,看这一篇就够了

    解读 | 《2019亚洲区块链产业报告》发布

    Facebook 数字货币:缘起、意义和后果(万字长文)

    以太坊外无Defi?EOS:我有

    Uber、Visa要和Facebook一起发币了

    比特币:没有商品价值,为何天然适合价值存储?

    区块链将为汽车行业带来哪些价值和变革?

    Echoin:如何用区块链改造我们的能源体系?

    能源系统通证经济学:概念、功能与应用

    区块链技术在金融领域的应用与思考

    通证化到底是如何运作的?

    零售区块链:用例和潜在应用

    不牺牲安全下的分片扩展


    扫描上方二维码,关注公众号“平行区块链”,获取更多精彩内容!

主题帖 279 关注 0 粉丝 0
情感指数

链路大数据分析置信度 88.9 %

TA的主题帖
主题相关
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表