首页 理论教育 区块链的同步性:前提条件和局限性

区块链的同步性:前提条件和局限性

时间:2023-06-14 理论教育 版权反馈
【摘要】:这也带出了区块链在协议层之下的更多局限性。这是由于区块链系统中,交易数据在不同的节点上间歇完成计算步骤,这要所有节点都准备好计算所需要的之前区块和输入数据,同步性成为必要条件。

区块链的同步性:前提条件和局限性

这种不需要信任的执行环境并非不依赖任何前提而存在,区块链技术不是万能的,能够自证清白地运行是有前提的:

(1)区块链内部只能存储不需要人类形成共识的价值与协议准则。例如,比特币的支付、发行过程和存储功能均是有保障且不需要信任的;但是比特币对法币的价格即比特币的投资价值并不在系统内部,系统本身无法保障这个事情,因为它依赖于更高一层的外部人类共识,或者说信仰。

设想这样一个例子:假设您正在使用区块链来规范与供应商签订的营销合同,你要确保是目标用户亲自看到我们的广告,并通过网站点击来购买我们的产品。尽管区块链可以验证广告是否显示了那些说他们在你目标中的人,但它们所申报的其他信息都是外部的信息,区块链对于这些信息没有任何的额外信任价值。

(2)去中心化和无接入准许门槛是不需要信任环境的重中之重。相较于支付宝或微信支付的支付清算协议,比特币区块链作为一个支付系统,在不依赖任何第三方的情况下允许任意个人和组织成为节点,并且不收取任何费用。

(3)代码必须以开源的形式存储更迭于托管平台上,并且可以证明实际系统中运行的代码就是源码公开的那一份。与第二条结合在一起,这意味着彻底的去中心化,没有任何人能够凌驾于协议层之上掌控这个系统,完美诠释了“Code is law”。(www.xing528.com)

这也带出了区块链在协议层之下的更多局限性。

区块链系统内的计算如何完成、系统的输入是否协议规定、算法和执行逻辑是否可能被篡改,是区块链能够保证的部分。至于其承载的实际计算量,也就是通俗意义上的TPS或说可拓展性,比特币十年来的所有计算用一台单机就可以在一天内全部完成。为了保证去中心化的特性,区块链在物理节点所必须的分布式程度上做出了巨大牺牲,也在性能上付出了重大的代价。这是由于区块链系统中,交易数据在不同的节点上间歇完成计算步骤,这要所有节点都准备好计算所需要的之前区块和输入数据,同步性成为必要条件。在一个计算步骤完成之后,需要每一个节点都获取到最新的输出数据,并更新前后链。

不同区块链的设计方法之间有好有坏。一方面,链中的每一个节点都保存着之前的每一个微小的历史片段以及它自己的下一步流程。在这里,冗余是一把双刃剑,它不会造成威胁,除非区块链的性能变成其大规模商用的门槛。由于区块链的冗余设计,一旦它的规模超过了最初的验证步骤,那么区块链运用起来就注定是缓慢的,像乌龟一样慢。如此缓慢,有些人可能会认为它不响应,这可能会对您的业务造成成本问题。相信不会有人愿意在买一杯咖啡时等待比特币网络进行长达一个小时的转账确认。这就引出下一个问题:公众关心哪个更多一些,速度还是可信度?当今社会中,似乎当大众知道他们可以很快得到想要的东西,无论是商品还是服务,那么他们就会愿意承担风险,甚至是暴露隐私的风险——这对区块链的未来来说不是一个好兆头。

让我们用微软研究院主管研究员王嘉平博士的话来总结区块链的本来意义:“……账簿不是区块链的本质,这个系统维护的状态完全可以是账簿之外的东西,当然更可以不是数据库。这个系统不可篡改的是既定的规则(代码),以及不可篡改的初始状态(例如比特币的传世区块)。有序链式区块打包不是区块链的本质有序输出数据的方式有好多种,区块的批量打包也只是现在的系统对于性能和交易确认延迟的一个折中。世界计算机不是区块链的本质,区块链的核心诉求在于关注计算过程的可信,而不是为了获得计算的结果。这一点与为了高效将计算完成,获得结果的云计算有本质的区别。云计算无法实现向第三方证明其计算过程是可信的,区块链对于计算任务本身也无法向云计算那样的高效和低成本。总之,区块链的计算本质是一个可以和特定计算设备分离的冯·诺伊曼架构,是可以向第三方证明的可信计算范式,目的是为了计算过程真实可信,支持上层应用上实现业务逻辑的自证清白,为世界带来可以计算的信任。”

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