区块链为什么离不开共识机制
扫描二维码
随时随地手机看文章
区块链共识是什么?
共识机制是区块链的灵魂。就像一个国家的法律,维系着区块链世界的正常运作。区块链最早的共识是工作量证明(POW),比特币和以太坊都是采用的工作量证明。
现在流行的一个趋势是权益证明(POS)。以太坊2.0就会采用 POS 共识,还有最新的公链如 Tezos,Polkadot,Algorand 等等。
权益证明还包括委托权益证明(DPOS),代表公链有EOS。FileStorm 现在就是采用的 DPOS 共识,联盟链就还有 PBFT, RBFT 等等共识。共识是区块链的灵魂,是区块链价值的基础。
为什么需要共识?
从技术上讲,因为区块链是去中心化的。所有参与的节点需要有一个共识,才能维护一条唯一的链。这个选择唯一的链的方式,是一个规则,可以是大家竞争得到,也可以是投票得出。
这个规则,就是共识。所以也可以说,区块链共识的目的是决定出块权。
工作量证明的基本思想就是用算力来决定出块权。如果你能第一个解出 POW 的计算难题,你就可以出块。
在每一个时间点,大家都在算题,然后在差不多的时间里,大家把题算出来,再把计算结果发布出去。这其实就是一个投票的过程。发布的块就是投的票。最后被选中的票,就是来自于那个最快算出结果的矿机。至于没有发布块的节点,相当于弃权了。
工作量证明的一个最大优点,就是所投的票和投票权是绑定的。而且一旦投票成功以后,即使是投票者本人也修改不了投票的内容。因为一般在出块前,节点就已经打包好一个块,然后才对这个块做工作量证明,做完后马上投出去。这个时候打包的块已经没有办法修改了。所以工作量证明的安全性很有保障。
缺点就是延迟比较高,因为我们把交易打包到区块以后,还要完成一个工作量证明,这个区块才能称为候选区块。工作量证明的时间还不能设得特别短,否则容易分叉。
于是,至少从打包好区块到做完区块的工作量证明这一段时间内,交易是能被确认的。
POW 机制另一个被人诟病的点就是能耗特别高,不环保。因为哈希运算耗电。所以,要想让区块链支持大规模的商用,POW 需要改变。所以,就有了 POS。
跟 POW 不知道有多少矿机参与挖矿不同,POS 协议必须知道所有共识参与者的数量和它们的持币量,然后去分配打包权和投票权。
所以 POS 的共识建立在大家经济上对一条链的投入多少。在 POW 里面,打包权和投票权是一起的,但是在 POS 里,这两者是可以分开的。
有区块以前就知道谁有投票权了。拿到投票权以后,可以随便地去投,这就意味着我可以选择的策略空间更大,整个博弈会变得更复杂。
通常来说,策略空间大对于安全性是不好的,因为给攻击者留出了更大的操作空间。这对链的安全性是有挑战的,因为节点可以通过一票多投,或者放弃投票来做恶。
但是在 POS 系统中,节点做了质押,如果检测到有参与者违反了 POS 共识的协议,可以对他们做出一些惩罚。委托权益证明 DPOS是 POS 的变种。
因为在去中心化机制中,我们需要选举谁负责打包,谁负责投票。有时候为了效率,大家会先选出一个比较小的委员会,然后由他们负责投票。这样的委员会通常是随机选取的,而且为了公平性还要经常轮换。
或者还可以用代理权益证明的 DPOS 机制,选取相对固定的委员会负责打包和投票。这样虽然损失一些去中心化程度,但是可以大大提高效率。
FileStorm就是用的 DPOS 机制,我们的节点协助我们推广平台,这也是为什么我们的平台能发展得这么快。
能不能再详细的介绍一下当今区块链比较流行的一些共识机制呢?
区块链最早的共识是工作量证明,这个大家比较熟知。BTC,ETH,和很多2017年之前出来的公链绝大部分都是采用的工作量证明。
新的公链大多数采用 POS,所以,我这里主要介绍几个 POS 的共识,主要了解他们的基本原理和各自的差异。
1、Tendermint
这是跨链平台 Cosmos 采用的共识。可以做为了解 POS 的入门共识。Tendermint 每次由不固定的节点发布新块,然后通过 PBFT 的方式让其他所有节点对区块进行投票验证。超过2/3的赞同票就通过,而且是对区块的终极确认,不像 POW 还要等好几个块。但缺点就是,如果投票通不过,就要一直等着。
2、Polkadot
波卡也是一个跨链的平台,它的中继链采用的是 Nominated Proof of Stake,既「提名权益证明」。参与者通过质押成为提名人,然后从提名人里选举出验证者,验证者再负责出块。
验证者的数量可以控制,民主集中,这样效率会高很多。NPOS 跟 DPOS 很像,都是选出少数被选中节点出块,但是 DPOS 选出来的都是大财阀,需要做大量质押。NPOS 更民主,草根更容易参政,而且验证者轮换也更频繁。
3、Algorand
前面提到,POS 共识的一个本质问题就是出块权由大家投票决定的,所以在出块前大家就知道谁是出块节点,这样容易被攻击;而出块节点也可以选择各种打包策略将自己的利益最大化。
那如果有一种机制,可以随机的产生一个节点,这个随机性是不可以被轻易预测到,但可以是大家很容易验证的,那就可以采用这样的方式来选举出块节点了。
Algorand 就找到了这样一个产生随机节点的方式。这种方法其实就跟 POW 的方式很接近了。大家都可以打包提交候选区块,但最后不是看谁最快算出题,而是通过一个真随机数,选出唯一的下一个出块。
4、Casper
Casper是以太坊 2.0 将要采用的共识方式,Casper有了权益质押,有了投票机制,但现在还是一个 POW 和 POS 的混合体,将来要慢慢发展成一个完全的 POS 协议。
因为要对现有的基于 POW 的以太坊进行升级,它考虑更多的是链的可用性而非最终一致性。Casper出块还是会通过 POW,然后再由 POS 节点投票。
投票的节点有点像是在赌博,可以随便投任何块,但是如果你没有投中最后被选中的块,会受到惩罚,所以最后大家都会趋向投最长的链上的一个块。
5、FileCoin
这是我们分布式存储行业里的一个明星项目,他采用了一种新的共识机制叫预期共识。这可以理解成一种新的 POW 或者 POS 模式,说它是 POW,因为他把算力挖矿改成了存储挖矿,说他是 POS 是因为它给投票权的理由不是看 Staking 里的通证数,而是看你的有效存储量。
其实每个项目的共识都很复杂,这里只是蜻蜓点水一样的讲一下。
从前面的分享中,大家可以看到,其实 POW,POS,包括 DPOS 都不完美,未来 FileStorm 将继续研究一种理论上无懈可击,又具有实用性的区块链共识。
FileStorm 采用的 DPOS 共识,前期对我们的项目启动帮助很大。但是未来我们希望能让我们的项目走向更加去中心化的公链共识。同时实现多链架构,更好的支持更多的存储应用。
从区块链应用落地看区块链共识,能否谈一下落地应用和共识的关系?
刚才一直谈共识,为什么需要共识?因为区块链改变的是人类的生产关系。以后没有老板和员工了,不存在谁为谁打工,而是大家为了共同的目标一起奋斗。
但是每个人的诉求是不一样的,为一件事愿意做的付出也是不一样的,如果希望通过区块链的激励机制来实现利益的公平分配,大家就需要对区块链高度认同,这个认同就是共识。
POW 通过算力投入实现共识,POS 通过资金投入巩固共识,共识的价值通过通证来体现。共识越强,通证的价值就越高。但是,如果这个通证不能真正实现应用,那这个通证就是空气币,就迟早要归零。
比特币因为是世界上第一个区块链的实现,共识强大,所以虽然它还没有实现中本聪赋予它的成为点对点的电子支付系统这个使命,它依然有价值。它是加密货币的黄金。
但是以太坊的价值来自于它实现了智能合约。这个智能合约让开发基于区块链的应用成为可能。代币发行,去中心化金融,都是它的应用。
FileStorm 的价值来自于发行的通证可以用来做存储。用户用通证购买存储,矿工通过提供存储服务来赚取通证,这就形成了一个经济闭环。这个经济闭环就能体现区块链的价值。很遗憾的是,当今实现经济闭环的区块链应用很少,FileStorm 是为数不多的一个。
但是我们要乐观的看问题。整个区块链行业还很新。基于区块链的应用占有的市场份额还很小,前途无量。使用我们存储的用户还远远不够,我们的业务未来会成指数级增长。我们的通证价值也会不可估量。如何让更多的用户知道我们的应用,就需要更多的人帮我们去布道,去加强大家对 FileStorm 的共识。这也是每一个区块链应用必须走的路。
如何通过一个强大的共识来实现落地应用?FileStorm 是怎么做的?
如何打造一个强大的共识,我们认为有两个重要点,一个是技术,一个是治理。
FileStorm 在共识机制上追求创新,就是从技术上优化我们的共识基础。前面我们提到我们要打造我们民族自主创新的公链,走向世界。这不是一句口号,而是我们真正要在技术上跟国际知名的公链项目较劲。未来大家一定会看到我们逐步推出的,让大家眼睛一亮的核心技术。
另外,区块链项目一定要开源。这才是公链项目正确的打开方式。FileStorm有几十个技术创新,github发布数百万行代码,也没有申请一个专利。
优秀的区块链项目都是开源的。
越开源越安全:比特币因为开源,越来越难因为代码漏洞被攻击。越开源生态越大:以太坊开源,无数项目抄袭,但它得到的是全球最多的区块链开发者为他服务。
在治理方面,未来区块链在持续开发中的进化和升级能力,将成为它能否在它所控制的利益竞争中生存下来的关键因素。
所以,区块链治理的根基,来自于这样一个事实:一个区块链系统有很多的涉众,矿工,矿场主/节点,投资人,用户和开发者。他们通过与区块链交互获得价值,成为利益相关者。
利益相关者一定是要维护自身利益的,而他们之间的利益是有差异的,从而他们一定会要让区块链为他们服务。
因此,如果要让整个区块链系统长期生存下去,就需要有相关的流程,来消除这些差异。创造和执行这个流程,就是治理。
我了解到 Comunion 就是看重了它在社群治理和社群协助这个领域的努力,我们的理想是一样的,区块链就应该这样的方式发展。
有了强大的技术和强大的社区,应用落地就不是项目方一个人的事了,所有的参与者,都会为项目添砖加瓦,寻找落地机会。
区块链发展到今天,有很多项目追求的东西太好高骛远,谈远景,谈高大上,但是不能在可预见的未来实现。这样的项目就需要超乎想象的强大共识,或者国家和大投资机构的信任背书,才又机会存活下去。如果不接地气,光吹牛,那很快就会玩完。
我们选择存储,因为这是跟每一个人的生活都息息相关的事情,每个人都可以是我们的用户,每个人都能为我们做项目推广。所以,我们选择的赛道,非常接地气,相当容易落地。
能否谈一下FileStorm 存储技术的特点?
首先,FileStorm 结合自身的技术特点,提出如下几条价值观念,推出了一个「数据存储的核心价值观」。我们还在跟整个行业探讨,现在提出的数据存储的核心价值观就是 保护隐私,数据确权,鼓励实用,技术开源。
数据存储的核心价值观反映的是数据存储领域的丰富内涵和实践要求,是人类对数据的创造和使用诉求的高度凝练和集中表达。
我们的创新技术如下:保护隐私就是要做到数据加密。数据加密大家很了解,也有很多现成的技术实现。但是高效的对加密数据进行搜索和计算却很难。我们跟大学和研究机构的顶级专家合作,共同创新同态加密和零知识验证技术,让加密数据搜索计算和普通数据一样。
有了让加密数据搜索,我们就可以把目标剑指分布式存储上的谷歌和百度。数据确权就是要给数据做时间戳,要做内容智能辨识,这个需要很强的区块链技术和大数据技术。这两个板块正是 FileStorm 的强项。(也是web3.0的技术核心)
另外,数据确权也不是一个应用能实现的,而是好多不同的应用。FileStorm 未来的多链生态,就是为这个目的打造。
鼓励实用就是要让数据动起来。FileStorm 的检索挖矿,按数据使用率给出奖励的共识算法,鼓励数据大量复制,大量分发。冷数据可以去重存储。但只有流动的活数据,才更实用,才能创造更多的价值。
技术开源前面已经提到,不开源,口里喊着去中心化,走的还是中心化的路子,是没有前途的!
所以,FileStorm 愿与全球分布式存储行业的项目一起,实现整个数据行业的价值目标,让数据更好的为人类服务,让人类真正成为自己数据的主人。
Q&A
Q1:共识的前提是需要有共识者,一般是如何寻找共识者呢吗?非公链项目如何设计共识呢?
您这里有两个问题:
公链如何寻找共识者。其实1CO是一个公链寻找共识者的好方法,因为一开始就从经济上把共识者绑定。ETH就是一个非常成功的案例。可惜后来被玩坏了。DPOS 其实也是一个很好的方法,可以早期就找到金主做盟友一起推广。但是缺点是盟友可能成为利益冲突者。权利太大,影响共识发展。
非公链项目如何设计共识:这个用联盟链的方式可以实现。其实比公链简单。
Q2:能评论一下POC共识吗?
您说的 POC 是指的 proof of capacity 硬盘存储空间挖矿对吧?这个跟我们存储挖矿行业很接近,因为用的是硬盘空间做共识。
跟比特币用算力挖矿不一样的是。POC 提前把哈希运算做好,存在硬盘里,像存了一堆彩票。然后到点抽奖,抽中了谁,谁就出块。
Q3:您是怎么看待集权与效率,投票与共识的呢?
这个问题非常好。也是我们常常讨论的。集权提高效率,但是牺牲去中心化。投票民主,但是效率降低。
我觉得每个项目要根据具体情况选择共识。看注重的是效率,还是民主。
不是每个项目都追求高TPS,这样的话,选择慢一点的区块链也挺好的。FileStorm想做多链生态,就是看到每个项目都不一样,未来我们希望能支持基于各类共识的应用。
Q4:您认为共识和效率能否共存呢?如果能,那么有什么方法呢?
现在就是共存的呀。只不过是以互相博弈的方式共存。联盟链的效率很高。如果这个共识能被认可,联盟链足够了!
做为原教旨主意区块链信仰者,我原来其实更支持公链。直到我看到谷歌的Libra,一个巨大的联盟链平台,只要拥护的人多,共识一样很强大。
Q5:现在底层的组件或协议除了 IPSF 以外还有别的类似基于区块链的分布式存储吗?
底层协议很多,不是一定需要IPFS。FileStorm也在IPFS的基础上做了很多改造,这是FileStorm最新的数据传播协议层架构。