LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 【译文】MimbleWimble协议(四)

【译文】MimbleWimble协议(四)

2020-01-13 灰狼 来源:区块链网络

3.Mimblewimble支付系统

3.1基本定理

定理2:(Mimblewimble基本定理)假设我们有一个约束的、隐藏的同态提交方案。那么,在接下来的游戏中,除了概率可以忽略的情况外,没有算法A能够战胜挑战者C:

1.(Setup.)C计算一致随机同态提交的有限列表L。C把L发送到A。

2.(Challenge.)最多多项式多次,A选择L的某个(整数)线性组合Ti,并从C请求打开该组合。C根据需求执行。

3.(Forgery.)然后A选择一个新的线性组合T,它不是{Ti}的线性组合,并揭示T的打开信息。

证明。考虑由L生成的形式线性组合的格∧,即集合{∑A∈L bAA:bA∈Z}。考虑商格∧/Γ,其中Γ是查询{Ti}生成的∧的子格。我们可以用一些典型的代表把∧/Γ的每个元素看作同态的提交。尤其是,∧/Γ的每个元素都是同态提交,它满足与原始方案相同的隐藏/盲特性。

那么每个{Ti}到∧/Γ的投影为零,而T的投影为非零。因此,A没有从它的查询中了解到关于T的投影的信息;但是,如果A知道T的开口,那么它也知道T的投影的开口,这与同态提交方案的隐藏特性相矛盾。

3.2区块链

Mimblewible由一个区块链组成,区块链是一个加权顶点有向根块树(定义如下),最高权重路径被称为共识历史。

定义14:我们将Mimblewible区块定义为以下数据:

?规范事务,其输入为以下两种形式之一:

–对先前块中事务输出的引用;或

–一个明确的(即零盲因子)输入,受限于本文【5】中给出的规则。

?一个块头,其具有对链中早期块的绑定提交,称为反向链接;在该块的事务生效后对当前UTXO集的提交;以及包含在该块中的事务。

【5】典型的规则是每个块只能有一个固定值的coinbase输入。

如果块的事务是有效的,我们就说块是有效的。

在第3.3节中,我们将描述如何对块进行加权,以及应该具体链接到哪些先前的块。目前,我们可以使用第14条定义作为有效性的定义,但请注意,对提交将有额外的要求。

定义15:我们将Mimblewimble区块链的共识链状态定义为共识历史上所有交易的切入点。

如果共识链状态有效,我们称之为区块链有效。

请注意,要使区块链有效,并不要求所有区块都有效,只要求整个链是有效交易相加。

接下来,我们证明了Mimblewimble是一个合理的支付系统,在以下两个定理的意义上。

定理3:(无通货膨胀)有效区块链共识链状态的输出所提交的总价值等于每个区块中明确的输入价值。

证明:假设共识链状态是有效的,它是所有交易切入的标准形式。由于每个块的每个非明确输入都是前一个事务的输出,因此它不会以这种规范形式出现。因此,链状态的唯一输入是明确输入。

引理1:(唯一所有权)假设交易的所有输出都是通过接收定义13中的代币或发送定义12中的代币创建的,因此所有的盲因素都是保密的。然后,对于不是所有输出都已发送的每个输出子集,该子集的唯一所有者是创建其所有输出的人。(特别是,如果子集包含由不同方创建的输出,则该子集没有所有者。)

证明:设O为子集中尚未发送的输出。然后,包含O的输出的唯一组合(其提交包含O,可能已经揭示)还包括一些在O被创建时选择的一致随机超额E。

此外,包含E的其它和从未揭示,因此包括O但不包括E的任何组合不是其开放信息已被揭示的组合的线性组合。所讨论的子集不包含E,因为E是多余的而不是输出。因此,根据定理2,除了创建O的人之外,没有人知道子集的打开信息。

定理4:(不要偷盗)作为一个有效的区块链。在定义13中创建的输出x在不替换其出现的块(即形成不包含此块的更高权重有效区块链)的情况下,不能从共识链状态中移除,除非各方(集体)拥有一组包含x的输出。

证明:假设存在一个更高的加权链,其中包含x出现的块B,但共识链状态不包含x。

考虑事务T,它是从B到链顶端的第一个块的切入的规范形式。(注意,T可能无效;我们只知道全链状态有效。)

然后T的输出是新链状态输出的一个子集,特别是它们包含了证明输出开始知识的范围证明。同样,超额价值也是已知的。我们的结论是,创建这些块(因此T)的各方知道所有输出的开始和超额值的总和,因此拥有T的所有输入集。

然而,T的输入构成了一组包含x的输出,证明完成。

—-

编译者/作者:灰狼

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...