星系共識擁有完全委托機制的實用PoS共識
星系共鸣:拥有完整拜托机制的实用 PoS 共识协议
共鸣协议是区块链技术系统的核心组成要素,是全部系统稳定性和安全性的保证比特币引入了第一个区块链共识协议,即工作量证明(PoW)在这一共识协议下,为获得出块权,矿工需要不断进行哈希计算,直到结果小于某个特定值,而持续的哈希计算耗费大量的能源,这也是 PoW 被人诟病的主要原因为解决能源浪费的问题,很多新型的共识机制被提出,它们将安全基础由计算能力转为依赖其他资源,其中权益证明(PoS)被广泛研究和认可,作为 PoW 最有益的替代者,我们坚信,PoS 将是区块链共识未来的发展方向立足深入研究已有优秀共鸣协议(如 Ouroboros、Dfinity)的基础上,充分借鉴其设计优势,结合多种密码学手段,我们设计出星系共鸣协议同时,星系共识引入了全新的拜托机制,并在万维链完成了概念验证(POC)
星系共鸣的创新点:
1.重新定义了权益并在账户模型下(account model)模拟了币龄(coin age)的概念,保证了共识参与者的稳定性与其被动地被选择,所有 WAN的持有者需要主动注册去参与到星系共鸣中,这样保证了参与者在共识进程中是活跃状态,而不是沉睡状态(sleepy)由此增加的稳定性使得全部协议在现实运用中具有更高的实用性
2.设计了新型安全的随机数生成算法,可用于出块者的选择以及其他用处,为系统引入熵(entropy)并保证了整个协议的安全性
3.设计了 ULS(unique leader selection)算法并用于出块者选择与其他选择算法相比(如VRF),ULS算法在保持出块者匿名的同时,保证了出块者的唯一性,降低了自然分叉的几率
4.设计了三重 ECDSA 委托签名方案并实现了完整的委托机制,持有较少WAN 的用户也能够参与到共鸣过程中,从而吸纳更多的权益加入到共识协议中
5.设计了公平合理的嘉奖机制,鼓励共鸣过程中的诚实行动并对歹意行为进行惩罚,保证权益散布健康,避免权益集中(stake centralization)
Wanstake 设计
1. 设计概览
所有的 PoS 共鸣方案都致力于使参与者通过去中心化的方式达成共识,然而往往忽略了影响共识的一些重要因素,如共识参与者的稳定性和活跃度、权益的分布等等我们的设计通过实现以下目标,保证了共鸣机制在现实应用中的可行性
· 高稳定性:共识参与者应保持并参与到共识过程中
· 高活性:与其被动地被选择为出块者,所有参与者需要通过主动注册的方式参与到星系共识中,这样能够保证共鸣参与者具有很高的活性,从而不会由于掉线等原因而影响共识过程的正常进行
· 独立性:共鸣参与者无法通过将持有的 WAN 分布在不同的账户中或与其他参与者合作将 WAN 放在同一账户中而取得额外收益
· 权益的健康分布:健康的权益散布不能够太集中,同时也不能够太分散
星系共鸣鼓励 WAN 持有者将尽量多的币投入到共识协议中,同时也采取方式限制 WAN 的大型持有者(如交易所)对共鸣过程的影响,避免其控制共鸣过程
2. Wanstake
定义:
· WAN:万维链的原生币,通过锁定在一个特定的智能合约(即共识智能合约)中转化为 Wanstake
· Wanstake:通过锁定 WAN 得到,WAN 的数量越多,锁定时间越长,生成的Wanstake 越多
· 权益比率:个人持有的 Wanstake 占全部 Wanstake 的比例
· CSC:共鸣智能合约(consensus smart contract)的缩写,WAN 持有者通过将WAN 锁定在 CSC 中获取 Wanstake
· H函数:计算共鸣参与者 Wanstake 量的函数
WAN 的持有者通过将一定数量的 WAN 锁定在共鸣智能合约中去参与万维链星系共鸣协议共鸣智能合约根据锁定的 WAN 的数量和锁定时间计算得到Wanstake 的数量值得注意的是,考虑到越临近锁定时间结束,参与者的诚实性和稳定性就越高,Wanstake 的数量在锁定时间内并不是固定值,而是根据剩余锁定时间产生变化Wanstake 的持有者以正比于其权益比率(Wanstake ratio)的几率被选择参与到共鸣进程中当参与者的锁定时间结束后,将自动失去参与共识的权利,共识智能合约会在一段时间以后将锁定的 WAN返还到原始账户中
如上图所示,H函数在计算 Wanstake 的进程中具有重要作用为到达上文提到的设计目标,H函数应当满足以下几个性质:
w为锁定的 WAN 的数量
L为锁定时间长度
t为余下锁定时间占全部锁定时间的比例,锁定开始时为 1,结束时为 0
攻击抵抗分析
? Double spending attacks
在 double spending attacks 中,攻击者希望令两笔矛盾交易都生效,想实现这类攻击只有两种情况:(i)含有两笔矛盾或一笔与之前生效交易相矛盾交易的区块被确认合法生效;(ii)出现含有矛盾交易的两条合法分叉链对(i),协议要求对任何收到的区块进行合法性检查,包含任何矛盾交易的区块将被认定无效同时我们的 chain-based 共鸣只接受最长链作为合法连,不会出现两条合法分叉链的情况,进而避免 double spending 发生
? Grinding attacks
在 grinding attacks 中,攻击者希望影响出块者选择进程以提高自己被选中的几率我们的共鸣中,出块者选择基于 random beacon和两阶段的 ULS算法,在随机数生成过程中我们采取了门限签名方案,任何参与者只能决定自己的签名部分,只要有至少一个参与者是诚实的,攻击者就无法决定最终随机数结果,同时只要参与者中攻击者数量低于门限值就无法预知终究随机数结果,所以Epoch Leader 的选择没法通过控制随机数生成进行影响在两阶段的 ULS 算法的 SMA 生成过程中,被选中的参与者只能选择是不是广播他们的数据,如果不公布将失去部份收益而且 SMA 的生成在 SIGN 阶段之前,而 Epoch Leaders 排序在 SIGN 阶段之后,攻击者没有信息优势来影响 ULS 算法的选择结果
? Transaction denial attacks
在 transaction denial attacks 中,攻击者希望阻止一笔合法交易被确认,我们强调诚实节点不会拒绝任何合法交易,所以如果要实现 transaction denial attacks,就意味着所有的 Slot Leaders 都是恶意的由于诚实主体假定和 follow-the-stakerate选择方案,攻击概率是随着时间以小于 1/2 的底数指数下落的,攻击者实现攻击的概率趋近于零
? Bribery attacks
在 bribery attacks 中,攻击者希望通过腐蚀诚实参与者为其所用来实现某种歹意目的,例如实现 double spending attacks在我们的共识中,理性的参与者由于两点原因不会接受这样的贿赂腐蚀一是诚实参与者接受这样的贿赂腐蚀而变成恶意参与者的话,他将失去抵押在智能合约中的权益二是歹意行为会损害 Wanchain的经济生态系统,进而减低 WAN的价值,参与者的 WAN就会贬值所以理性参与者不会接受贿赂腐蚀而且只要保证诚实主体,briberyattacks 也没法影响到共鸣的安全性
? Long-range attacks
在 long-range attacks[15]中,攻击者希望从链上一个之前较远的位置开始重构一条合法链,这样就可以使链上数据与当前真实状态不同,进而实现双花攻击等协议中我们在有效链上设置了一些检测点(check point),随着链不断延长,在最后一个检测点之前的数据将不再改变,即新出现的检测点的区块无效,所以攻击者没法实现 long-range attacks
? Nothing at stake attacks
在 nothing at stake attacks 中,参与者会在多个分叉上产生新的区块,无论终究哪一个分叉被确认有效都将获得收益由于 PoS 共识中生成区块几乎没有消耗,这种攻击就很容易发生,而在 PoW 共识中,矿工不会浪费算力来在不同分叉上产生区块,这样很可能让他完全得不到收益同时,这种攻击常发生在某一时间段或某一区块高度有多个合法出块者的情况下,例如通过 VRF 进行出块者选择的时候,但是在我们的共鸣中,某一时间段内只有唯一合法出块者,几近不会出现分叉情况,参与者就没有动机发动 nothing at stake attacks
? Past majority attacks
在 past majority attacks 中,攻击者希望腐化某些之前的参与者以取得在过去某段时间里的权益优势我们假定当前的诚实权益大多数是公道的,而为了在past majority attacks 中获益,攻击者需要与过去某一时间的大部分权益持有者重新产生区块来代替之前已有的区块,这就类似于前面提到的 long-range attacks,会与检测点(checkpoint)产生冲突,这种新产生的区块会由于位置早于检测点而不被接受,所以我们的共鸣不会受到 past majority attacks 影响
? Selfish-mining
在 selfish-mining 中,参与者会私下保留一个合法区块然后提早去构造下一个合法区块,由于可以获得计算时间上的优势,这种情况常发生在 PoW 共识中,然而在PoS中尤其是我们的共识当中无需如此由于Slot Leaders是在一个epoch开始时由 random beacon 和 Epoch Leaders 产生的秘密信息决定的,不管参与者是否广播新的区块都没法影响下一个 slot 中出块者的选择,所以私下保留当前的合法区块是无利可图的事实上,如果超出了一个 slot 时间窗口没有广播新的合法区块的话,出块者极可能失去此区块的收益所以发起 selfish-mining 是不理智的,及时产生也不会影响我们共识的安全性
星系共鸣优势
1.可证明安全
星系共识基于 Ouroboros的可证明安全模型设计,在保存其可证明安全共识框架下对核心密码组件进行了设计提升
2.自然分叉概率低
星系共鸣采取 ULS(unique leader selection)算法进行出块者选择,与 VRF 算法不同,ULS 算法在保持出块者匿名的同时,保证了出块者的唯一性
3.安全随机性引入
随机性的引入对于保证共识的安全性有着积极的影响,星系共鸣利用基于门限签名方案的 random beacon 引入随机性,而 random beacon 的安全性由两方面保证:1是只要至少 1 名参与者是诚实的便可保证安全,下降了诚实主体假定要求;2是保证 G.O.D (Guaranteed Output Delivery)性质,即便部份参与者掉线,只要参与者数量高于预设门限值就可以成功执行
4.公道的权益设计
PoS 共识中合理的权益设计是一个很有意义的考量,为保持参与者的稳定性和活性,我们要求参与者将自身持有的 WAN锁定在一个特殊的智能合约之中以参与共鸣,锁定 WAN的数量、锁定时间和剩余锁定时间比例都是用于计算参与者权益值的参数,这样的设计在 account model 下模拟了币龄的概念同时保证了星系共识参与者的稳定性
5.完整的拜托机制
星系共鸣采取我们全新设计的非交互高效 ECDSA拜托签名算法,实现了完整的拜托机制,限制签名空间且与现有区块链签名体系相兼容,保证了任何WAN 持有者皆可参与共鸣,提升了 Wanstake 的活性
6.清晰可信的经济激励模型
星系共识拥有对共鸣参与者完全的经济激励模型,由于参与者在链上进行信息交互,他们的行为也将被反映在链上,我们引入活性系数的概念来评估参与者的表现,活性越高收益越多,这样的经济激励机制是清晰明确并令人信服的
白皮书下载地址:
小孩脾胃虚弱的症状吃什么可以治小便发黄
小儿积食的原因
-
吓人曝勇士准备交易詹姆斯报价汤神FMVP
万物互联 | 2020-08-08
-
低功耗广域网络LPWA物联网技术为养老护
万物互联 | 2019-07-16
-
运营商能否成为物联网产业主导力量
万物互联 | 2019-07-16