原帖链接:
今天我们讨论密码经济领域使用频率最高的一个词——去中心化。
去中心化常常被视为区块链存在的全部理由,人们评价一个公链也经常把「去中心化」程度做为重要的衡量标准,在区块链技术领域的人们表现得尤其「憎恨」中心化,当一个技术讨论陷入僵局时人们通常会用对方的方案会导致「中心化」来做为反驳技术观点的最有力论据。
之所以要实现去中心化,相信很多人都有各自的理解,这里大致总结几点:
规则透明且广泛参与 :中心化系统的弊端已被诟病了很长时间,一个系统的记账规则(或者说游戏规则)应该由所有的参与者共同确定而绝不应该由单个个人或组织来确定,如果权力过于集中则很难保证有权力的人或组织不会以牺牲其他人的利益来使自己收益。
容错性 :当存在少数恶意节点或故障节点时,不会影响系统的平稳运行,毕竟不太可能所有节点都同时发生故障或同时作恶。
不会被操控 :因为它们缺乏敏感的中心点,攻击和破坏或操纵成本更高。
关注PlatON的同学可能已经发现,PlatON的共识机制将候选节点数量提升到了201,每轮共识节点的数量提升到了43,从去中心化程度上来说相比于先行示范网络Alaya提高了接近一倍。然而是不是意味着参与共识的节点越多越好?试想一下不考虑硬件和带宽成本,全世界70亿人每人都运行一个节点,共同参与记账,会有什么问题呢?
1. 共识效率低
对于基于Giskard共识协议的PlatON来说,区块或状态的确认至少要经过2轮QC(Quorum Certificate),每轮QC要保证全网超过2/3(2f+1)个节点的签名,过多的节点将导致共识效率的严重下降。
2. 安全性问题
按照BFT共识理论,总节点数N=3F+1,在坏节点比例不变的情况下总数越大意味着恶意节点或故障节点F越大,PlatON当前采用随机选取节点参与共识的机制,虽然可以通过改进随机性算法以及通过Slashing及时罚没坏节点等方式尽量避免同一轮共识节点都是坏节点,但目前在安全性上仍不宜将备选节点总数设置太大。
3. 对节点的激励不够
参与共识的节点要维护网络安全和高效,但这并不是无私的,包括PlatON在内的大多数网络通过增发Token来激励节点,但如果节点数过多,则需要激励的数量过于庞大,分配到单个节点的激励将变得非常有限,会影响节点维护网络高效和安全的积极性。
4. 更新升级慢
一个庞大的群体内必然充斥着各种各样的声音,对于新的改进建议(如PIP)的推进并不是一件容易的事,提案发起者需要争取到足够的支持才能得以实施。
基于以上原因,PlatON当前没有将验证人总数和每轮共识节点数完全放开,而是基于当前的技术、严谨的性能要求以及异常测试前提下做的初步调整,关于到底有多少个验证人节点才是最合适的目前并没有一个结论,但从技术迭代和发展长远角度来看,当前201+43这个参数需要进一步扩充,我们可以试着在平衡安全性以及性能的前提下定几个小目标来进一步提升去中心化:
备选节点数量 :计划支持10000个节点以上,考虑根据质押LAT数、交易数、出块率等因素动态调整备选节点数量,增加节点作恶成本,降低被攻击的风险。
验证节点数量 :考虑对Giskard共识协议进行优化,在保证性能没有明显的损耗的前提下支持更多验证节点,由于存在DDoS攻击的时间窗口,参与BFT验证节点数量不能太大,计划支持到200个验证节点。
优化随机性算法 :好的算法可以同时保证安全性和公平性,对于选取共识节点的算法PlatON会持续优化和改进。
欢迎大家就以上改进在本帖发表各自观点, 我们将抽取提出有效建议的5位用户获得10LAT的激励。