PoD-Tiny:完成零信任买卖的最简协议

访客4年前黑客工具790

引言:zkPoD 是啥?

zkPoD 完成了区块链技术的「零专业知识有标准付款」,适用上 GB 数据的零信任正当竞争。有关「零专业知识有标准付款」的定义可以看这篇简述文章内容 『zkPoD:区块链技术,零知识证明与流于形式认证,完成无中介公司、零信任的正当竞争』。 zkPoD 是一个全新升级的完成 ZKCP 总体目标的计划方案。现阶段 zkPoD 早已适用上 GB 的数据,适用低 TPS 公链,也适用高 TPS 联盟链;既适用二进制数据,也适用含有內部丰富多彩种类与构造的报表数据。与传统式的「受信第三方」对比,zkPoD运用区块链技术来做为一个「Trustless 第三方」,完成「零信任正当竞争」。

zkPoD 也是一个完成数据与使用价值双重商品流通的更底层基本协议

zkPoD 开放源码与大量文本文档请见:

Proof-of Delivery (PoD) 协议

PoD 是完成 zkPoD系统软件的关键协议。PoD 协议完成了使用区块链技术智能合约来开展「数据」和 「Token」的分子互换,而且确保买卖方的公平公正。PoD 并沒有像 ZKCP[1]那般选用单一的 zkSNARK 计划方案来完成分子互换,只是运用了 Pedersen Commitment,Schnorr Protocol 等密码算法經典计划方案。那样 PoD 能够做得更高效率,另外易拓展。PoD 协议还将运用流于形式的证实来搭建牢靠的「信赖基石」。

文中详细介绍一个简约的 PoD 协议——PoD-Tiny,这一协议简单化了许多关键点,并不好用,可是能够协助阅读者迅速了解 PoD 的基本原理和遭遇的挑戰。

假定我是卖家,但你必须从我手上买一个数据文档,这一协议的一个大概步骤是:

流程一:我将「数据」数据加密后,发送给你

流程二:你将「Token」交到区块链技术「智能合约」

流程三:我就用「密匙」互换「智能合约」手上的「Token」,随后你随后能够从智能合约中载入「密匙」开展「数据」破译

是否非常简单?聪慧的你此时已经确准这一全过程是否哪有什么问题。

「正当竞争」中的关键问题

关键问题(1):你接到的数据加密数据的确就是你要想的数据

关键问题(2):你接到数据加密数据以后,不付费就老板跑路该怎么办

关键问题(3):可是我提供给智能合约的密匙务必是真密匙,不然拿不上 Token

关键问题(4):我提供真密匙以后,务必要能取得 Token

大家下面就顺藤摸瓜,探讨下 PoD-Tiny 是怎么恰当处理这种难题的。

锁住数据的特点:Authenticator

针对关键问题(1),大家必须一个ps钢笔,什么叫你要想的数据。这儿简易考虑,假定大家事前承诺了一个数据文档的唯一标识,或是特点。随后你选购的数据必须能和这一标识一一对应。

一般来说,大伙儿喜爱用 Hash 来标识对一个字符串数组的特点,例如测算

h=MD5("hello,zkPoD!")

大家看下这一字符串数组 "hello,zkPoD!" 一共有 12 个字节数尺寸,也就是 96 个 bit。因此我们可以将这 12 个字节转换成一个有限域上的整数金额(这儿大家假定有限域的尺寸贴近 256 bit )。那样我们可以把这个字符串数组编号成一个整数金额,大家暂且用一个标记表明这一整数金额, 假定是 m。

大家根据下边的计算造成这一数据的「服务承诺」。

A=m*G

服务承诺也叫 Commitment,它能够保证和数据的一一对应,另外而且可以掩藏数据的值。这儿的 A 在 zkPoD 系统软件中被称作「验证信息」 Authenticator。而这儿的G 是一个椭圆曲线循环群的生成元。

「验证信息」Authenticator 能够向任何人公布,大家不必担心会泄漏初始数据信息。这是由于,根据 A 无法反算出去 m。这一逆运算是一个有限域的「求多数」计算。倘若有限域较为大得话,这一对数运算是非常非常艰难的,这就是常说的「离散变量多数难点」假定。撇开这种基础理论关键点,大家只需了解,Authenticator 能够安心交到所有人,而不必担心 m? 被反向破译。

「验证信息」为何要选用这类「服务承诺」方式,而不是选用大伙儿所熟识的 Hash 计算。这是由于「服务承诺」具备加法运算同态性。说白了同态特性,大伙儿能够那么了解:密文数据具备的某类计算,能够同态投射到保密的计算中。假定有三个数据密文,m1,m2也有 m3,在其中 m1=m2 m3。

她们的 Authenticator 各自测算以下:

A1=m1*G, A2=m2*G, A3=m3*G,

我们可以测算 A1 ?=A2 A3

