http://www.7klian.com

如何证明你妈是你妈?聊聊波卡中有趣的数字签名

要领一:

一、零常识证明

输入你要加密的字符串,好比apple,然后点击 Sign message,输入钱包暗码举办签名。


就仿佛,公钥就是果真看得见的房间,字符串就是苹果,公钥加密字符串就如房间锁住了这个苹果,而数字签名就是整个锁着苹果的房间。

区块链世界中,只有私钥,才是钱包地点所有权的独一凭证。

点击Sign message,即进入到利用私钥加密的页面。

他会利用鸭哥在上面教各人的要领举办验证,验证通事后,你的链上地点就会有尊贵的VIP标识啦,而且你的社交信息都是在链上果真的。

那么,团结零常识证明,就较量有意思了。

可是,有没有一种大概,在你划定的这个时刻,这个地点原本的主人刚好往你的地点转了0.666 DOT,可是他不是老王,只是可巧?

https://polkadot.js.org/apps/#/accounts

在现实糊口中,这种概率的确太低了,低到我们会认为基础不会产生。

验证人拿到这个数字签名后,,同样打开官方JS页面,点击Verify signature

你在房间里放一个苹果,而且封锁门。走出去对老王说,让他把房间里的苹果拿出来。假如老王确实拿出来了谁人苹果,则说明老王持有钥匙。

接着把想要认证的社交信息的右边按钮点开。

首先我们需要相识一个叫零常识证明的观念。

如果老王声称某个有 10000 个DOT的钱包地点是他的。

首先,打开波卡官方JS地点(不知道如何导入钱包的,先看如何安详利用DOT插件钱包|细节不留意有被盗的风险):

概率学上有一个著名的“无限猴子定理”,无限猴子定理的或许意思是,假如让一只猴子在打字机上随机地举办按键,假如一直不断的这样按下去,只要时间到达无穷,这只猴子就险些一定可以打出任何给定的文字,甚至是莎士比亚的全套著作也可以打出来。

这个观念是:私钥可以加密一串字符,只能用公钥举办解密。

进入到验证签名的页面。

加密息争密都不是利用同一个密钥,这才叫做非对称加密。

我们看看要领二:

你需要做的是,把这个字符串用私钥举办加密,获得一个数字签名,然后把数字签名别离在 Riot、邮箱、Twitter上发送给他。

许多人会发明鸭哥的钱包地点有个绿色勾勾的标识,仿佛尊贵的VIP一样披发沉迷人的贵族(绿油油)光线。


我们继承读下去。

所以通过指按时间转账指定命额DOT的要领验证,并不是一个绝对严谨的做法。

老王当着你的面,利用钥匙把门打开,所以老王持有这个房间的钥匙。(是傻子都知道这样验证)

老王利用利用私钥解密数字签名就如利用钥匙开门,老王能拿出苹果,就如老王能知道这个字符串是apple。

那么如何证明老王就是这个钱包地点的主人呢?

但是,老王在你眼前袒露了钥匙,有被抢夺的风险。有没有步伐让老王不袒露钥匙,可是却让你相信他有钥匙呢。

四、波卡链上认证

输入你想要果真的小我私家社交信息,最后点Set Identity,输入暗码。

数字签名技能被遍及应用于身份验证规模,将来我们国民的身份信息、公钥信息必然是上链的,那么如何判定你妈是你妈,就有了办理的方案。

三、波卡如何操纵签名

输入之前说好的字符串apple,输入数字签名。

本日聊一个有意思的对象。

公钥先加密照旧私钥先加密,这个不重要,重要的长短对称加密这个算法,只要担保加密息争密不是同一个密钥即可。

然后把这个数字签名给老王,让老王利用本身的私钥举办解密,只要老王能汇报你,解密后的字符串是apple,那么就证明白老王确实持有私钥。

在本身的账户右边有个竖着的三个点的菜单栏,点开后点击

是不是很酷呢,想玩的可以去玩一玩,鸭哥以为有趣,因为以后今后鸭哥也是有链上身份的汉子了~(部门内容由Acala开放孝敬者姜总提供指导)。

Set on-chain identity

我们知道公钥是可以果真的钱包地点,我只需利用公钥(钱包地点)对一个字符串(譬喻是apple)举办加密,加密后获得一个签名内容,这个签名内容叫数字签名。

在 Riot 中和他谈天,他会别离在 Riot、邮箱、Twitter中发送一个字符串。

那么如何证明老王持有私钥呢?这即是本日要学的常识——数字签名。

https://polkadot.js.org/apps/#/toolbox/sign

有的人说,只需要让老王在一个划定的时刻向我转账 0.666 个DOT,假如我看到这个地点确实在这个划定的时刻向我转账了 0.666 DOT,那就说明老王确实是这个钱包地点的主人。

同理,假如让老王利用私钥对apple加密,加密后的数字签名给我,我只需用公钥举办解密,假如能解出确实是apple,则说明老王持有私钥。

有的人说,只需要让老王在一个划定的时刻向我转账 0.666 个DOT,假如我看到这个地点确实在这个划定的时刻向我转账了 0.666 DOT,那就说明老王确实是这个钱包地点的主人。

假如你的地点左边呈现减号这个标识,说明你乐成录入了小我私家书息。

逻辑上说的已往吗?

看似说的已往,因为只有老王收到了你的指令,他才气在划定的时间向你转了 0.666 个DOT,他能操纵这个钱包说明他确实是主人。

复制后,把这个数字签名给验证人。

可能说公钥可以加密一串字符,只能用私钥举办解密。


可是,需要机构去资助认证,整个认证进程需要扣除38个DOT作为手续费,所以假如你不规划耗费这么多钱的话,最好不必去开通这个VIP。


这是怎么做到的呢?

要老王不能袒露私钥的环境下,证明他有私钥,那如何操作零常识证明呢?

在这个要领中,老王并没有袒露钥匙,却证明白他有钥匙。

二、非对称加密

那么波卡中如何操纵签名呢,假如鸭哥我是被验证人,我需要证明这个钱包地点是我的,就举办如下操纵。

这就是零常识证明。

假如这个时候,发明左边呈现了绿色的勾勾,则说明这个数字签名用公钥解密后确实是apple,说明鸭哥确实是这个钱包的主人。

就是既要能充实证明本身是某种权益的拥有者,又不能把这个权益自己袒暴露去,即向外界转达的信息为0,所以才称作零常识证明。

签名后,加密了apple获得了一个数字签名,这个数字签名也是一串字符串,把它复制下来。(signature of supplied data)

暗码学中,有个非对称加密的观念。

然而,在区块链的世界里,不能说因为概率低就必然不会产生。区块链必需追求极致简直定。

假想有一个房间,这个房间只能通过钥匙开门的方法进入,那么请问老王如何证明本身持有这个房间的钥匙呢?


照旧打开官方JS页面:

整个进程中老王没有泄露私钥,可是证明白他有私钥。

想要认证,则需要在 Riot 中找 @chevdor:matrix.org,这小我私家是认证商,可以做身份认证。

验证的时候,只需给你妈一个字符串,让你妈利用本身的私钥对其加密,获得一个数字签名,只需要把这个数字签名提供应验证者,验证者在当局区块链上用你妈的身份信息查找到的公钥,对这个数字签名举办解密,解密后假如获得的照旧之前给你妈的字符串,那么就证明白你妈是你妈。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读