比特币采用的区块链共识机制是什么意思

分类专栏: 文章标签:

版权声明:本文为博主原创文章遵循

版权协议,转载请附上原文出处链接和本声明

经常有人说比特币是“挖”出来的,而且需要用“矿机”来挖那这究竟这是什么意思呢?

区块链的共识机制是一个伟大的技术创新填补了计算机专业领域的一个空白。如果中本聪愿意发表学术论文的话这应该也是21世纪以来最重要的学术论文之一。”

一席話点出康烁是区块链忠实“believer”(信众)的身份康烁是清华大学区块链中心高级工程师、柏链道捷 CTO。

康烁神似段奕宏因而常开玩笑自比為“计算机网红”,这是他幽默的一面;与此同时他也恪守技术人的严谨性,推崇知识的普世传播:

“我愿意把自己对区块链共识的如滔滔江水般的无限景仰统统分享给大家。”他在 DOGi 社群的分享会开宗明义

此次分享会围绕区块链共识机制展开。这是区块链的核心概念の一但普通人并不关心这样的议题,技术理论的话术体系容易造成隔阂

如何突破行业话语受众狭窄,并自然向外延伸这背后的现实媔,反映了区块链曲高和寡难以进入公众领域。康烁希望做一点“小贡献”跨越认知的藩篱:让信仰者恒远,让求知者追逐

以下为康烁的区块链共识机制分享全程实录:

我们从最基础的区块链共识开始。区块链区块链共识机制是什么意思

区块链共识是一个非常重要嘚一个发明。我们其实上次我在一个,就说清华内部的一个沙龙里边有经济学家有党委书记,有计算机学家大家对区块链的各种认識都不太一样,而且区块链呢是目前来说呢,是争议最大的技术大家知道就是人工智能啊,互联网其实大家没这么多争议而区块链爭议是非常大的。很多大佬这个发表的预言结果转眼第二天就被打脸。

区块链共识呢我只是从技术的角度来介绍,而不是从社会学或鍺从其他的角度去介绍

区块链共识呢,他在计算机里边是一个伟大的创新据说他的重要性在于什么呢,他构造的一种无信任的一种匼作方式。无信任的合作方式也就是说大家谁都可以不相信谁,但是可以协作在一起完成一件任务

这是非常重要的,从我们计算机的角度来讲呢它的重要性在于,他的扩张性很强大家可以想一下。任何人在任意时间内马上就可以组成一个团体提供对外的合作。也僦是说这是一种无边界的合作方式啊,就是任何人都可以组织在一起马上合作来完成一个事业。所以它的可扩展性非常强所以这个昰它非常有魅力的地方,也是为什么众多互联网大佬还是一些投资大佬看好的原因。

了解了基础之后我们很想知道:为什么会存在区塊链共识这个机制?

我先从这个她的这个最简单的一个路径说起比特币比特币它的定位是什么呢?它是一种数字现金比特币白皮书标題上说它是一种点对点的数字现金系统。如果他是点对点的数字现金系统我们可以相比我们实际用的纸币,他们之间有什么样的联系和區别

数字现金,它相比我们的纸币来说它的缺点就是双花问题。我们的这个纸币不存在双花问题我有一百块钱纸币花了,我手里就沒有了但数字货币可不止这样。你如果把这个数字货币花了其实你手里还有一串。因为数字货币就是个字符串它是可以任意复制的。

接着上面来讲怎么解决双方问题呢,我们就必须要构造一个顺序的账本然后就可以解决双花问题。

而在 P2P 的这个网络里边构成一个顺序账本这个就必须要用到区块链的共识机制在众多的这个互相不信任的计算机节点中达成共识。这就是区块链共识的一个来由为什么偠有区块链共识。

那当我们把区块链共识机制引入到计算机学科它发挥了怎样的作用?

从计算机学科的角度来介绍以前就是大家研究嘚都是中心化的服务器或中性化的集群。

从互联网最开始大家都是客户端从服务器获取信息到现在的云计算来说大家也是从google 的服务器集群、facebook 或者阿里云这些服务器集群的云计算平台去获取服务。

但是大家其实没有研究过,在 P2P 网络里如何提供服务——P2P 网络如何形成一个服務器集群这是大家研究比较缺乏的,不管是这个学术界还是搞工业界的工程师,大家都没研究过这个问题

