cryptography - 超级账本上可证明公平的随机数生成器
问题描述
我正在开发一种去中心化算法,该算法能够根据输入数据和给定的随机种子进行确定性计算。
但是如何在超级账本上实现可证明公平且密码安全的伪随机数生成器(CSPRNG)?
我的第一个假设是从共识算法中获得一个随机数,但如果验证者仅使用他操纵的区块发送交易,他就可以操纵当前区块以发挥他的优势。
后来我开发了这个算法,它应该可以工作但很难实现:
for every block:
every validator:
1. generates new temporary privkey and pubkey
2. makes a raw transaction to the next validators pubkey
3. transfers his privkey to the blockchain after a block was broadcasted
4. verifies every privkey which belongs to a pubkey on the blockchain
5. calculates H(blockhash | privkey1 | privkey2 | ... | privkeyn) as new random number
我认为这对于赌博应用程序也很有趣。
那么解决我的问题的最简单方法是什么?我应该实现上面显示的算法吗?
解决方案
推荐阅读
- python - Python/Kivy AttributeError:“超级”对象没有属性“__getattr__”
- flask - 启动电报机器人的问题
- python - 从字符串中读取变量的值
- asp.net - .NET Framework 升级后永远等待主机
- asp.net-core-mvc - .NET Core MVC 捆绑 - 在 ASP.NET MVC Core 中是否有等效于 System.Web.Optimization.BundleTable.EnableOptimizations = false 的方法?
- camera - 清除媒体基础中的预览窗口
- r - 查找网络中的所有闭环
- jestjs - EADDRINUSE :::3000 in jest
- javascript - Why do we use BrowserRouter in react?
- sql-server - 将 DISTINCT 值分配给 SQL 中的变量