引言: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。下边简易叙述下这一协议:
本文导读目录: 1、恶魔召唤师灵魂黑客恐怖屋记忆房间问题 2、恶魔召唤师灵魂黑客中文版和网络游戏真女神转生online是不是一种类型的游戏? 3、恶魔召唤师灵魂黑客 有什么秘籍不? 4、恶...
北京一高科技公司职员偶然得知重庆某公司购物网站有漏洞,于是以最便宜的手机充值卡价格(0.6元)购买最贵的手机充值卡(300元),共获赃1500元。正当他窃喜捡到“火巴和”时,被重庆警方抓获。昨日,涉嫌...
Brand Finance发布了《Brand Finance 2020年全球品牌价值500强报告》,亚马逊、谷歌、苹果成为2020年世界品牌排行榜前三,中国最靠前的品牌为中国工商银行,居第六名。202...
电视机几乎是家里必备的娱乐消遣工具。就像我家,单单电视机就买了两台,客厅还有卧房。但是,电视到底应该买多大的呢?你可别听售卖员忽悠了,不然买回家可得后悔,必须长长记性。 选择电视机的时候最主要的...
上年年末,带号转网宣布打开,许多 的客户都借着5G到来的这一节骨眼上换网,以感受不一样的营运商服务项目。从数据信息看来,打开带号转网以后,每个营运商的总数也出現了很大的转变 。我国电信网全国各地携入7...