1 当前的算法存在问题
当前的共识算法,在规模(Scalability)、安全(Security),效率(Efficiency)上的不可调和,形成 SSE 矛盾。比如经典的 PoW,满足规模和安全的要求,但运算开销大;PoS 满足功耗的要求,但在规模和安全性上存在不足;DPoS 满足规模和功耗的要求,但安全性上存在不足;pBFT 满足安全和功耗的要求,但当节点规模特别大时,网络开销问题就会变得非常突出;Hashgraph满足规模和功耗的要求,但在安全性上存在不足,并且由于其结构和流程上的限制,比如结点的连通性不足,对部分交易的确认时延会比较大;Algorand 满足规模、安全和功耗的要求,但其对网络的整体连通性有比较严格的要求,在网络分片的情况下,共识时延会变得不可预测。
2 Seele元一的创新
元一综合当前主流共识算法的优缺点,提出了全新的基于“微实数”的异步排序技术(ϵ -differential agreement, EDA),将共识问题转化为对异步系统中大规模并发请求的处理以及在此环境下数据的排序问题。对于网络的整体连通性有非常强的鲁棒性,在非全连通网络的环境下,甚至是每次网络连接比例小于 50 % 的系统中也能够正常运行。元一的共识算法的另外一大显著特点就是线性扩展性,即性能随节点规模增大而线性加速,节点规模越大收敛越快,性能越好,在 100 K 节点的网络环境下,元一的 TPS 达到了 10W,并首次将交易的确认延迟提升到秒级。
3 Seele元一的算法原理
通过多次不完全随机采样将逐步覆盖系统全部特征,将传统共识协议的离散型投票 ,转变为连续型投票[0%,100%],通过具有收敛性的函数将系统内各投票值压缩,范围小于预设的阈值时,认定投票一致,投票值作为排序依据。 共识过程中增加了用于确认区块顺序的参数 v,通过符合相应要求的算法,使该参数在共识过程中得到收敛,当该参数的范围收敛至小于用于排序的数轴所要求的精度时,即确保在该刻度范围内,仅存在一个区块。对于多个区块,通过彼此独立、互不影响的循环,将区块在数轴上不断进行定位,完成排序。算法以一个虚拟数轴上坐标的位置作为区块排序的依据,使区块的排序不再依赖于前置区块的共识,完全摆脱现有一致性协议不能并行的性能瓶颈,为数据的大规模处理提供了有效实用的方法,大幅度提高了系统的效率。通过架构分离,将一致性协议与前端的重复性检验、后端的存储技术分离开来,拥有良好的可移植性。因对整个共识流程不存在对数据内容的处理或访问,其数据无关性的特点使其可以广泛的应用于金融、电子政务、溯源跟踪等多种场景。
4 亮点
共识过程的离散型投票变更为连续型投票传统共识中,节点间对区块的投票用 0 或 1 代表节点的意见,其投票为离散型,EDA 算法则是一个连续区间的概率取值,用以表示结点对本轮共识的置信度。
针对不同使用环境实现效率参数可调节并行共识将异步系统的运行效率得到提升,充分发挥并行系统分布式计算的能力。配合异步系统多节点的设计,可以进一步提升系统的并发性能。
节能降耗 不存在头节点的选取流程,无需节点自证性能(PoW)或权利(PoS),在完整维护无中心系统运行的过程中,充分降低能耗。此外,方案中除了对信息进行摘要提取需要进行浮点运算外,其余运算、排序等过程均基于整数运算,对节点性能要求极低,可进一步降低社会经济成本。
低传输开销 不需要在共识过程中与大多数节点连接,并获取投票(PBFT),可以节省系统数据传输的开销,尽可能的降低节点对系统网络结构的依赖。
参数可调节 本算法共识效率基于收敛区间、采样率等参数的选取,可通过实时调整相关参数,获得最优的系统效率。
兼容多种网络结构EDA 共识算法对于传统的链结构和 DAG 结构都有很强的适应性。