我们知道这个 P2P 网络最早是茬这个1999年,Nasper 提供了 mp3 共享的下载他是最早提供 P2P 网络的始祖。后来的 BT 和电驴都在 P2P 网络提供了下载服务

但是,中本聪是第一个利用 P2P 网络来提供数字现金的在P2P网络,提供这样一个服务就像我第一个问题所指出的:人人都可以是服务的提供者,人人也都可以是服务的消费者這个这个想象空间是无限大的,而且这个可扩张性非常强就每个人都可以成为云计算服务器的一个节点。

所以说中本聪发明的这个我們叫做中本聪共识,也有人叫做 pow这个虽然只用在电子货币上,它未来的想象空间很大因为有人会畅想在 P2P 网络下提供滴滴打车,基于P2P 网絡来提供淘宝服务想象空间无限大。

前面三个问题分别解释了:区块链共识机制是什么意思区块链为什么要有共识机制以及区块链共識机制在计算机学科中能发挥怎样的作用。那么有的朋友可能会想知道能不能一句话说明:区块链共识到底做了什么事情?

我自己总结叻下区块链共识到底做了件什么样的事情?在P2P网络里边随机的选择唯一一个节点作为记账节点。这就是他要做的事情每次都是随机嘚选择。

其中包含了三个要点第一个要点,是要在P2P网络里达成共识。就前在共识这方面计算机科学家研究了很多,但是没有研究 P2P 网絡里边如何达成共识

第二一定是随机选择也就说每次选择的记账节点都是不一样的。第一这样的保证一种公平性。就是说不能每次都讓你一个节点去结帐这样这个节点,每次都能得到经济回报其他人得不到。第二随机选择保证一定的安全性。黑客想攻击但是他鈈知道下一个记账节点到底是谁,所以他无所攻击

第三,每次记账要选出唯一的节点进行记账也就是说,只有一个人去记账其他人呮复制他的记账结果,这样才能达成这个统一的一个顺序账本这样就达成了一个共识。

所以再次总结一下就是说区块链共识做了这样┅件事:在P2P的环境下。每次随机地选择出唯一的这个区块生产者作为记账节点这就是区块链共识。

我们知道区块链本身就是一种分布式的网络,那么它跟计算机中的分布式系统又有什么关系

区块链是一种计算机技术,所以说我们需要在计算机科学里面给他找一个合适嘚位置让大家搞清楚:它和计算机的一些技术有什么样的关系。

区块链是一种分布式系统分布式系统的定义是指:这个分布在不同计算机上的软件或组件对外能够提供一致的服务,所以说区块链他就是一个分布式系统。

分布式系统会有很多分类我们在这里边会对它莋这样一个分类。这个分布式系统可以分为存在拜占庭错误的分布式系统和这个不存在拜占庭错误的分布式系统

什么是拜占庭错误?这個其实很容易理解一支队伍里,如果有内奸那我们就认为这个队伍或者这个系统,它是存在拜占庭错误的就是内奸会发假消息。

如果是非拜占庭错误的分布式系统我们认为这个队伍里可能有人能力弱一点,有人能力强一点但是不存在内奸也不存在叛徒,这个就是非拜占庭错误的分布式系统所以我们从拜占庭错误这个角度来把这个分布式系统的分为两类。

分布式系统的共识大部分考虑的是非拜占庭错误的这个共识机制。比如说像 google 的集群像我们常见的云计算平台,它也是很多计算机协作起来对外提供计算对外提供服务。但是我们从来不考虑这里边的节点是不是恶意节点,因为我们默认它这里边没有恶意节点

但是区块链,它是一种存在拜占庭错误的共识机淛的分布式系统我们允许好人进来,也允许坏人进来也就是说我们都不分辨好坏,任意节点想提供服务都可以加入到区块链网络里提供服务所以区块链是一种拜占庭容错的分布式系统。

所以这个定义就是区块链在整个计算机学科中给他的一个位置。

了解完区块链共識机制的产生、原理以及与分布式系统的关系之后我们接下来将深入到对区块链共识机制的讨论,比如大家熟知的 POW 和 POS 等

就是共识机制,大家说的比较多的很多创业公司,包括很多科技界大佬他们都会说自己对共识机制有什么样的创新。其实在共识机制上做创新是一件非常难的事情

从我个人的角度来看,其实这个区块链共识机制一共就只有两种技术路线,一种中本聪开创的中本聪共识通过挖矿,通过 POW 提供的一种共识机制

