月亮链 月亮链
Ctrl+D收藏月亮链
首页 > BNB > 正文

稳定币:如何利用门限签名来生成随机信标?_比特币行情今日价格美金

作者:

时间:1900/1/1 0:00:00

作者:?ALEXANDERSKIDANOV

翻译&校对:?IANLIU?&阿剑

来源:以太坊爱好者

回顾2015,DFinity项目提出了令整个社区都为之兴奋的随机信标方案——使用BLS门限签名产生随机输出,同时保证输出的无偏性及不可预测性。然而,时至2020年的今天,构建无偏且不可预测的随机信标仍然困难重重,还在研究的项目少之又少。

其实门限签名只是构建随机信标的可行方法之一,我们前面发表过一篇概览文章,介绍其他可能的解决方法,其中包含本文要重点提到的一种。其他细节——随机信标是什么?什么是无偏性及不可预测性?除了门限签名还有什么方法——这些问题都能在上述概览中得到解答。

经过了多次设计迭代,我们最终提出类似DFinity的方案,这也是我们进一步深入理解随机信标的大好契机。

本文将以浅显的形式,讲述门限签名生成随机数的一系列协议。

密码学基础知识

为了更好地了解本文中提到的随机信标,我们需要掌握一些基础密码学知识。首先,我们必须区分两个概念:1.在本文中以小写字母表示标量,或者说普通常量;2.用大写字母表示椭圆曲线上的点。

我们不需要对椭圆曲线点了解得很透彻,只要掌握下面两点:

1、椭圆曲线点可以相加,也可以跟标量相乘,然后得到另一个椭圆曲线点。

2、即使知道G和xG的值,也不可能计算出x的值。

美国监管机构认为稳定币绕过监管漏洞,正在研究如何监管稳定币:9月20日消息,美国监管机构认为稳定币绕过监管漏洞,可能会从以下几个方面监管稳定币,分别为:把稳定币指定为系统风险;称稳定币为证券;视稳定币为货币市场共同基金;像监管银行一样监管稳定币;美联储正在研究与稳定币有竞争性质的中央银行数字货币 (CBDC)。

此外,全球性监管机构金融稳定委员会正在研究建立稳定币相关的标准和计划,可能会在 2023 年出台相关监管。(纽约时报)[2021/9/20 23:37:37]

在本文中,我们还将用到k-1阶多项式p(x);关于p(x),你不用想太多,只要把它当成一个方程就好,而且:只要你知道在k个不同的x下p(x)的值,你就能推导出所有x的p(x)值。

以此类推,对于同一个函数p(x)和基点G,如果你知道p(x)G代入k个不同的x值后的值,就可以推导出所有x所对应的p(x)G值。

只要明白了有关椭圆曲线点的这些属性,就能深度理解随机信标的工作原理了。

随机信标

假设1:系统中有n个参与者,至少需要其中的k位才能产生随机数。就算控制其中的k-1人,你也不能预知随机信标的输出结果、无法操纵结果。

直播|Aaron:DeFi加速领跑,如何获得持久发展?:金色财经 · 直播主办的金点Trend《2020 DeFi Dai飞吗?》马上开始!DeFi生态里,我们还应该狙击哪些项目?成长空间是多少?应该关注哪些风险?16:00准时开播!本场嘉宾Kava全球业务发展副总裁Aaron Choi分享“DeFi加速领跑,如何获得持久发展?”,请扫码移步收听![2020/7/29]

假设2:现在有个k-1阶多项式p(x),参与者1知道p(1)的值、参与者2知道p(2)的值、……、参与者n知道p(n)的值;大家约好使用G作为椭圆曲线基点,所有参与者都知道p(x)G代入所有x的值。我们将p(i)视为参与者i的“私人份额”,而p(i)G是其“公开份额”

要设计好的随机信标,最困难的部分,就是要找到这么一个多项式,使得每个参与者都能知道自己的私人份额,但是无法知道他人的私人份额——这也被称为分布式密钥生成。DKG会放在下个章节讨论,现在就先假设存在这么个多项式,而所有人都知道各自的私人份额。

我们接着讨论,如何使用这套假设在区块链协议中产生一个随机信标?假设网络产生一个区块,区块哈希为h。现在参与者们想用h作为种子以生成随机数,首先用约定好的函数,将h转换为某条椭圆曲线上的一个点:

H=scalarToPoint(h)

对于参与者i来说,因为他知道p(i)和H,所以可以自行计算出H_i=p(i)H。对外公布H_i并不会导致参与者i的私人份额p(i)暴露,因此在每个区块中都能重用同样的私人份额,因此DKG只需要进行一次。

美国货币监理署新署长:期望进一步了解银行与加密货币机构如何相互作用:美国货币监理署(OCC)新署长Brian Brooks表示,OCC正寻求与银行和加密货币机构的行业领袖进行更多的对话,期望了解如何进一步促进双方相互作用。他表示加密货币机构需要银行服务,他们需要跨银行通道进行交易的。他期望进一步了解有关加密货币对银行的需求以及银行对加密货币的需求,因为他们确实想在这方面有所作为。OCC是美国财政部的主要银行监管机构,Brooks于3月份离开Coinbase,加入OCC并担任首席法律官。(Cointelegraph)[2020/6/5]

