DappLink去中心化随机数生成器

  • Dapplink
  • 更新于 2024-06-28 09:43
  • 阅读 618

那么貌似简单的随机数为什么还需要特意做成去中心化的,随机数会在哪里用到又会起到什么作用?去中心化随机数有什么必要性又有哪些解决方案呢?

去中心化随机数生成器,顾名思义,用来产生随机数并且是去中心化的非单一节点或组织控制的。

那么貌似简单的随机数为什么还需要特意做成去中心化的,随机数会在哪里用到又会起到什么作用?去中心化随机数有什么必要性又有哪些解决方案呢?

一.随机数

1. 真随机数和伪随机数

首先,随机数可以分为“真随机数”和“伪随机数”。在现实生活中,“真随机数”可以简单的通过抛硬币、掷骰子等方式获得,包括“明天的天气”、电子原件噪音、核裂变等都算在“真随机数”的范畴内。概括来说,这是一组由物理性随机数发生器产生的无法预测无法控制的可能性,是随机事件。

到了计算机的世界里,获得一个真的“随机”的随机数就不那么容易了。在计算机中的随机数函数是按照一定算法模拟产生的,其结果是确定的,是可见的,针对相同的“种子”,可以确定的获取某一个并不随机的“随机数”。所以用计算机随机函数所产生的“随机数”并不随机,是“伪随机数”。不过当然,为了在计算机中能够尽量获取更加随机的随机数,有非常多复杂的随机数生成算法, 关于这些算法,网上有很多解决方案,我们就不在这里赘述了。

比较完“真随机数”和“为随机数”之后,我们可以了解到这两种随机数的差异大概就在于是否可以“被准确预测”以及是否能够“人为控制”。

2.随机数的作用

说到随机数的作用,那可真是太多了,彩票必须是纯随机,否则通过操纵我就是世界上最有钱的人。游戏中的地图生成、降生地点、发牌等等,都是随机数产生的,如果能够被预测,那么游戏的公平性和游戏体验都将大打折扣。甚至连AI都与随机数有着十分重要的联系,比如机器学习的初始化权重和数据分割,强化学习的探索策略和环境模拟,生成对抗网络和隐私保护中的噪声输入等等。

3.去中心化随机数

区块链技术最大的特点就是去中心化,我们已经知道了去中心化可以带来节点间相互监督的好处,避免中心化节点遭人为意志操控。为了避免中心化随机数生成器被控制、被预测等风险,去中心化随机数生成器应运而生。去中心化随机数生成器应该能够做到随机数结果不受个别节点作恶的影响,不会因为节点对于某个结果的喜恶决定随机数的去留,随机数结果不能被预测,随机数的生成过程应该被去中心化节点共同见证。

二.DappLink DRNG

DappLink的去中心化随机数生成器(DRNG)由多节点共同参与,共同参与随机数生成过程、共识过程以及监督审计过程。DappLink DRNG有几大特点:“无延迟”,“批量生成”,“拜占庭容错的”,“随机数生成过程可验证”,“恶意节点可发现”,“参与随机数生成的节点无法预测随机数结果”等。

1.无延迟

去中心化随机数生成器通常受密码学算法、共识算法以及信标链响应速度的影响,在用户发出一个随机数请求之后,需要经过上述一系列过程,导致随机数结果返回至用户侧时会有或多或少的延迟。延迟的长短在游戏行业是十分关键的,大家都知道的,如果我们在玩掷骰子的游戏时骰子在地上转了1分钟才停下,那么怕是不会有人愿意玩了吧。

DappLink 的用户请求结果与此时正在进行的随机数生成过程并没有直接关系,也就是说用户想要获取随机数结果,不需要等待一轮完整的随机数生成流程执行完成。这极大的节省了随机数请求的响应时间,几乎做到了无延迟,这种特性为大规模应用进入 Web3 提供了无限可能。

2.批量生成

随机数生成过程中有密码学、共识、数据上链等技术共同支持,这些技术必然耗费一定的时间成本和计算成本甚至token成本。那么我们希望能在一轮随机数生成过程中产生更多的随机数,以提高随机数的产生效率以及降低随机数的平均成本。

DappLink 根据可信节点数量配置以及参与节点数量,一轮随机数生成过程可以产生若干数量的随机数,最多可获得参与节点相同数量的随机数结果。这样在节省随机数生成的平均成本的同时,产生了充裕的随机数后备结果,更加保证了随机数请求的响应速度。同时我们会用一些技术手段保证这些多出的随机数结果不为人知,直到被提供给用户的时候。

3.拜占庭容错&恶意节点发现

既然是去中心化的系统,那也就意味着会有许多节点共同参与其中。如果所有节点都是安全可信的,那自然是一个理想情况,但是我们必须考虑到,如果有恶意节点参与到去中心化系统中来想要搞破坏,那该如何应对。

DappLink DRNG能够容忍一定恶意节点,恶意节点常见的行为可能是提供错误的签名影响聚合签名的验签过程、向参数共识的不同节点发送不同数据影响共识过程、或者对于随机数生成的环节进行拖延等等。DappLink对于这些恶意节点的破坏行为有着各自的解决方案,争取不因为个别节点的恶意行为导致一次随机数生成过程作废。当生成过程中发现异常情况时,系统会主动筛查恶意节点,争取在排除恶意节点的数据之后还能完成本轮随机数生成过程。各节点将自己检查出的疑似恶意节点加入黑名单,并会在下一轮拒绝他的消息,从而减少伤害。当然黑名单中的疑似恶意节点也有机会从黑名单中剔除。

4.随机数生成过程可验证

DappLink 的去中心化随机数生成过程包含了多次多节点交互,参与随机数生成的节点从一轮随机数产生的流程开始,记录自己以及经自身检验过的来自其他节点的数据。生产数据以及共识数据会经过隐私处理之后在链上合约保存。当用户想要对一个随机数进行检查,验证随机数是否真实由一定数量的节点共同监督产生,可以通过合约查询到该随机数曾经过哪些节点共同监督产生。

5.随机数生产节点无法预测结果

每个参与随机数生成的节点都有机会产生由自己主导的随机数,这使得节点有预测随机数结果的风险。为了降低这种可能性,DappLink DRNG会将每一批次随机数以随机的顺序返回给不同的用户。由于随机数的生成过程与用户的随机数请求并非一一对应的关系,所以节点并不能确定自己主导生成的随机数将会在什么时间以什么顺序分别作为结果返回给哪些不同的用户。

同时为了获取更加安全不可预测的随机数,我们可以在将随机数作为结果返回给用户的最后阶段结合链上随机数为结果增加噪声。

三. DappLink DRNG 的应用前景

DappLink DRNG 致力于成为快速、安全、鲁棒、公平、可验证的去中心化随机数生成器。为用户提供可参与、可监督、更高效、更快速的去中心化随机数生成器解决方案,以更加安全透明公平的方式为以Web3游戏赛道为主的随机数使用方提供更好的服务。

四.关于 DappLink

DappLink 于 2022 年开始由 Savour Labs(现已改名为 The Web3) 孵化而成,团队成员分别来自 Binance、Bybit、 Mantle、Chainup,Bixin,TokenPocket 和 HyperChain 等知名 web3 公司,目前已经上线跨链互操作协议和多重质押协议的测试网, Layer3 AppChain 部分模块已经上线测试网。

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Dapplink
Dapplink
0xBdcb...f214
首个模块化、可组合的Layer3协议。