来认证 m1 ?=m2 m3。大伙儿能够发觉,尽管一个 *** 喷子知道 A1,他也不可以反算出m1。可是他依然了解 m1 相当于此外两个数的和,尽管他彻底不清楚这三个数实际的值多少钱。

注:这儿的加减法是模加,a b 是 a b mod p的缩写。为了更好地可读性,事后的乘除法一律承诺是有限域上的计算。

剩余的事儿就简易了,在 PoD协议中,我们可以随意选择一个随机数字 k 做为一次性密匙,来数据加密m,测算 E(m)=k m。 E(m) 便是数据加密数据。我能把 K=k*G 也发给你,那样你手上有三样物品,A ,K,也有 E(m)。你也就可以用下边的公式计算来「同态地」校检加了密的 E(m) 的确是数据 m 的保密:

E(m)*G ?=K A

而且,根据上边的公式计算,你要能了解一个重要信息:密匙是一个关系到 K 的标值。虽然此刻你彻底不清楚 m 和 密匙 k。这一信息也是处理关键问题(3)的根本所在。

小结一下:

根据同态性,顾客能够在数据数据加密的状况认证数据是不是考虑一些标准

追忆一下关键问题(2):

关键问题(2):你接到数据加密数据以后,不付费就老板跑路该怎么办

处理这个问题是关键方式是「零知识证明」。假如顾客取得数据加密数据以后,从这当中剖析不出来一切不必要的信息,那麼就不容易危害商家权益,也就能处理关键问题(2)。简易讲,假如数据加密数据是零专业知识的,就不害怕顾客拿了数据加密数据不出钱就老板跑路。说白了的「零专业知识」,大伙儿能够那么通俗化了解:顾客取得的数据加密数据后,如同取得一堆随机数字一样,沒有一切信息量。如何保证零专业知识呢?PoD-Tiny 选用了經典 Schnorr 协议的观念。

发布科谱:Schnorr 协议 与 「零专业知识」

Schnorr 协议是十分經典的授课书事例,我这里迅速带大伙儿过一遍。Schnorr 协议的主要用途之一是用于做身份验证,它是一个双方安全性协议,一方「证实者」Alice ,向另一方「认证者」Bob证明她有着一个公匙相匹配的公钥。

更先 Alice 造成一对「公与私钥」,(PK, sk)。随后 Bob 拥有 Alice 的公匙 PK。当 Alice 要向 Bob 证实真实身份时,她们会根据一个「三步互动协议」来进行证实:证实 Alice 有着公钥 sk。假如 Bob 接纳了这一证实,那麼 Bob 会觉得 正对面证实有公钥的人便是 Alice。下边简易叙述下这一协议:

相关文章

黄奕说生活中没有你是风儿我是沙-黄奕怎么没拍

很多人认识黄奕都是通过电视剧还珠格格第三部中的小燕子,而这部电视剧中有一句经典台词:你是风儿我是沙。但是近日在接受媒体采访时,黄奕说生活中没有你是风儿我是沙,这是怎么回事呢?而且还有很多小伙伴都很好奇...

怎么找游戏黑客-黑客能不能破解网赌(破解网彩黑客)

怎么找游戏黑客-黑客能不能破解网赌(破解网彩黑客)

怎么找游戏黑客相关问题 黑客能不能破解网赌相关问题 微信黑客入侵盗取钱财怎么办 你去看一个人的微博他知道吗(微博水印怎么去)...

支付宝绑定的淘宝账号异常怎么解决(账号异常解封方法介绍)

  针对大家如今而言,假如要想开展网络购物得话实际上也十分的便捷,大家也就只必须开启大家的手机上,安裝了相对的买东西APP就可以了,这样一来,那麼我们在手机上上边就可以进行大家的买东西要求,但是在那样...

黑客可以黑网赌平台吗的简单介绍

黑客可以黑网赌平台吗的简单介绍

本文导读目录: 1、你好!请问黑客可以攻击赌博网站并改里面的赔率吗 2、黑客能攻击网赌网站吗 3、怎么样攻打网赌平台 4、黑客可以黑棋牌软件吗 5、黑客为什么不攻击网赌 你好!请问黑...

robots协议最容易忽略却很致命的小细节

robots协议最容易忽略却很致命的小细节

在我看来robots协议就是站长行使网站支配权的执行文件,这是我们作为站长最根基的权利。它是搜索引擎蜘蛛爬取网站之前要面临的第一道关隘,所以robots协议的重要性也是可想而知了。都说细节抉择成败,那...

文昌鱼是鱼吗(文昌鱼的介绍)

  文昌鱼是鱼吗(文昌鱼的介绍))鱼,属于头索动物亚门鳃口科,没有脊椎骨,不属于鱼类。文昌鱼是生物演化研究中的模式生物,它揭示了现存脊椎动物的起源。   文昌鱼成熟个体平均体长大约5厘米左右,寿命约2...