区块链本质论:计算及共识本质_BFT:区块链

区块链本质论

区块链被大家关注事件好事情,但非常不希望看到各种区块链项目盲目上马,造成各种社会资源的浪费。区块链技术本身尚在发展阶段,还有很多核心技术问题有待突破,对区块链技术本质还充斥着各种不同的理解。我们将就区块链的计算本质,技术难点,业务调整,社会影响等方面和大家分享。

(1)计算范式

区块链的本质是使冯诺依曼计算体系不再依赖特定的计算物理设施,从而使得其计算过程和相关的存储和通讯,不再为单方控制,而由各个参与者多方分时控制。这是一种全新的计算范式,区块链计算范式,所谓的不可篡改数据库,仅仅是这个内涵的一部分外延。共识算法,分布式网络是当前实现这一计算范式的重要技术手段。这些是区块链的技术本质。

瑞士国家银行主题演讲探讨比特币是否可以取代法定货币:金色财经报道,本周,瑞士国家银行举行了加密资产和金融创新会议。一场发人深省的主题演讲探讨了法定货币是否会受到挑战。如果是这样,它会被黄金、比特币、一些与通胀挂钩的代币或其他东西所取代吗? 该演讲由经济学家Lawrence H. White主讲,他是乔治梅森大学的高级研究员和卡托研究所的高级学者。在演讲中,他透露他曾与Hal Finney和Nick Szabo有过交集,有人认为他们就是比特币的创造者中本聪。[2023/6/1 11:51:28]

这是什么意思呢?之前所有信息系统,比如支付,搜索,推荐什么的,都是单一的一家企业掌握这个计算过程的全部,数据也好,计算代码也好,计算的输入/输出都被一个单一企业完全控制。如果这个计算是为了大规模的公众服务的,那么这个企业可以通过任意操纵这个计算过程,任意修改数据和状态,限定和歧视来自外部的输入,从而谋求高额利润甚至造成严重的社会问题(这类问题在搜索领域已经凸显)。同时企业也需要承担巨大的责任保护好这个信息系统的数据和计算过程,否则就会导致严重的大规模数据泄露问题(例如时常听到的拖库事件,导致几百万用户的个人数据被盗取,甚至如开房记录等)。

美参议院银行委员会召开加密货币听证会,探讨加密货币是否波及金融体系:美国参议院银行委员周二召开了一场名为“加密货币有什么好处?”的听证会,除几位议员展现积极态度外,多数议员仍有疑虑。他们主要关心两个问题:加密货币去中心化的本质到底如何,以及加密市场的系统风险会不会波及传统金融体系。参与听证会的圣玛丽大学法学院教授Angela Walch表示:通过现实镜头审视加密货币,可以看出,它并非一张神奇的脱离金融系统的自由卡。我们要承认其中的权力集中问题,并制定深思熟虑的应对政策和风险决策。Walch认为不能对加密系统集中的“权力口袋”视而不见,包括核心软件开发人员和矿工可利用他们的权力地位,对系统用户施加影响。民主党参议员Elizabeth Warren表示:金融系统受到一些在暗中不露面的超级程序员和矿工的影响。Warren还在周二去信财长耶伦,呼吁联邦机构统一制定针对加密货币的监管框架。她在信中写道:”随着对加密货币的需求不断增长,这些资产越来越深地嵌入我们的金融体系,消费者、环境及金融体系正面临越来越大的威胁。”研究和倡导组织Coin Center的执行董事Jerry Brito表示,虽然加密货币发展中的问题可能对传统金融系统造成风险,但美国不应回避加密货币,而应为对冲基金和其他市场参与方设置护栏。他认为加密货币终究是一种大宗商品,任何大宗商品都会带来类似威胁。展现积极态度的参议员包括共和党参议员Cynthia Lummis,他称开源金融的透明度和开放性有助于促进金融包容性。民主党参议员Sherrod Brown则称区块链技术也有许多有用的非金融应用。(CNBC)[2021/7/28 1:19:40]

Roger Ver将与国家元首探讨如何使比特币现金成为主权国家的官方货币:5月31日消息,Roger Ver声称,将与国家元首见面讨论如何使比特币现金成为主权国家的官方货币。 有分析师发布了来自Discord频道的帖子屏幕截图,该帖子的用户名作者为“ rogerver”。随后比特币现金联盟的subreddit / r / BTC的成员声称已确认该作者即是Roger Ver,即“比特币耶稣”(Beincrypto)[2020/5/31]

区块链计算范式,由多方来分时控制计算过程,而不是单一方

在区块链计算范式中,将是多家企业和机构,共同控制这个计算过程,这一步计算在一家公司的计算机上完成,下一步计算在另一家机构的计算机上完成。各家接力计算过程,任何一家机构,如果篡改计算逻辑,或者恶意修改数据,立刻会被下一个计算接力的公司发现,并且回滚到上一步正确的计算步骤。这个一旦预设好计算逻辑和规则,没有任何一家公司可以篡改,也没有任何一家公司可以操纵这个计算过程。

现场 | 罗林:四大方面探讨重庆区块链产业发展的机遇和挑战:11月10日下午,2019密码经济研讨会在重庆市南岸区华商国际会议中心正式开幕。重庆市渝中区大石化新区建设管理委员会党组副书记、副主任罗林出席会议并发表了《重庆区块链产业发展的机遇和挑战》为主题的演讲,罗林从区块链行业现状、区块链发展方向、重庆发展区块链的优势、重庆区块链面临挑战与思路这四个方面进行了分享。罗林表示重庆发展区块链具有生态、战略、互通、创新四大优势,但也面临人才引进培养、核心技术攻关、应用场景落地、产业基金引导、行业标准制定五大挑战。[2019/11/10]

