一文读懂 Wanchain 委托机制:降低参与门槛,抵抗中心化风险

转载 公众号 WanFans  2019-06-12 10:45  阅读 79 次

之前,我们介绍了星系共识的整体架构和流程《一文读懂万维链 PoS 星系共识架构特点和运转流程》以及星系共识的随机数生成算法《决定公链是否可信的随机数,Wanchain 究竟是怎样生成的?》以及出块者选择算法《决定公平的出块人选择机制,Wanchain 是如何设计的?》。这两个算法能够保证在确定了共识参与者之后,共识过程能够安全稳定的进行。那么,如何才能够让所有的权益持有者参与到共识过程中呢?本文将详细介绍星系共识的委托机制

 

1 星系共识委托机制设计背景

当前区块链业界已经有了众多 PoS 共识机制,它们或由严谨细致的学院派提出,或由拥有丰富从业经验的产业界提出,但是都普遍缺乏实用性。体现在如下几点:

1.1 实际参与门槛较高

一方面,PoS 共识协议虽不同于 PoW 对算力的高依赖性,但是也要求参与者节点有较好的计算能力和网络带宽,能够及时的完成协议内容,因此 PoS 参与者需要投入一定的硬件资源;另一方面,PoS 的收益分配原则是「权益越大,收益越大」。二者相结合的结果就是参与 PoS 有较高门槛,即只有拥有较高权益的节点才会有足够的动力去参与 PoS,拥有较小权益的节点则由于参与 PoS 的成本高于预期收益而被「拒之门外」。这个「门槛」虽不在 PoS 理论设计中,但是却是现实存在的。

1.2 中心化风险

由于参与门槛较高,只有较大权益拥有者可以参与到 PoS 共识过程中,从而获取共识收益。而获取的共识收益会加大共识参与者和非参与者之间的权益差距,陷入「富者愈富,穷者愈穷」的恶性循环,最终可能导致共识中心化的风险。

1.3 违背基础安全假设的风险

几乎所有 PoS 共识机制的安全基础为诚实大多数假设(honest majority assumption),即诚实节点占参与共识协议权益的大多数。这个假设对于整个区块链网络是成立的,但是如果共识参与门槛很高,只能吸纳一小部分权益参与到共识过程中,那么具体到 PoS 共识协议中这一假设就未必成立了。这本质上是一个取样问题,当样本量较小时,并不一定具有整体的统计特征。

因此,如何设计一种机制能够降低 PoS 参与门槛,尽可能吸纳更多的权益参与到共识过程中,对整个共识的实用性和安全性都具有重要意义

2 星系共识委托机制的意义

星系共识在设计之初就充分的考虑了协议的实用性。这个实用性不仅仅体现在降低共识过程中需要的计算和存储资源,更重要的是能够保证共识的参与者能够顺畅的参与到整个过程中。星系共识具有完整的委托机制,拥有较大权益的节点可以直接参与到共识过程中,而拥有较小权益的节点可以通过委托机制参与到共识过程中。理论上任何一个 WAN 的持有者都有能够加入到共识过程中,这是 PoS 协议的精神所在,也是星系共识实用性的体现。在这一方案下,更多的 WAN 会加入到共识中,从而使整个网络更加安全健壮。
因此,完整的委托机制降低了 PoS 共识参与的门槛,提高了星系共识的实用性,与其他 PoS 共识协议相比具有明显优势。

3 星系共识委托机制的理论基础 —— 委托签名(proxy signature)

委托签名是密码学中的一种特殊签名算法,它能够使一个个体,称为委托者或原始签名者(original signer),将自己对消息签名的权利委托给另外一个个体,即被委托者(proxy signer)。被委托者能够计算出一个委托签名,任何拥有原始签名者公钥的个体均可以验证签名的合法性。严格的说,委托签名算法为多个算法的集合,PS=(G,K,S,V,(D,P),PS,PV),其中 (G,K,S,V) 是一个标准数字签名算法(比如 ECDSA),(D,P) 是委托和接受委托的算法,PS 是委托签名生成算法,PV 是委托签名验证算法。

一文读懂 Wanchain 委托机制:降低参与门槛,抵抗中心化风险

4 星系共识委托机制的流程

星系共识的委托机制是基于三重 ECDSA 委托签名算法(Triple ECDSA Proxy Signature)实现,这一算法由 Wanchain 理论团队设计提出,兼具通用性、安全性和高效性。同时结合智能合约,星系共识实现了完整的委托机制,使得任何 WAN 的持有者均可以加入星系共识中,维护网络安全,并获取共识收益。假设 Alice 为一名普通的 WAN 持有者,公私钥对为 (pki,ski );Bob 为一名星系共识的代理节点,公私钥对为 (pkj,skj );Proxy_SC 为一个特殊智能合约,用于验证并存储委托过程中的相关数据。现在 Alice 要委托 Bob 去代替自己参与星系共识,具体流程如下:

Step1:Alice 在本地将自己的私钥 ski、Bob 的公钥 pkj 输入三重 ECDSA 算法中,生成委托证书 cert=(pki,pkj,ω,(R,s));
Step2:Alice 构造一笔交易,将委托证书发送到 Proxy_SC,同时委托资金锁定在 Proxy_SC 中;
Step3:Proxy_SC 验证 Alice 所发委托证书的合法性,并生成代理公钥 pkp 和委托证书一同存储在合约中;
Step4:Bob 对 Proxy_SC 中存储的证书进行解析,利用自己的私钥 skj 计算得到代理私钥 skp;
Step5:代理公钥 pkp 作为独立身份参与星系共识,Bob 通过代理私钥 skp 完成共识过程,获取共识收益;
Step6:共识收益按照委托约定,在 Alice 和 Bob 之间进行分配;
Step7:委托期结束后,Proxy_SC 将委托资金返还到 Alice 账户中。

一文读懂 Wanchain 委托机制:降低参与门槛,抵抗中心化风险

5 星系共识委托机制的优势

5.1 通用性

星系共识的委托方案在标准签名、权利委托和委托签名中均使用 ECDSA 签名算法,这一算法也在区块链领域广泛使用。它与已有的区块链技术架构完全兼容。无论是直接注册加入到共识机制中,还是通过委托机制加入,对参与者出块的验证逻辑完全一致。

5.2 非交互

委托的过程是非交互的,因此委托者和代理节点之间不必建立安全的通信信道,完全通过链上交易完成委托,在共识过程中更加高效。

5.3 高安全性

已有的一些委托机制,往往需要委托者将资金转入代理节点账户,由代理节点直接参与共识,并完成收益分配。这种方式是中心化的,对代理节点诚信度要求较高,容易发生「携款跑路」的现象,对委托者资金安全产生巨大安全。星系共识的委托机制基于密码学算法实现,委托者的本金被锁定在智能合约内,代理节点只获得委托者的参与共识的权利,并不对用户资金具有任何控制权,因此能够充分保障用户的资金安全。

5.4 公开透明

星系共识委托机制中,委托的过程以及代理节点参与共识的数据都在链上进行存证,所有数据公开透明。一方面,保证代理节点能够公平分配共识收益,无法作恶;另一方面,也方便委托者能够对代理节点的活性进行甄别,从而选择合适的代理节点。

本文地址:http://www.lianchaguan.com/archives/6695
温馨提示:文章内容系作者个人观点,不代表链茶馆对观点赞同或支持。
版权声明:本文为转载文章,来源于 公众号 WanFans ,版权归原作者所有,欢迎分享本文,转载请保留出处!

发表评论


表情