块头。
我们留意到以下两个属性:
链中采矿发生的硬币总量。
验证每笔生意业务的这个属性答允协议验证生意业务不会凭空缔造出款子,而无需相识实际的生意业务值是几多。可是,可用数值是有限的,进攻者可以实验每一个大概的数值来揣摩你的生意业务值。 别的,知道 v1 (来自
通过查抄一切已被清零,我们可以再次确认没有缔造新的款子。
(in3) -> (out2), (kern2)
(in1, in2) -> (out1), (kern1)
Grin 项目标主要目标和特性如下 :
r*G + v*H
|- O5每个生意业务的生意业务核 (transaction kernels) 包括:
从所有 commitments 总和中得到的公钥 r * G。
I1(x1) --- O1
当我们聚合这些生意业务到区块的时候,我们在区块头中存储一个(且仅一个)聚合偏移因子(aggregate offset)(即所有生意业务核偏移因子的总和)。这样一来,因为我们一个区块只有一个偏移因子,再也不行能将其分拆对应到每一笔生意业务的生意业务核偏移因子了,从而也就不行能再从区块中拼凑出任何一笔生意业务了。
一组输入,参考和耗费一组以前的输出。
(in1, in2) -> (out1), (kern1) (in3) -> (out2), (kern2)
sum(outputs) - sum(inputs) = kernel_excess + kernel_offset
I3(O2) -|sum(outputs) - sum(inputs) = kernel_excess
Tongue Tying for Everyone备注:MimbleWimble 出自《哈利波特》中的一句咒语,详见:Tongue-Tying Curse,这个标题的涵义应该是但愿所有读到这篇先容的人都可以来为这个开放社区做点孝敬,真心但愿如此。
简朴的设计使得日后的代码审查和维护变得容易。
任何一笔生意业务必需满意以下条件: (为了描写轻便,这里忽略掉生意业务费部门)
sum(outputs) - sum(inputs) = sum(kernel_excess) + kernel_offset
此刻生意业务不会再归零了,我们在_G_上有一个_excess value_(85),这是所有致盲因子总和的功效。 可是因为 85 * G 是椭圆曲线_G_上的有效公钥,85,
|- O2
这是 MimbleWimble 的第一个支柱:验证生意业务的算术运算可以在完全不知道任何实际生意业务值的环境下完成。
因此,匹配输入和输出可以被消除,因为它们对总和的孝敬被抵消了。 这导致了以下更紧凑的块:明晰的生意业务用度。
个中_Xi_是一个输入,它花掉你之前获得的输出值_X_,而 Y 是 Carol 的输出。假如不知道你的私钥 28,就没有步伐成立这笔生意业务。简直,假如 Carol 要均衡这个生意业务,她既需要知道发送的值,也需要知道你的私钥,
譬喻,如果有下面的两笔生意业务:
(ri1*G + vi1*H) + (ri2*G + vi2*H) = (ro3*G + vo3*H)
先前的公式 (k + j)* H = k * H + j * H 中,_k_和_j_都是私钥,演示了从两个私钥的加和获取公钥 (k + j)* H,等价于每个私钥的对应公钥加和(k * H + j * H)。在比特币区块链中,分层确定性钱包 (HD Wallets/BIP32) 严重依赖于这个原则。 MimbleWimble 和 Grin 也是如此。
MimbleWimble 区块名目通过引入一个附加观念来构建:核销(cut-through)。 有了这个增补,一个 MimbleWimble 链可得到:
满意:
为了办理这个问题,MimbleWimble 操作了另一个加密观念(也来自机要生意业务),称为范畴证明:一个数字落在给定范畴内的证明,而不会泄露数字。
更多的生意业务大概已经完成,但不会显式呈现(在区块中)。
Grin 是一个实现 MimbleWimble 区块链的开源软件项目,并填补了(MimbleWimble 协议所缺失的)实现一个完整的区块链和加密钱币必须的一些对象。
在矿工构建区块的时候,我们对打包的所有生意业务的 k2(the offset)求和,以生成一个单个的聚合值(aggregate k2 offset)用于该区块所打包的所有生意业务。一旦区块打包完成并宣布和被链所接管,其原始的对应每笔生意业务的 k2 (the offset)即成为不行规复的。MimbleWimble 是一个区块链名目和协议,依托于结实的加密原语,提供很是好的可扩展性、隐私和可替代性。它办理了当前险些所有实现的区块链(与现实需求之间)差距。MimbleWimble 的白皮书在 本项目标 WiKi 中可以找到,WiKi 是开放的。
生意业务输出的和,减去输入,加起来便是 0
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。