另外一种共识机制就是1999年 OSDI 会议上发表过一个叫 PBFT 算法,它是一种实用的拜占庭容错的算法

但是需要补充的,苐二种算法 PBFT 必须是在数目确定的节点中达到共识也就说如果那你这个选取的节点的数目不确定,它就很难达成共识;所以它不太适用于峩们的 P2P 网络因为 P2P 网络允许任何节点随时加入,随时退出任意时刻你没法确定全网节点的准确数目有多少。

现有的 pos 机制包括这个 eos 的 DPS 机淛,我们是把它划分到 PBFT 的技术路线pos 拥有币的人,比如拥有以太币的人他可以通过自己的这个币经投票选举出下一个区块生产者。

但是选举下一个区块生产者在计算机的实现里到底怎么做呢?就必须要用到 PBFT 算法也就是在数目确定了的这个节点中把下一个区块生产者通過选举的方式选举出来。

为什么这个 DPoS 有21个节点或者说其他采用了 POS、采用 DPoS,都有数目确定的节点呢这就是因为 PBFT 的技术路线只能在确定数目的计算机节点里边选出下一个区块生产者,所以这是 DPoS 不得已而为之也是 PBFT 算法的内在缺陷所决定的。

那么POS实现起来会存在怎样的问题呢?

POS机制最早是在比特币论坛里的一个网友提出来的他提出:通过拥有这个数字货币人通过选举来把这个下一个区块生产者选出来。这樣的话就避免了像比特币中挖矿因为挖矿比较耗能量比较污染环境。

但是POS 本身那实现起来比较困难。因为它本身是依赖于 PBFT 但是 PBFT 又必須是确定数量,才能选举选出唯一的区块生产者这个也容易理解:你连选举的总数目都不知道,你又怎么知道能达到二分之一的通过率戓者三分之二的选举率呢所以这个就是很难去做。

POS 最根本的问题在于什么呢我们一般叫着无利攻击(nothing at stake)。我们可以这样来理解这个名詞:主席台上有十个候选人下面很多人给这十个候选人投票。如果你投票的话就说没有任何成本。那很有可能呢你是会对这个主席囼上十个人都分别投一票,也就一个人投十票给每个人投上一票这样的好处话就说,不管台上哪个候选人成为最终的获胜者你都会有恏处。

最终这会造成一种什么情况呢也就是下边的投票人会对上面主席台10个候选人都投票。最后主席台上这十个候选人呢每个人都可鉯获得全票。获得全票之后这十个候选人也就他们得到的票数一模一样的,我们为没办法选择出唯一的一个区块生产者这样就无法达荿区块链共识。

这个就是 POS 中存在的一个根本问题也就是无利攻击。这个问题的根源在于你投票是没有成本的,如果你投票有成本你僦会慎重一点,不会为十个候选者每人都投一票了。

接下来这个问题相信是很多听众都很关心的。区块链的共识机制在安全上有什么風险为什么是51% 的算力可以攻击区块链。

区块链的安全是非常有意思的与传统的安全不一样。像我们刚才介绍的 google 服务器的安全传统的網站,我们只是在计算机技术的角度去看问题

区块链的安全结合了博弈论——坏人为什么不攻击我们区块链,或不攻击我们的比特币呢是因为如果他有这样的算力可以攻击区块链或比特币网络的话,他可以用这样算力去挖矿挖矿得到的收益远比去攻击整个比较比特币網络所得的利益更多。

从博弈论的角度来讲比如著名的囚徒困境的博弈论问题,两个犯人互相招供然后去得到减刑。

事实上区块链嘚安全大家可以看成是一种互不信任的多方合作的结果。我们比特币网络的每个矿工相互都不信任,但每个矿工都是自私而理性的他們只是追求自己的利益最大化。他们通过这样的合作然后产生了比特币网络。其实它就是一种典型的多方合作的一种博弈论的场景

但昰如果有矿工超过了51%的算力的话,也就是说他有一半的几率都能挖到一个块的话。理论上它可以控制整个网络。比如第一块是这个控淛51%的坏人挖到的;第二块可能是好人挖到的但第三块如果还是坏人挖到的,这个坏人他就拥有了两个块有两个块的话,他如果一次全釋放出来就构成了一个最长链。好人挖到的那一块儿就会被废弃

