特邀文章的作者:Pyrite——ruby.exchange核心团队

Ruby.Exchange的主要特点之一是使用gemstones:一种NFT艺术品,在其外观和为用户提供的实际功能上都各有不同。

作为用户资料标识符显示的gemstones将有随机生成的参数。同时,赋予用户许可奖励的gems将使用一个简单的抽奖系统进行分发。对于每种情况,都需要一个随机数生成器(RNG)。

然而,在计算机系统的确定性环境中很难产生可靠的随机数。同时,至关重要的是,gemstones的分配——这将体现真正的经济价值——不能被用户或网络验证者所操纵。

事实证明,SKALE的BLS签名为这个问题提供了理想的解决方案。

链上随机性问题

随机性对于在线和离线的许多应用程序都很重要,最明显的是在游戏中,而且在医学试验、加密密钥生成、统计抽样、计算机模拟甚至生成艺术等各种领域中也是如此。

在现实世界中,可以通过简单的抛硬币或掷骰子来获得足够“优质”的随机性。在数字领域,真正的随机性更难找到。加密钱包的私钥生成通常涉及人工提供的随机性来源,例如移动鼠标几秒钟。当然,在需要实时随机数时,这是不切实际的。

视频游戏通常使用伪随机数生成器(PRNG),这对大多数用途来说已经足够好了,但不能被认为是真正的随机。在处理涉及价值的应用时,我们不能冒任何风险。

Ruby.Exchange需要一个RNG来生成和分发gemstone NFT这必须使用一个不能被攻击者影响的随机性来源,每个人都可以信任,并与区块链集成以实现完全透明。

以太坊确实有一个随机性来源,其形式是每个区块所包含的数据的哈希值。如果不是因为每个区块都是由一个矿工生产的,他能够构建数据并改变产生的哈希值,以及比其他人更早知道结果的话,这对几乎所有的应用来说都足够好了。换句话说,矿工可以抢先随机性:如果矿工在落地前不知道结果,就不可能在以太坊上翻转虚拟硬币。

许多基于以太坊的项目使用Chainlink的VRF(可验证的随机函数),这是一个可证明的公平的RNG,但在SKALE上还无法使用。

幸运的是,SKALE本身就有理想的解决方案,就在网络的安全方式中。

BLS签名胜出

正如斯坦在上面的视频中所评论的那样,只有一种已知的数学算法能够以合作的方式从大量的节点中生成随机数,从而提供一个去中心化的、值得信赖的随机性来源。

BLS(Boneh-Lynn-Shacham)签名使一个团体能够签署一条信息(无论是文件、区块链交易还是其他任何东西),每个签署者都提供最终签名的一个片段。

一个较大的潜在签名者集合的任意子集都可以签署交易并产生相同的结果。SKALE已经使用了这种阈值签名,需要压倒多数节点(例如16个节点中的11个)来验证一个区块,而不是由一个验证者单独负责产生每个区块。

一组较多节点的任意子集都可以创建相同的签名。

这意味着BLS区块签名可以被认为是一个可靠的随机性来源。所产生的随机数会随每一个区块发生变化(每几秒钟一次),无法被恶意矿工影响或提前预知。

在实践中,这个随机性来源可以通过一个简单的Solidity调用来访问,并且可以很容易地被Ruby或任何其他应用程序使用。

只需几行代码就可以将随机数生成纳入dApps。‌ ‌

可靠的随机NFTs

SKALE使用阈值加密意味着SKALE建立共识并将块添加到区块链的方式中内置了随机性来源。

BLS签名也是防止对SKALE链进行MEV攻击的技术从而避免了困扰以太坊主网上DeFi应用的Ruby上的前置运行问题——这是我们欣赏的另一个特点。

SKALE网络的这一独特属性意味着Ruby拥有理想的方法,可以将可证明的随机数纳入NFT的生成方式中,并将其隐藏起来,不让潜在的攻击者知道,直到它们被公开。

安全、轻松、免费。

Pyrite——ruby.exchange核心团队

欲了解更多信息,请访问https://ruby.exchange/ & https://blog.ruby.exchange/

https://docs.chain.link/docs/chainlink-vrf/

https://youtu.be/3P7Fv8FoGHU

https://skale.network/blog/in-search-of-random-guest-post-from-ruby-exchange/undefined

https://blog.ruby.exchange/how-skale-solves-the-front-running-problem/

https://blog.ruby.exchange/what-is-mev-and-why-is-front-running-a-serious-problem/