这样做的一个核心优势是,在区块链计算范式中,当然像Google那样所谓的不作恶,将不再是个口号,而是一个可以被证明被验证的。也就是说区块链计算范式的根本优势在于:

在业务全部信息可形式化的范畴内,让这个计算系统可以自证清白。

这件事情是之前互联网技术栈无法实现的,也是未来区块链计算范式给实际业务带来的根本上的全新技术支撑。正因为这个技术支撑,比特币得以实现,没有任何人可以操纵比特币系统既定的发行规则和转账规则,虽然这个网络允许任何人以匿名方式参与其接力计算过程,即出块。我们通常说的不可篡改数据库也源于这个技术支撑,我们一开始约定了数据不可篡改,只可追加,在区块链的计算范式下,这个约定就能被严格执行,不会被人为操纵。这里真正的挑战并不是设立不可篡改这个规则,而是如何让这个规则被严格执行,这一点是区块链的核心能力。

航天科工联手吉利集团 探讨汽车区块链技术应用可能性:6月8日,中国航天科工集团有限公司董事长高红卫会见了浙江吉利控股集团董事长李书福一行。会见中,双方决定尽快成立对接工作组,把在高速飞行列车、工业互联网应用等方面的合作提上日程,同时还就汽车无人驾驶系统、车载芯片、汽车区块链技术应用、车联网等方面合作的可能性进行了探讨,希望未来能进一步拓宽合作领域,互惠共赢。[2018/6/11]

(2)共识机制

提到区块链,Consensus是其中最为大家关注的一个新概念,被翻译成共识机制,或共识算法,或共识协议。这个东西到底是干嘛的呢?共识机制本质是一个解决方案,当一个分布式系统里面出现不一致的情况时,我们如何最终裁定一个唯一的大家公认的结果,消解这个不一致性。注意了,这里共识仅仅指分布式系统里面的一个算法方案,和我们通常意义上的舆论呀,社会认同呀,组织关系呀什么的,毫无关系,就像是雷锋和雷锋塔一样。别被忽悠了…

为什么区块链会需要共识机制呢,究其根本,源自于区块链的计算本质。

因为在区块链系统中,计算是通过全网各方接力完成的,在去中心化的区块链网络中,并没有一个总指挥来分派这个接力过程,那么即使没有恶意攻击,也难免会发生己方争抢接力的情况,从而导致整个系统中出现多个不一致的接力结果。而共识机制所起的作用,就是在这个时候最终认定,哪个结果该留下来,后面按这个接着走;哪个结果会被抛弃。

对于这个问题,很早在分布式系统领域,为了解决容错问题,早有答案,并被归纳为一个叫做拜占庭将军问题(TheByzantineGeneralsProblem),其对应的有效解决方案成为拜占庭容错(ByzantineFaultTolerance),就是经常听到的BFT。早在2007年,这个问题就有了高效的算法(PBFT),但是为什么2008年末,中本聪发表的比特币系统设计方案中却采用了完全不同的设计,而没有采用BFT类的算法呢?

我们先看看容错是什么?假设有100个传感器,在观测比如机器是否正常运转。那么如果有一部分的传感器坏了,给出了不正确的观测值,我们该如何最终推断正确的观测结果呢?这个就是容错。当然,逻辑上的解法正如你现在直接想到的,少数服从多数,事实上也确实如此简单。当然实际的算法中要互相传递和迭代最终认定的结果(基于数字签名),要限制结果认定的时间期限(所谓的epoch),要处理多数不够多的情况等。

从上面的例子可以看到,在BFT中,少数服从多数的这个数,来自于多少个共识的参与者。这个参与者的总是必须是预先设定好的。这意味着谁是参与者,得有个预先协商和设定的过程,在区块链系统中,有个叫法,叫做联盟链或者许可链(permissioningblockchainsystem)。这就是为什么叫做拜占庭将军问题,因为你得先是一个将军,那么问题来了,谁来批准你成为一个将军呢?

这就是比特币系统一开始不采用BFT算法的本质原因。在比特币系统中,并没有一个参与者的批准过程,任何人都可以直接参与这个共识过程,即所谓的公链或者叫无需许可链(permissionlessblockchainsystem)。这是,我们如何利用少数服从多数呢?我们连总共有多少个参与者都不知道。这个部分就是比特币系统设计最耀眼的部分。很多人不明白这件事情,就觉得比特币系统好像就是一堆现有技术的堆砌,没什么技术含量。

在比特币系统中,少数服从多数的这个数,不再是多少个共识的参与者,而是一次次的哈希部分碰撞的计算结果。然后结合最长链规则来形成共识,即所谓的工作量证明(Proof-of-Work)。从这里大家可以看到,工作量证明方案解了一个比拜占庭将军问题更难更挑战的问题,就是在参与者集合未知的情况下,实现共识的一致性。当然算法具体实现还有不少细节,工作量证明的难度调整呀,一致性后置的最长链原则,以及后面被改进的最重子树的原则等。

接着有了所谓的资产证明(Proof-of-Stake)共识系统,利用资产的数量来定义这个少数服从多数的这个数。利用资产的数量先行定义BFT共识算法中所需要的这个预设的参与者集合。这样,也可以实现无需许可链。也是一个不错的办法,只是,一开始初始的资产从何而来呢?

最后提一句性能,也就是吞吐量的事儿。很长一段时间大家以为吞吐量由共识算法决定,然后事实上并不是这样。上面提到的集中共识算法,都可以设定任意地块大小和出块间隔,来现实需要的吞吐量和块确认延迟。只要,整个底层网络有足够的带宽。

下一篇,我们会着重聊聊这个事情。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:0ms0-3:283ms