基于上一篇文章,公钥加密信息,私钥解密。你可以把公钥分发给他人,他们可以用你的公钥加密传给你的信息,然后你用自己的私钥解密。
数字钱包
那么,有了公私钥这两把钥匙,就需要一个容器来放置和管理,数字钱包就是这个虚拟容器。
首先,钱包基于加密算法帮你生成这对儿公私钥(key-pairs),并安全存储。
第二,钱包(诸如metamask🦊)让你能够进行 加密解密 活动,具体是通过:数字签名。
基于上一片文章的解释,签名的原理是:
你用私钥加密信息,任何有你公钥的人都可以解密,并证明是你签过名的(证明你是你)。
为啥要签名呢?想象一下你与任何一个应用、网站交互的时候,需要注册、登录,证明你有一个account,才能进入和使用这个应用对吧?通常的方式是用邮件、电话号码、社交账号 (Email,Phone Number,Social media)来创建这个account。
现在我们又多了一个account选择,就是通过两把钥匙和数字签名。
你不仅可以用签名来登录dApp应用,也可以在发送加密货币交易的时候,为交易签名。
为交易签名的原理是,
任何人用你的公钥加密信息,只有你可以用私钥解密。
写在最后
一直想当然的使用钱包,但从来没有一种使用 虚拟道具 的感觉。也并不理解每一回签签签签名,我给出什么,拿到什么,你我他之间的互动竟然可以用钥匙串儿🤣而不用一大堆平台account。
直到写出,我才发觉这种全新的交互方式带来的一些想象力:想象自己拥有两把虚拟钥匙,并用它在不同的应用之间转换,解锁不同的事情。
那么,我们做一个思维实验:设计一个用到这两把钥匙的博客
* 每个进来写东西的人被分配两把🔑
* 你可以用你的公钥加密一篇文章,这篇文章是私密文章
* 你可以拿ABCD..N的公钥加密一篇文章,并发送给他们,只有他们可以用自己的私钥查看这篇文章
也就是说,我们可以用这两把钥匙自己设置数字物品权限。你用钥匙可以开一间博客栈,私密的放在(由web3技术栈组合而成的)隐私文件夹里管理,有一部分可被curate做成杂志,一部分直接公开。
于是,我们开始做Arazzo。