根据前面提到的第三点特性,当至少有k位参与者公布他们各自的H_i=p(i)H之后,其他人就能知道代入任何一个x之后,H_x=p(x)H是什么。然后所有参与者都可以在自己本地计算H_0=p(0)H,并以这个结果的哈希值作为随机信标的输出;请注意,因为没有参与者知道p(0),所以唯一能得到p(0)H的方法就是对p(x)H进行内插法计算,要完成内插计算需要知道至少k个p(i)H的值。如果公布的人不足k位,则其他人无法推出p(0)H的值。

基于此技术构建的信标延续了这些我们所需的特性:如果攻击者只掌控了少于k-1位参与者,则他无法操控随机信标的输出;其他k位参与者才能计算出最终输出,他们的子集或其他更多的参与者,都能得出相同的输出。

声音 | BB:监管者不知道如何利用区块链应对非传统领域价值储存的需求:Blcok.one的CEO BB发推文表示,监管者虽然知道区块链,但他们不知道如何利用区块链技术来应对主流市场对在非传统领域价值储存的快速增长需求,而这些非传统领域更符合个人的信仰体系。[2019/4/21]

我们还忽略了一件事。为了使用插值法计算p(0)H,必须保证参与者i所公开的H_i真的等于p(i)H。但是因为除了参与者i,其他参与者都不知道p(i)是什么,所以没法直接验证参与者i公布的H_i是否的确等于p(i)H;如果不要求为H_i附上密码学证明,攻击者可以直接声称某个H_i的值,而其他人没有办法辨别真伪。

有至少两种密码学证明办法,可以用来判别H_i的真伪。我们会在聊完DKG之后介绍。

分布式密钥生成

根据前面章节对随机信标的介绍,我们需要n位参与者共同使用某个k-1阶多项式p(x),使得每个参与者i知道自己的p(i),而其他人无法得知。下一步,需要所有参与者都知道:给定G时,所有的x所对应的p(x)g值。

在本章节,我们假设每个人都有自己的私钥x_i,而且其他人都知道x_i对应的公钥X_i。

美国银行分析师解释比特币如何像常规货币:据CCN报道,美国圣路易斯联邦储备银行内容策略师Christine Smith认为,比特币不像人们想象的那样异乎寻常,比特币的两个用例是作为价值和货币存储的,史密斯论证比特币与普通货币没有区别的三大理由:

1.比特币和美元都没有实物资产支持;

2.“稀缺”是美联储货币体系稳定战略的核心,因为“为了保持其价值,货币必须供应有限”,而比特币的数量也是有限的。

3.比特币“纯粹的电子现金对等版本可以让在线支付从一方直接发送到另一方,而无需通过金融机构”,这与现金花费方式有相似性,即“不需要中间人处理交易”。[2018/5/1]

那么运行DKG的一种方式如下:

1、每个参与者i在本地运行k-1阶多项式p_i(x)的计算。接着用公钥X_j将每个p_i(j)加密,并发送给对应的参与者j。如此一来,只有参与者j能解密出p_i(j);参与者i还要公布所有p_i(j)G,j∈1~k。

2、所有参与者要对一个至少由k个多项式组成的集合达成共识。因为有些参与者可能掉线,所以他们不可能等到n个验证者都作出如此承诺再进行下一步;只要至少k个验证者都作出“收到至少k个这样的多项式”的承诺之后,他们就可以使用某种形式的共识算法对他们所收到多项式的子集Z达成共识。

3、所有参与者共同验证加密的p_i(j)与公开的p_i(j)G是否对应,并从Z中移除不合格的多项式。

4、对于集合Z中的每个多项式p_i(x),每个参与者j自行计算p_i(j)的总和作为私人份额p(j);同样的,对于集合Z中的每个p_i(x)G?,参与者可以计算p_i(x)G的总和作为公开份额p(x)G。

因为p(x)是每个独立的p_i(x)的总和,每个p_i(x)都是k-1阶多项式,所以要观察p(x)是否也是k-1阶多项式。其次要注意,每个参与者j只知道p(j)的值,但不知道其他p(x)的值。实际上,为了知道p(x)的值,TA需要知道所有的p_i(x),只要至少一个被承诺多项式的值属于未知,TA就不可能知道p(x)。

上述步骤组成了完整的DKG过程。步骤1、2、4相对直观,但第3步就比较复杂了。

具体来解释第三步——我们需要找个方法,证明每个加密的p_i(j)与公开的p_i(j)G存在对应关系。如果没有这种验证,攻击者i可以向参与者j胡乱发送消息,而不是发送正确的加密p_i(j),导致参与者j无法进一步计算自己的私人份额。

虽然有办法可以制作出加密份额的形式正确性密码学证明。但是,这样的证明数据过大,并且要向全网公布这样的证明,时间复杂度可能高达O(nk),证明的size是严重的瓶颈。