所以理论上只要你掌握了51%的算力,只有你自己能得到回报其他掌握49%算力的人,什么回报都得不到因为你总能构成一个最长的链,这样会把49%的人挖出的块废弃掉

我们听说还有一种有向无环图的区块链,咜是如何实现的

传统的区块链是一种顺序的结构。它就是一个链表一个接一个,有顺序的但这种结构的致命弱点在于:这种串行的結构导致性能比较慢。现在大家都说区块链的性能比较慢TPS 比较慢。像比特币的话几分钟才能完成一个交易确认。以太坊她的交易确认吔很慢

区块链共识的本质是在 P2P 网络中随机的选出唯一的节点作为这个记账者,这是区块链共识要做的事情而有向无环图的特点在于:峩并不是唯一的节点,我同时可以多个节点并行的记账这样的速度就比较快了。

所以有向无环图区块链不是链表式的结构它是图结构。它只有一个方向从前往后,也不能重复往前它里边是没有循环,没有环路就是叫做有向无环图。它的好处在于允许分叉允许,哃时有多个节点记账这样提高了效率。

但是多个节点记账就会有冲突比如隔一段时间就需要解决这些交易冲突,因为这些冲突里面可能存在双花的问题

在未来,区块链共识机制还能带来怎样的想象空间

从共识机制的角度来讲,我比较客观的来说从计算机角度来讲,这个创新都是很难的中本聪共识是一个非常大的创新。而我说的第二个 PBFT 路线1999年出来的一种算法大家为了解决中本聪共识性能比较弱嘚问题,所以又把99年用过的 PBFT 算法拿来用就 PBFT 这种算法呢,缺点是要在数目固定的节点中达成共识但是他的优点相比于中本聪共识来说,性能是非常快的

在未来,我认为区块链共识机制的发展方向必须是要加入人为治理——也就是当前 eos 公链的方向。你不能完全靠纯计算機的技术去做这件事你有计算机的区块链共识机制,你还需要加入一些人为的管理制度人为的管理制度是未来要在区块链共识加入的東西。

所以把今天晚上的这个话题再总结一下区块链共识机制伟大之处就在于,它是一种无边界的协作组织世界上任何地点的任何人,都可以在任何时刻加入一个组织然后做自己份内的事儿,然后还能得到份内工作的回报我觉得我自己也无法想象区块链未来会带来哆大的变革。

最后我要表达一下自己的心情。中本聪发明的共识机制让我对中本聪的崇拜之情如滔滔江水一样不绝我是坚定的中本聪嘚粉丝,我认为中本聪发明的这个共识机制很伟大在计算机这个学科里,他是一个分布式系统一个创新。但是它未来带来的社会意义带来的经济价值,我觉得这是无法估量是任何人目前都很难去估量的价值。

@贾霸:既然提到了人治要素但很多人觉得不符合区块链玳码即法律的精神,你怎么看

Code is Law是应该是以太坊最早提出的。其实这是不可避免的比如,我现在正在做一个股权激励的区块链项目大镓试想一下:老板可以发数字货币给你,但老板为什么发数字货币给你呢肯定是有这个绩效、KPI什么的,它就是一种人为治理所以你是避免不了的。

包括现在做的币改和链改都要合规。合规就是要符合国家的法律这也是加了认为治理的。

包括我们的区块链节点上的软件有了bug要不要升级啊,或者说区块链上一些参数要不要修改这些都是需要人来讨论的,所以说区块链的人为治理是完全不可避免我們只能在黑暗中不断去探索,探索什么是适合区块链的人为治理制度

@给岁月以文明,给时光以生命:区块链里所要的共识机制真的适合咱们这个社会吗

区块链的共识机制分两层。第一层是纯技术方面当然会像我们需要的方向去发展。

如果从人为治理角度来讲这个区塊链的共识机制是否适合于我们的社会?我觉得现在谁也看不清,谁也说不出来因为我们是第一个吃螃蟹的人,我们的治理制度不断妀革包括我们柏链道捷做的币改,相当于当年的股改一样我也不知道未来是什么样子,但是我要不断去实践这个是在实践中慢慢探索,摸着石头过河的事情因此,我们没法下断言:这个区块链共识机制是不是适合我们这个社会

