名字翻译:Power Fault Tolerance-影响力容错

关于这个名字翻译,小编思考了大约2周时间,期间也跟各路技术牛人进行了交流。

The Power Fault Tolerance model (PFT) unifies all these classes of protocols by modeling the influence participants have over the output of the protocol as power

这是filecoin协议里面对 PFT的解释,power概念就是矿工的影响力(influence),“Power”是filecoin系统的投票权力的大小度量,根据矿工贡献的Power来计算矿工的投票权有多大,根据信达雅的基本要求,所以称为“影响力容错”。之前曾经考虑过“权利容错”和“权益容错”,“权利”这个词本身表达不了大小的概念,而“权益”又跟Proof of Stake(权益证明:EC共识是在这个基础上进行的,有必要区分)有冲突,于是小编把这个词翻译成影响力容错。或许有更贴切的表达方式,欢迎讨论!

共识(Consensus):拜占庭共识

共识---一个区块链领域领域里面经常谈起的一个概念,任何区块链都无法绕开的一个问题。在我们的日常生活中,绝大多数机构都是中心化的,一家银行,快递公司,电商网站等等。共识是在参与者之间达成一致。由于中心化的机构由中心化的机构本身来维护共识,比如:银行,帮我们所有人记账,由国家权力保障,我们信任银行,这是我们的经济得以发展的基础。

在区块链领域里面,所有节点都是对等节点,就是说没有任何一个节点有超越其他节点的权限。那么想在这么一个一盘散沙的节点中维护一个共识是一件非常难的事情,试想一下,大广场上有1000个平等的互相不信任的人,要让他们对一件事情做出共同的决策,其难度有多高?

起源

在学术界里面这个问题起源于1982年Leslie Lamport(图灵奖获得者)在他的论文里面提出的“拜占庭将军问题”(Byzantine Generals Problem),目的是解决分布式对等网络的通信容错问题。

拜占庭将军问题描述:
简单的描述:假设有9个拜占庭将军共同围困一座城市,将军之间都是平等的,他们的对于城市的策略只有两种:进攻和撤退。如果一部分进攻一部分撤退,将会造成灾难性的后果。9个将军分布在城市的不同方向,只能通过信使进行通信。那么他们要达成一致,就需要进行投票,每位将军根据收到的情报来决定进攻还是撤退。

问题是将军里面会有叛徒,比如:当将军的投票达到4个进攻4个撤退的时候,叛徒将军可以采取对4个进攻的将军投进攻票,对4个撤退的将军投撤退票。决策的最终结果就会崩溃,一部分将军选择了进攻,一部分将军选择了撤退。

围观一下牛人:Leslie Lamport

