网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > imtoken

央行发布工作论文:区块链能做什么、不能做什(3)

第一,机器共识。机器共识属于分布式计算领域的问题,目标是在存在各种差错、恶意攻击以及可能不同步的对等式网络中(peer-to-peernetwork),并且在没有中央协调的情况下,确保分布式账本在不同网络节点上的备份文本是一致的(不是语义一致)。

对等式网络的节点(特别是负责生成和验证区块的节点)有诚实节点和恶意节点之分。诚实节点遵守预先定义的算法规则(主要是共识算法),能完美地发送和接收消息,但其行为完全是机械性的。恶意用户可以任意偏离算法规则。在一定限制条件下(比如比特币要求50%以上算力由诚实节点掌握),算法规则保证了机器共识的可行性、稳定性和安全性。机器共识的范围限于区块链内与Token的状态和交易等有关的信息。

第二,治理共识,指在群体治理中,群体成员发展并同意某一个对群体最有利的决策。比如,比特币社区关于“扩容”和分叉的讨论可以在治理共识框架下理解。治理共识的要素包括:1.不同的利益群体;2.一定治理结构和议事规则;3.相互冲突的利益或意见之间的调和折衷;4.对成员有普遍约束的群体决策。袁勇等(2018)指出,治理共识涉及人的主观价值判断,处理的是主观的多值共识,治理共识的参与者通过群体间协调和协作过程收敛到唯一意见,而此过程如果不收敛,就意味着治理共识的失败。

第三,市场共识。Token参与交易时(不管是不同Token之间交易,还是Token与区块链外资产或权利交易),就涉及市场共识。市场共识体现在市场交易形成的均衡价格中。

三类共识之间存在紧密而复杂的关系。机器共识是对等式网络的节点运行算法规则的产物,治理共识反映由人(包括网络节点的拥有者或控制着)来制定或修改算法规则的过程。市场共识受机器共识和治理共识的影响。比如,如果分布式账本的安全性没有保障(即机器共识失效),比特币的市场价格将受到毁灭性冲击。再比如,2017年比特币社区对“SegWit2x”的讨论(即引入隔离见证并将单个区块的大小从1M提升到2M),对当时比特币价格走势有明显的影响,就体现了治理共识对算法共识的影响。下文如无特别说明,讨论的均是机器共识。

2.去信任含义的辨析

去信任源于Token被交易时,Token的状态变更和交易确认同步发生这一安排。设想Alice以比特币向Bob买入某一货物。Alice向Bob支付比特币这一过程无需两人之间有任何了解,也无需受信任的第三方机构,就可以在区块链内有保障地进行。这是去信任的真正含义。但在交易的另一端,Alice如何确保Bob会按时向她交付合格的货物?只要做不到一手交比特币、一手交货,就存在不容忽视的交易对手信用风险。只有准确识别、评估信用风险并引入风险防范措施,很多交易才能进行。比如,在暗网交易中,交易平台通常设立第三方托管账户(escrowaccount)。买方先将比特币打入第三方托管账户,等收到商品并确认后,才通知交易平台将比特币转给卖方。如果没有第三方托管账目这个增信手段,比特币忠实拥趸之间的交易也会大幅减少。

因此,区块链内的去信任环境,不能简单外推到区块链外。一旦脱离Token交易等原生场景,区块链要解决现实中的信任问题,往往需要引入区块链外的可信中心机制予以辅助。

(三)智能合约的功能

智能合约是运行在区块链内、主要对Token进行复杂操作的计算机代码。目前区块链内有限的运行环境,使得这类代码远没达到智能阶段。甚至可以说,目前的智能合约,既不智能,也不是合约。这一小节针对“在一定触发条件下从A地址往B地址转X数量的Token”这一基本操作总结智能合约的功能。

第一,产权层面的功能。A地址和B地址可以属于账户或智能合约。地址中的Token具有产权含义。比如,如果A地址属于发行地址,那就对应着Token的产生(一级市场);如果B地址属于销毁地址(即类似0x0000..0000的不对应着私钥的特殊地址),那就对应着Token的销毁;两个地址之间的Token转移,就对应着产权变更。

第二,流程层面的功能。一笔Token转让要有效,转让发起者必须拥有对A地址中X数量的Token的操作权限,并且智能合约的触发条件被满足。发起者将转让信息传播到分布式网络后,其他节点验证发起者是否拥有A地址的操作权限、触发条件是否被满足以及A地址中的Token数量是否超过X。其中,对A地址的操作权限体现为相关签名操作(往往涉及多重签名),触发条件取决于区块链内外信息(其中区块链外信息需先写入区块链内),转让数量X既可以由人工来决定,也可以由公式来决定,从而实现或有支付(contingentpayment)或比较复杂的偿付结构(payoffstructure)。智能合约的执行只有“成功”、“失败”两种情形,不存在中间情形。特别是,如果转让发起者不能确保A地址中的Token数量超过X,智能合约的执行就会失败。

(责任编辑:admin)