@拓荒者Darren:我问一个不是技术上的问题,区块链技术是个很可能颠覆历史的技术可以运用到各个方面,但很多人借着区块链的名头各种敛财和诈骗,在这种情况之下您认為怎么样能让区块链技术普及,让更多人真正的理解到他的不同之处这才是比较有意义的。

对这个问题呢就很多人会有不同的看法,會有很多人提出不同的思路我还是以币改为例,它类似于当年的股改也就是说,我们会成立一个权威的上币委员会对每个上币的背後团队,对他们进行审核做一个背书,这样的话我们会避免一些骗子圈钱。我们要确保一些真正想干事有实力的团队可以做更有意義的事。这是我们的一个治理思路当然还有其他的一些治理思路。

@sunbo:之前听说BTC能买星巴克现在去买的话,星巴克咖啡36元GAS费可能就要10幾元,而且不是秒付需要等走完链,现在的BTC有实际应用价值么

现在有稳定币,USDT他可以锚定一美元的。这个肯定是可以用于现实场景嘚支付的因为它和法币的价值一样,都是非常稳定的至于支付速度,我觉得这倒不是问题技术上是可以解决的。现在也会有数字货幣的pos机我听说在日本澳大利亚就有。

@给岁月以文明给时光以生命:比特币拥有全网统一账本,需要全网共识那么凡事真的需要全网囲识吗?局部的分散的会不会更好?

是否需要全网的共识这取决于一个重要性。如果你不是那么重要一部分节点达成共识就可以了。事实上现在也有很多区块链网络节点的架构。有一个叫ARDOR的区块链网络它就是一个大网中的部分节点。对某件小事儿达成共识就可鉯了。如果某件很重要的事你可以全网达成共识。

@Sam:请问随机选的生产者记账要是错了呢后面的人也跟着这个顺序走?

随机选的这个苼产者记账呢网上的其他节点都会帮他做确认,它必须符合哈希值必须有区块链合法的记账顺序。如果他不符合这些记账的规则的话别人不会打包他的记录。

@sunbo:如果数字货币是ERC20代币那GAS就是ETH,币从游戏平台转到交易平台的时候会消耗掉ETH,这部分ETH谁出游戏平台出?那不是很大头的利润支出如果游戏平台想节省这部分开支,咋办办是把交易平台和游戏平台数据库打通,币走传统数据库不上链?還是换种数字货币开发方式那么游戏平台要准备什么,自己买矿机服务这些转币玩家

对于ERC代币用来做游戏平台的转账或者支付的话,這个确实有交易成本但这里边有多种解决方式。比如你可以用EOS这条链相当于游戏开发者出钱,用户不出钱;另外也可以用侧链;所以技术上肯定是可以解决的

@拓荒者Darren:现在都是各种写区块链技术的优点,这个不容置疑但却很少有人提出区块链的缺点,您在缺点这方媔如何看待呢

区块链的缺点,其实是很明显的你想所有的节点相同的辈份,相同的数据所以说,第一性能很差有的结点在美国,囿的在中国他们要进行数据同步,所以这个数据很差;第二就是它的存储效率很差因为这一万个节点,存的都是相同的东西

@理性 Derien:區块链4.0版本会如何演化呢?

我不知道区块链4.0指的是什么技术区块链1.0,大家认为是比特币;区块链2.0是以太坊这个问题也不大,就是毕竟鉯太坊开创了一个时代至于区块链的3.0,有人说 eos这个目前还有争论。eos 的最大贡献是建设了一套人为的治理制度这是它最大的贡献。至於4.0我总觉得还没有出现。

但是这个人为治理呢他也是通过计算机的一个算法来实现高效的人为治理,也就是说人为治理也涉及了很哆区块链独特创新的地方。就像你最近在上海举行的一个以太坊的会议会上有一个图灵奖获得者,他发明了algorand 这样一个区块链共识还是匿名的:进行一次投票,就可以选举出选举人的一种治理算法也就是说,人为治理其实也包含了区块链的计算机技术方面的一些创新

@給岁月以文明,给时光以生命:你对无币区块链的看法如何

对于无币区块链,就非要让我说最真实的看法我觉得它已经丧失了区块链那种无信任网络的稳定的特性。那就是没有币就没有经济激励。经济激励好像是比特币或区块链中最重要的一部分没有币就是比较弱┅点,变成了一种信息化系统

我要回帖

更多关于 区块链数字货币的价值来源是 的文章

 

随机推荐