在这个问题中,将军投票达成一致协议,就叫做拜占庭共识,在有将军叛变的情况下仍然能够达成正确的共识就做拜占庭容错,当然这是一个很简化版的描述。(小编在巴比特上面找到一个讲的比较全面的,大家可以参考一下:http://www.8btc.com/bitcoin-and-the-byzantine-generals-problem)。

将这个问题转换到计算机里面,对等节点之间的通讯是通过电信号进行的,电信号是会出现各种干扰(例如磁场),0和1最终可能会发生错误。

这个难题困扰了学术界很久很久,直到1999年Miguel Castro和Barbara Liskov提出了实用拜占庭容错算法PBFT(Practical Byzantine Fault Tolerance),提供了(n-1)/3节点的容错。这是一个非常了不起的成就(算法的具体过程不属于本文的讨论范围,有兴趣的读者可以自行Google一下)。

2009年中本聪使用工作量证明(Proof of Work)解决了这一问题,使得BTC能够成为现实。

那么具体到Filecoin上,Filecoin是如何解决拜占庭容错的呢?

Filecon在拜占庭容错BTF的基础上提出了改进版的拜占庭容错,这就是 影响力容错(Power Fault Tolerance)和预期共识(Expected Consensus),用来替代能源和计算资源严重浪费的工作量证明(Proof-of-Work)机制。

Filecoin的分布式网络协议可以使用任何共识协议来实现,完全可以使用BTC的机制(Proof-of-Work)。但是BTC的工作量证明带来的问题是能源和计算资源的巨大浪费,于是Filecoin协议抛弃这个共识机制,使用Proof-of-Spacetime(PoSt)来替代工作量证明,PoSt是filecoin在验证矿工存储用户数据的时候产生的,Filecoin把矿工在网络中的当前存储数据相对于整个网络的存储比例转化为矿工投票权(voting power of the miner),重用PoSt来产生共识,太环保了,不用像BTC那样浪费计算资源和能源,并且能激励矿工投入更多的硬盘而不是计算资源和能源,为网络做贡献-----完美!!!

预期共识(Expected Consensus,EC):

Filecoin的共识协议是基于权益共识(Proof-of-Stake)构建的,将权益共识里面的权益(stake)换成了存储,这就是Filecoin的预期共识(Expected Consensus),策略是每一轮里面选举出来一名或者多名矿工来创建新的block,矿工赢得选举的可能性跟矿工已分配的存储成比例。

在每一个周期里面,预期选举出来的领导矿工(Leader)是1个,但是在某些情况下也会选举出来多个领导矿工。被选举出来的矿工创建新的block,并把新的block对网络进行广播。尽管链中的block是线性的,但是filecoin的block数据结构采用的DAG(有向无环图),可以在同一时间产生多个block(所以Filecoin的交易要比BTC的有效的多,这也是为什么把filecoin叫做“可能的blockchain 3.0”)。

共识是一个区块链领域的核心,区块链天生就是对等的分布式网络,这就是所谓的去中心化。去中心化现在被吹的有点过了,去中心化不是万物的灵药,只是在自己领域里面有独特的作用,中心化的效率还是非常高的。所以不应一味的强调去中心化,而是应该根据实际的应用场景来决定使用范围。相信区块链的共识协议会随着区块链的发展进化出更加美好的共识协议,区块链也会逐步进化,成长!


本专栏的微信公众号IPFS指南(ipfs_guide),致力于IPFS的知识的普及,如果你对IFPS、Filecoin,挖矿感兴趣,敬请关注!

本专栏的文章允许转载,但请注明:原文来自于知乎专栏:IPFS指南(IPFS指南)作者:飞向未来

Filecoin: 影响力容错(PFT)和预期共识(EC)相关推荐

  1. 【董天一】Filecoin: 影响力容错(PFT)和预期共识(EC)

    作者简介:董天一 ,IPFS/Filecoin中国区技术布道人 ,<IPFS指南>作者 毕业于北京大学软件与微电子学院 曾担任甲骨文亚洲研发中心(中国)数据库开发工程师 资深区块链技术开发 ...

  2. algorand共识协议_【Filecoin】理解预期共识 - 及它的优缺点

    摘 要 预期共识就是上帝掷飞镖 预期共识的优点在于简单,而且每一次选举胜出者数量的平均数为1 但预期共识不能保证每次选举的胜出者数量,这是其最大的问题 期待有更好的基于可验证随机函数的共识算法出现,设 ...

  3. 2021-09-04

    filecoin-lotus 入门(一) 关于filecoin 白皮书的理解 白皮书 摘要 介绍 1.1.基本组件 1.2.协议概述 去中心化存储网络的定义 2.1故障容错 2.1.1.管理故障 2. ...

  4. 如何获取filecoin_Filecoin如何获取更大的出块机会?

    Filecoin如何分配区块奖励方面,在Filecoin总量20亿的FIL通证中,可以通过挖矿获得的部分为70%.其余为开发团队(15%).投资人(10%),基金会(5%)的份额. 就区块奖励而言,可 ...

  5. 中国技术经济学会区块链分会秘书长贾永政:人工智能与区块链上的存储和计算

    聚英数科|中国技术经济学会区块链分会秘书长贾永政:人工智能与区块链上的存储和计算 8月18日,由链世纪财经.Ever链动主办,聚英国际.PAI Community联合主办,BTRAC全球数字网络高等智 ...

  6. 区块链发展的三大代表BTC ETH FIL 哪个潜力更大??从这7个方面来对比

    1.共识机制 BTC 的共识机制是工作量证明机制PoW,通过算力竞赛出块. 优势:可靠.使用广泛,是经历了充分的实践检验的公有链共识算法. 缺点:消耗了太多额外算力,耗费大量能源,很不环保. BTC. ...

  7. 拜占庭容错共识(PBFT)

    文章目录 一.拜占庭容错共识 1. 什么是PBFT 拜占庭将军的问题是什么? pBFT 原理 2. 与最传统的PoW共识机制相比,PBFT优势和劣势 3. BFT共识开发库 Tendermint BF ...

  8. Filecoin中文白皮书

    FileCoin白皮书(中文版) 摘要 互联网正处于一场变革之中:中心化专门的服务将被去中心化的开放式服务所代替:信任机制将被可验证的计算代替:脆弱的路径地址将被弹性的内容地址代替:低效率大型服务器将 ...

  9. IPFS直播最详细解读—FileCoin Demo演示

    Decentralized Web Summit (DWS) 2018 于2018年7月31到8月2日在旧金山举行.DWS由非盈利组织Internet Archive在2016年发起举办,致力于在全球 ...

最新文章

  1. 用友u8 php,php 访问用友u8数据
  2. python中filter函数的使用
  3. oracle数据源的报表sql计算慢解决
  4. php网页跳转无法获取session值
  5. Duilib开发环境搭建
  6. Linux下安装Octave
  7. python找图是什么模块-python中模块查找的原理与方法详解
  8. 生产服务器怎么dmp堆栈信息,如何根据程序崩溃时的DMP文件使用WinDbg查找调用堆栈...
  9. Linux start-kernel
  10. python编程(paddle ocr)
  11. 大道至简第七第八章读后感
  12. NFS还是iSCSI?关于VMware vSphere的存储连接的选择题
  13. 计算机重启恢复到推荐分辨率,为什么重启之后电脑界面分辨率会变
  14. server-2016安装软件提示缺失msvcr120.dll解决
  15. 网络工程的工作任务课堂作业
  16. 好用的 APISpace 车牌识别API
  17. 使用Java做ORC图片识别
  18. 20131012-Actel公司申请License的方法
  19. python路线寻优_曲线寻优
  20. c语言程序中只能给指针赋,在c程序中,只能给指针变量赋NULL值和_____值. 答案:地址;指针...

热门文章

  1. html js绑定键盘按键触发事件(按回车键登陆)
  2. For与Function进阶实战、Lazy的使用笔记总结
  3. Python---常见问题
  4. 免费素材下载:Box Of Bundles Number 2
  5. 施密特出售Google股票套现3.27亿美元
  6. 有特殊步长适应的自适应差分脉码调制语音编码系统
  7. [导入]做了一个页面静态化小软件,和大家分享,up有分
  8. Windows右键在当前目录打开Cygwin终端
  9. Linux内核模块的概念和基本的编程方法
  10. Matlab中特征降维主成分分析(PCA)使用方法(整套流程)