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

访客3年前黑客工具756

引言: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。下边简易叙述下这一协议:

相关文章

手机淘宝开店怎么开(分享史上最详细的操作步骤)

手机淘宝开店怎么开(分享史上最详细的操作步骤)

  淘宝网这一手机软件也分成手机上版跟电脑上版,许多开网店的店家全是在网络上开展店面运营的。现阶段在手机上还可以对新版本的淘宝网开展开实体店申请办理,全部全过程跟pc端還是有一些类似,可是在手机上...

志高空调怎么样(志高空调价位怎么样)

志高空调怎么样(志高空调价位怎么样)

近几年,志高空调在空调市场中,取得了相当不错的成绩,志高空调的成交量也节节攀升。对于志高空调,人们对这个品牌的空调还不是很了解。那么接下来就让小编和大家普及一下有关志高空调的相关知识吧,告诉大家志高空...

内存条怎么装?注意事项以及装法

内存条怎么装?注意事项以及装法

经常看“事儿哥”教程的小伙伴可能都注意到了,我的电脑内存不是很大,因为只有4G,所以大家看到的加速球很多情况下都是橙黄色或者红色的。不少人也在评论区跟我说过,应该给电脑升级下内存了!   马上...

蜉蝣是什么?蜉蝣为什么只能活一天

蜉蝣是什么?蜉蝣为什么只能活一天

图1. 蜉蝣 蜉蝣【读作fúyóu】,也写作“蜉蝤”【在此也读作fúyóu】,简称蜉。蜉蝣是一类若虫水生、成虫寿命很短的一类昆虫。“蜉”会意兼形声从“虫”从“孚”(伏在上面),也形声孚(fú),...

黑客盗qq号的原理是什么,微信学点黑客技术,黑客知道我邮箱密码怎么办

装置要求中也有规则不行以有暗示或许倾向性的提示,所以两个选项需求是平等的摆放,也便是不行以默许赞同,不行以存在一个按钮很难发现。 登录Authy后,界面上可办理的账户仍是空的,需求咱们增加需求办理的账...

怎么网赚?如何网赚?

怎么网赚(如何网赚?)随着网络技术的蓬勃发展,产生了很多的网赚的类型,在这些越来越多的网赚软件和网赚网站中,我们要如何做到快速的网赚呢? 第一首先,我们要有一个明确的态度知道,网赚毕竟不是天上掉馅儿...