Algofans | Algorand爱好者

如何确保公有链中的随机数Random Numbers?

云上春野云上春野 2019-06-10 103 次 收藏0
如何确保公有链中的随机数Random Numbers?

Blockchain.News特邀专访-Algorand的陈婧博士向读者传授如何确保公有链中一个数字的随机性! 她还评估了现有的Proof-of-Stake(POS)协议与DPoS VS Bonded PoS VS Pure POS!

 

1.对于2019年3月5日发表的白皮书“共识的数字签名”。它表明签名方程包含一个随机值r。 你如何确保公共区块链中的随机数真的是随机的?

随机性用于选择委员会成员在Algorand的纯粹证据共识协议中进行块生成。 这是通过可验证随机函数(VRF)完成的。VRF的seed由块提议者生成,并且取决于到目前为止的区块链的状态。 在看到区块提议者的消息之前,攻击者无法预测随机性,因此无法根据它进行预先攻击策略制定。 协议中使用的随机性每轮都会更新,并且看到当前轮次的随机性并无助于攻击者预测未来轮次中使用的随机性。类似的方案可用于产生用于其他目的的随机性,包括数字签名。

 

2.委托权益证明(DPOS)和抵押权益证明Bonded PoS的问题有哪些?

虽然Dpos和BPoS的权益证明方法更具环保意识 - 因为它们不需要PoW工作量证明系统中的大量计算能力电能来挖矿 - 但它们仍然是设计比较中心化的。

 

在委托的PoS股权证明中,选择固定数量的选举实体或代表来生成区块。代表们被网络用户投票授权,每个用户获得与他们在网络上拥有的通证数量(即他们的Stake)成比例的票数。但是,一旦选定了代表,他们就会在超级节点的位置上长时间保持地位,从而使系统更加中心化。

 

此外,无法保证所有代表节点都保持诚实。即使他们的诚实是肯定的,因为他们的身份是众所周知的,他们很容易成为攻击者的明显目标。

 

在Bonded PoS证明中,用户的投票权与他愿意“锁仓”的通证数量成比例 - 也就是说,然后长时间放在那里。如果他被抓到在系统内采取恶意行为,那么这些通证可能会被没收。这就使大量的“小”用户处于很不利地位,因为他们可能是经常需要他们的通证并且不能长时间锁定的用户。另一方面,拥有大量通证的用户通常更愿意这样做,导致系统中的投票权力不成比例地倾向于他们。

 

相比之下,Algorand的Pure Proof-of-Stake(PPoS)方法随机选择负责块生成的用户。随机选择不仅发生在每个块上,而且实际上发生在每个块的拜占庭协议的每个步骤中。可以选择每个用户提议并对块进行投票。选择概率与用户的总stake成正比,而不是他愿意锁定的stake。该协议不会要求用户锁定任何stake以参与,也不会没收用户的stake。

 

3.为什么采用荷兰式拍卖来确定Algorand的通证价格?
Algorand基金会负责分发Algos - Algorand平台的原生代币。 Algos最初将通过一系列荷兰式拍卖进入发行量,因为它们具体提供三个主要好处 - 公平性,透明度和便利性。

荷兰式拍卖让市场决定代币的公平价格,而不是由任何特定实体设定价格。此外,在荷兰式拍卖中,所有参与者赢得任意数量的代币,公平对待参与者的代币价格是相同的。

 

荷兰式拍卖方便用户在线参与。实际上,在这种拍卖期间,用户不需要在整个时间保持在线。他们可以出价然后离线,甚至可以在线返回以便稍后再次出价。

 

最后,在Algorand区块链上进行拍卖以获得绝对的透明度。所有出价都放在区块链上,因此每个人都可以验证拍卖是否已正确进行。

 

4.现在公链中的大多数dApp与游戏相关,Algorand如何吸引现有领导者(如EOS和Tron)的区块链开发人员?

 Algorand的技术在去中心化,可扩展性和安全性方面脱颖而出。我们致力于建立一个真正的无需许可的和去中心化的公链; 这是许多区块链开发人员共同的愿景。 Algorand区块链提供并将继续提供真正技术所在的许多独特功能。

 

例如,由于Algorand区块链不分叉,它提供了即时交易终结性。在看到包含特定交易信息的新生成的区块之后,用户在他可以安全地依赖该交易信息之前不需要等待在其之后生成若干其他块。这对时间敏感的应用程序至关重要,因为无需权衡交易的短暂确认时间和某些交易从链中消失的风险。

 

Algorand官网:  

https://www.algorand.com/

Algorand基金会:

https://www.algorand.foundation

Telegram电报群: 

https://t.me/algorand

综合白皮书:

https://www.algorand.com/docs/whitepapers/

Medium:  

https://medium.com/algorand

Naver Blog:  

https://blog.naver.com/algorandmarketing

领英Linkedin:   

https://www.linkedin.com/company/algorand/

相关具体的开发者与SDK链接:

GoSDK:

https://github.com/algorand/go-algorand-sdk

JavaScript SDK:    

https://github.com/algorand/js-algorand-sdk

测试网申请链接: 

https://www.algorand.com/apply-testnet

Github存储库链接:

https://github.com/algorand/js-algorand-sdk

开发者网址:

https://developer.algorand.org/docs/javascript-sdk

联系方式:

https://www.algorand.com/contact

本文系作者个人观点,转载请注明出处!
喜欢 0
支付宝扫码打赏
微信打赏

相关文章

更多