在NEAR协议中,我们不去证明p_i(j)与公开的p_i(j)G的关系,而是在DKG过程中给予每个参与者充分的时间,去证明“他们收到的p_i(j)与公开广播的p_i(j)G对不上”。协议中假设每个参与者在窗口期内至少会上线一次,而他们提交的挑战就能进入区块链。对于区块生产者来说,这两个假设都很合理,因为要做区块生产者,一般来说在整个epoch中都要在线;如果大多数区块生产者密谋不接收这条消息,其实整个系统就已经不安全,攻击者其实有更好的方式攻击整个系统。

假如某个区块生产者收到无效的公开份额,而且没有及时在DKG过程中提出挑战,则该矿工也无法在该时段中参与随机数生成。请注意,只要其他k个诚实的参与者都能正确计算出份额,协议仍将正常运作。

证明

还剩下最后一个问题:我们如何以不透露p(i)为前提,证明自己公布的H_i等于p(i)H?

回想一下,每个参与者都知道H、G、p(i)G的值。在给定p(i)G和G的情况下回推p(i)的运算被称为离散对数问题,又简称为dlog。那么每个参与者想做的都是:既能向他人证明?dlog(p(i)G,G)=dlog(H_i,H),又不会透露p(i)。的确存在这么一种方法构建上述证明,其中之一就是——Schnorr协议;通过Schnorr协议,参与者能在发布H_i时附上H_i的正确性证明。

回想一下,随机信标连的输出是H_0的内插值。对于没有参与生成随机信标输出的人来说,除了H_0,还需要哪些信息来验证这个值的正确性?因为每个人都能自行在本地计算中加入G_0,所以只要证明?dlog(G_0,G)=dlog(H_0,H)?就行了。但因为信标的特性,我们无法得知p(0),也就无法通过Schnorr协议生成这样的证明。所以如果你要向其他人证明H_0的正确性,就必须保留所有H_i的值及其相应的证明。

不过,好消息是,如果有些计算类似于椭圆曲线点乘法,则只需验证?H_0×G=G_0×H?即可证明H_0的计算正确无误。

如果所选的椭圆曲线支持椭圆曲线配对运算,则这种证明是可行的。在这种情况下,任何知道G,H和G_0的人都可以核实H_0;而且H_0也可视作一个集体的多重签名,证明区块n的正确性得到至少k位参与者的检查认证。

目前我们还未在NEAR中使用椭圆曲线配对运算,但未来我们可能会使用,然后利用上文讨论的小技巧取代我们当前使用的单一签名方法。另一方面,DFinity使用BLS签名,可以利用配对运算来实现上述签名。

原文链接:https://nearprotocol.com/blog/randomness-threshold-signatures/

标签:稳定币比特币区块链DLO稳定币局是什么套路比特币行情今日价格美金区块链工程专业学什么课程的YieldLock

BNB热门资讯
比特币:绝处逢生 | 负债会变成“资产”吗?_CIR

2019年9月,美国总统唐纳德·特朗普通过Twitter建议美联储将利率从零下调至负数区域,为美国政府目前的23万亿美元债务再融资并延长其到期日。用零利率刺激增长的想法很诱人.

1900/1/1 0:00:00
比特币:最后的矿工:当比特币跌至1000美元时,是否还可以继续挖矿?_IZE

本文来源:彩云区块链AdaptiveCapital合伙人和链上分析专家WillyWoo表示,根据他的模型,“常规”预测是比特币价格未来将达到13.5万美元.

1900/1/1 0:00:00
以太坊:以太坊区块链应用:企业是否正从私有网络转向公共网络?_bybit平台币

以太坊区块链正被世界上一些最大的行业参与者所接受。这一全球最受欢迎的智能合约平台不仅在去中心化应用领域占据主导地位,其在去中心化金融领域也举足轻重.

1900/1/1 0:00:00
PLN:竟然把赚钱的家伙按斤甩卖?矿工的钱是大风刮来的吗?_ALL.ART protocol

在上一期的减半介绍文中大星给新来的同学抛出了知识点比特币减半造成影响最大的一群人可能就是矿工了 对于个体矿工来说减半意味着首先,区块奖励减少了其次.

1900/1/1 0:00:00
比特币:英国央行经济学家:比特币“数字黄金”效应让其陷入“第22条军规”的窘境_区块链技术通俗讲解小区

英国央行高级经济学家彼得?齐默尔曼发表了一篇关于比特币和其他加密货币价格的工作论文,论文对比特币的“数字黄金”效应进行了研究,并提出比特币已经陷入了一种“第22条军规”样的窘境.

1900/1/1 0:00:00
区块链:《中国海事仲裁委员会网上仲裁规则》正式发布:明确电子证据认定,连通区块链等核心技术_工业区块链

来源:中国对外贸易杂志编者注:原标题为:《中国海事仲裁委员会网上仲裁规则》正式发布2019年12月27日,《中国海事仲裁委员会网上仲裁规则》正式发布,该规则于2020年1月1日起正式施行.

1900/1/1 0:00:00