链客,专为开发者而生,有问必答!
此文章来自https://www.liankexing.com,未经允许拒绝转载。
笔者初学区块链,很多东西也是慢慢摸索,之所以写下这些基本概念一方面作为自己学习的整理,另一方面也希望更多交流学习的机会。
根据拜占庭问题演变而来的算法PBFT算法,无论执行流程的复杂度还是算法的效率来说,PBFT是效率最好的算法,其是1999年卡斯特罗和利斯科夫提出来的,将算法复杂度由指数级降低到多项式级,使拜占庭容错算法在实际系统中变得可行。
PBFT算法设定系统为异步分布式,单一节点失效的一个独立事件,作者使用加密技术来防止攻击,消息设定为:公钥签名+消息验证+消息摘要。并假设整个网络中,所有节点的公钥可以做签名认证,前提是:恶意节点的算力不能破坏加密算法,不然基本保障就不存在了,其不能无限延长节点通讯。
和之前拜占庭问题一样,网络中节点还是要求n个节点,恶意节点m,n>3m+1。在系统中要求整个系统有安全性和活性。整个系统通过状态机副本复制的特性来传递信息。
先谈论下安全性,在n>3m+1的情况下,安全性就是副本复制数量(<m)允许一定的失效,系统通过对这些失效节点控制改变访问全新来恢复恶意节点的攻击。
活性,同步的方式不提供安全性,但是提供活性,在异步系统中,通过同样受到请求后失效的副本不超过m,并且延时时间控制,那么最终这
版权声明:本文为weixin_44172023原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。