UniPass:让区块链和用户没有距离

我们是被互联网宠幸的一代,在成长的过程中也见过了无数的互联网爆品项目,随着流量等时代的红利而高歌猛进,成为了独角兽,甚至是当今特定场景的一方之霸,例如腾讯、阿里、拼多多等互联网巨头。在互联网井喷般环境下熏陶的我们,投入了区块链领域以后,心情可能是矛盾的。

一方面惊叹区块链的成长速度竟然如此之快,这个月流动性挖矿,下个月算法稳定币,之后还有 NFT,NFT 和 DeFi 还能玩出 GameFi,各种新的戏法不断涌现,让人随时都有新鲜感。

但是另外一方面,现实也是骨感的。除了看尽行情的起起落落外,我们同时也很清楚,真正使用 dApp 的参与者寥寥。流动性挖矿几周、几天的盛况,不久随即杯盘狼藉,这样的画面也已经屡见不鲜。

区块链似乎让我们看到未来的轮廓,但大家却无法有底,究竟什么时候能看到公链应用的大规模落地,像互联网产品一样获取真实的用户?我想,在此我们有个清晰,但是实现起来却不容易的答案,那就是:我们必须让区块链产品和用户没有距离。

 
 

为什么在区块链上寻无爆品?

 

我们至今依然很难看到一个大家都公认的区块链「爆品」,笔者认为原因有很多种,每个人可能也会有自己的版本。在这里,我试着结合自己的区块链经验,总结出一个区块链爆品公式:

区块链爆品 = 滑顺 x 高频应用 x 新流量

从以前到现在,产品的使用滑顺,能够有足够吸引人的场景,以及能找到被吸引的那群人,其实这几点缺一不可。但是,在区块链上,目前却很难有长期吸引新用户的爆款产品。

在区块链圈子里,我们可以常常看见一个不正常的现象:在交易所买过的资产,我们不一定真正用过它背后的产品, 就像很多人买了 UNI ,但是从没有用过 Uniswap,甚至很多人炒币炒了三五年,还不一定有使用过 MetaMask 去玩过任何 DeFi、NFT。持币者多于真实用户,这个可能和外在的互联网世界的逻辑完全相反,以股票为例,持股人数量多余用户数量的 C 端项目根本不可能存在。

这种怪奇现象的背后,有一个很重要的原因,那就是用户门槛过高。 即使我是一个想要使用 DeFi 的用户,钱包的创建、私钥保存对很多用户来说已经是一大阻力,更别说后头还会遇到交易速度慢,以及手续费如何支付才合理等等。

一个坑接着一个坑,一个坎儿接着一个坎儿,光是使用钱包的逻辑这一块就已经足够整死用户了,那即使背后有财富效应或者其他高频诱因的应用,也难以去打动新用户。说句可能不动听但却写实的话,那就是对于用户而言,在体验上,助记词、私钥保存以及插件钱包等等都不是什么太过于「先进」的体验,而是使用区块链产品的必要之恶。

滑顺的使用体验是区块链产品能够产生爆款的前提和必要条件, 这非常考验区块链产品人对于技术理解的造诣以及对于用户痛点的同理心。如果用互联网的语境来说,其实滑顺体验背后就是一种技术创新,它会推进新场景以及新用户群体进入区块链产品的世界。

 
 

今天,UniPass 重新定义了钱包

 

今天,如果区块链产品能够尽可能降低使用的门槛,例如像一般的互联网产品一样通过邮箱验证、指纹识别就能够生成区块链账户,并且用它来进入任何的 dApp,那么区块链世界的格局或许会继续往上提升一个层级。

这个时候,有个 Game Changer 出现了,那就是 Lay2 团队的 UniPass

今天 UniPass 重新定义了用户进入区块链世界的入口——钱包。 这是一款由 Lay2 团队经过经年累月的迭代而打磨出来的产品,当然产品也还逐渐在进化中。他们对于钱包的理解和实现,可能有点颠覆了我们过往对于区块链非托管钱包的印象:

1、钱包不是一定非得要用户记下复杂的助记词

在 UniPass 中,任意的签名验证都可以在不失去安全性的情况下,让用户方便地使用各种方式创建区块链账户。这点不但考验着钱包的实现能力,也考验着公链的兼容能力。在 UniPass 上,你可以看到,记下助记词这种步骤不需存在,取而代之的是互联网既有的签名验证工具生成的公私钥。

2、钱包不是一定只有一种方式可以生成密钥

钱包的背后是无数的 dApp 应用,钱包必须要有人使用才有意义,而应用则是希望能够有来自四面八方的用户都用上我的 dApp,因此接入 dApp 的钱包能够开启各扇不同的门,来迎接不同入口的用户,这是一大重点。在这点上,UniPass 也在它的登入选择上比一般的钱包多元。长期来说,互联网的 R1、RSA,比特币、以太坊的 K1 或者硬件钱包,都可以生成 CKB 上的区块链账户。

3、钱包不是一定非得是用户不熟悉的操作界面

安全感是用户在使用产品时必备的条件,界面越是熟悉其实用户越能够放心地使用。过去,用户可能对于 MetaMask 或者其他移动钱包作为入口非常不熟悉,当然更别说让他登入的界面是通过硬件钱包,这更是天方夜谭。其实,区块链账户能够在很多用户熟悉的互联网页面直接生成。

4、钱包更不是一定要用户下载某个 App 或者插件

过去几年,在区块链圈子中,大家已经潜移默化地有了一个概念:对 dApp 而言,钱包就是一个插件或者一款手机 APP,用户使用 dApp 时必须依赖着这个「额外」下载的插件钱包,或者在我们「额外」下载钱包的浏览器之中才能打开我们的 dApp。这些其实都为用户带来了许多不必要的步骤,因为多一个路径,就代表这个产品又拒绝掉了一批用户。

但是在 UniPass 中则有所不同。下图是 UniPass 钱包的界面,我们可以发现一个很特别的点:钱包它是一个网页的形式,不论在电脑、手机、平板,我们都可以在任一网页浏览器中打开 UniPass 钱包。

秘宝钱包能够单独开启,也能够镶嵌在任何 dApp 的登入弹窗之中,来源:UniPass & Mibao

紧接着你可能会问,怎么样能够在这个钱包中创建一个 Nervos 的钱包账户呢?你只需要创建一组属于自己的账号密码,并且通过邮箱的验证码就能够生成一个区块链钱包。 同时,它还能够放置在任意 dApp 的登入页面中,以弹窗的方式呈现出登入的入口,如此一来,钱包就不是你需要去下载的插件或者手机 App,而是你要用时,任何开发者都可以为你准备好的进入入口。

这不是在吹牛,也不是魔法,当然过程中更不可能发生像某家公链的钱包一样,当你给它你的邮箱,它发给你竟是明文私钥的愚蠢行为。UniPass 之所以能带来滑顺的使用体验,背后是 Lay2 团队的精心构思和 Nervos CKB 开放的密码学验证体系的结晶。

 
 

UniPass 黑魔法背后的秘密

 

UniPass 背后的黑魔法有什么秘密呢?这有赖于 Nervos 能够支持各种密码学原语的底层虚拟机,以及不设限解锁规则的 Cell model ,当然还有 Lay2 对于 UniPass 精良的架构设计。

对于 Nervos 能够灵活地支持各种既存的签名算法,而不用让用户再创建一组新的钱包这个特性,我想已经不用赘述,大家可以参考过往的一些文章就可以了解其中的原理。在这里,我想着重介绍的是,即使有了灵活的底层,UniPass 也必须有足够精妙的设计,才能够让用户有滑顺的区块链体验 , 这点 Lay2 是怎么办到的?

 

双层架构:让钱包无孔不入又安全

 

安全是钱包完全不会妥协、也不能让步的要点,安全性不足的钱包就像是窗户破了洞的飞机,随时都可能土崩瓦解,即使是豪华的 A380 也一样。但用户体验却又非常重要,因此在 UniPass 这个轻量级的钱包上,有着精致的双层架构来保护密钥的安全,并且兼顾到了使用的方便性。

UniPass 的双层架构如下图,由 MasterKey 和 LocalKey 组成:

UniPass 的授权以及与 dApp 交互的方式

  • MasterKey:第一时间生成 UniPass 账户所使用的密钥

MasterKey 是这个钱包真正的公私钥对,它可以是任何的签名算法,包含一般网页浏览器的端到端加密工具 Subtle Crypto 所支持的 RSA 算法,区块链玩家比较熟悉的以太坊、比特币的签名算法,当然也可以是硬件钱包,甚至是 Yubikey。

因此,我们可以知道,在 MasterKey 层次上,UniPass 赋予了很大的活性去支援各种签名算法,让用户可以使用各种既存设施的 Key 做为自己 Unipass 的密钥。一般而言,UniPass 已经预设了用户什么设施也没有,可以直接在网页浏览器通过 Subtle 生成一组属于自己的公私钥 , 当然也为进阶的加密货币玩家以及 Degen 们准备了进阶的方法。

  • LocalKey

LocalKey 为用户端真正会接触到的 Key ,用户在登入 UniPass 或秘宝钱包时所输入的密码,其实就是在使用 LocalKey。这样的好处,是我们可以确保 MasterKey 私钥在连网环境下没有过长时间的暴露,同时通过 MasterKey 对 LocalKey 的授权签名,我们还可以让 LocalKey 支援的 Subtle 和 WebAuthn 生成的密钥做为代替 MasterKey 的密钥。

如此一来,我们就能确保平常用户和 dApp 交互时,我们并不会让用户的 MasterKey 密钥直接暴露在使用环境中。同时,由于 LocalKey 可以被保存在装置中的 IndexedDB 内存中,其私钥无法被导出,因此在不会泄露密钥的前提下,还能够维持持续登入的好体验。

 

交易验证

 

如果有人对于密钥的安全感兴趣,想更进一步了解的话,笔者认为 UniPass 的交易验签值得深入探讨。在 UniPass 中,由于 MasterKey 对于 LocalKey 进行了授权,因此 LocalKey 可以开启这个钱包,在此处,交易验签其实需要验证的内容分别是:

  • MasterKey 的公钥以及 MasterKey-privKey 对 LocalKey-pubKey 的授权签名

  • LocalKey 的公钥以及 LocalKey 对交易的签名

MasterKey 的授权签名和 LocalKey 的签名必须同时具备才能够使用该账户的资产。

 

你的密钥保存在哪?

 

机智的你可能在这个时候想到了一个问题,那就是:如果这不是一个托管钱包,那么我们的密钥存储在哪里呢?

其实这个问题可以分成几个层次去回答。在目前暂时的版本中,用户 MasterKey 的 Keystore 会以密码强加密的方式存在云端服务器中,但是只有拥有密码的人才有办法使用,也就是用户自己。 同时,在用户自身装置的 IndexedDB 内存中,会保留不可以导出的 LocalKey,以及等于地址效力的 MasterKey-pubkey,还有 MasterKey 对 LocalKey 的授权签名。如此一来,我们确保了用户的使用和密钥的安全,未来据 Lay2 团队透露,UniPass 的 MasterKey Keystore 也会支持用户自行下载保管。

 

邮箱的恢复机制是怎么办到的?

 

接下来,可能还会有眼尖的朋友会问,那么恢复机制是怎么回事呢?

当然,一样是授权的魔法起了作用。在我们创建账户时,其实我们的 MasterKey 授权了两把 Key,一是我们的 LocalKey,另外一个是就是我们的邮箱。

域名密钥识别邮件(DomainKeys Identified Mail,DKIM)是一套电子邮件的认证机制,提供了数位签章与身份验证的功能,以检测寄件者、主旨、内文、附件等部分有否被伪冒或窜改。目前,绝大部分的邮箱,例如 Gmail、QQ 邮箱等,都已经具备 DKIM 。

通过 MasterKey 对于邮箱的 DKIM 签章授权,我们可以让 CKB 链上去验证「DKIM 的发出单位,是不是指定的邮箱所发出,以及是否带有授权签名」,进而让我们可以转移自己账户的资产。这就是让我们可以在忘记 UniPass 的密码,也就是丢了 Key 的时候还可以恢复这个资产的办法。当你忘记密码的时候,这世界上是没有其他人能够帮你保存 UniPass 非托管钱包的公私钥信息,我们能够依靠的惟一办法,就是你起初的注册邮箱的签名,因为 UniPass 已经事先授权了这个邮箱的签名可以解锁该 Cell 的 lock。

当然,这背后也还有一个安全机制,那就是通过邮箱恢复解开 lock 的这个动作。必须经历约 48 小时的时间后,才能够转移该账户上面的这些资产,以避免有人恶意地盗用邮件从而盗取资产。邮箱恢复是 Lay2 的 UniPass 设计的精妙之处,它成功地让每天上亿人都在使用但却从未在任何区块链中扮演密钥角色的邮箱 DKIM 签名,首次在 Nervos 链上扮演了用户的入口, 这是 Nervos 的第一次,也是区块链领域和这个我们最熟悉的互联网设施进行整合的第一次。

LocalKey 和加密遗嘱的授权

 

一个没有区块链账户的人,怎么能收得了区块链资产红包?

 

红包中的 NFT 由社区才华横溢的 Rossum 大大创作

UniPass 还有一个红包的功能,可以让任何人拿走你的加密货币资产,还可以用口令和谜语红包,红包中的资产目前有 NFT,甚至未来还能 Fungible Token。

在使用 UniPass 的红包功能时,你可能会觉得很神奇,为什么我们可以轻易地发出 CKB 链上的 NFT 红包呢?

答案很简单,还是神奇的授权。

发红包的动作实际上是用户选择好了要发送的 NFT 后,我们通过发红包这个动作在链下签名授权了一对 Key,可以打开我们存放资产的 Cell 的 lock,并转移走我们的资产。因此,发红包的动作其实也是一种授权。如果你的红包是口令红包,那么其实我们就是用这个口令或者谜底去对这把 Key 进行加密,而输入 Key 的人就可以转走这笔资产到你自己的 UniPass 账户,这就是为什么我们晚来就抢不到红包的原因,因为已经有人早我们一步拿走这把 Key 并且转移走其中的资产了。

如果你是眼尖一点的小伙伴,你甚至还会发现一件有趣的事情,那就是在这个过程中(如下图),我们只进行了一笔链上的交易,即让抢到红包的用户转走资产,而包红包其实只是对 Key 的链下授权, 这个动作其实也可以显现 Cell Model 的轻巧之处。


 
 

用户要做的就是享受

 

上面这些用户都不需要懂,用户要做的就是享受! 没错,对于一般用户而言,我上一部分的内容基本都是废话。因为用户并不需要了解原理,只需要享受就好。

用户不需要在他不需要动脑的地方被教育,这可能是任何领域产品设计的极致境界,就像我曾经听过 Apple 的某位主管说苹果的产品是不需要让用户看说明书的,这点在 UniPass 上也相同。

在 UniPass 上,我们不会看到这个钱包要求用户理解区块链。

在 UniPass 上,我们也不会看见钱包对于用户的「使用前考试」。

在 UniPass 上,用户要做的就是尽情地享受区块链技术为其带来的便利以及资产自主管理权。 即使上述的技术架构是复杂的,但是在用户面前呈现的使用步骤,基本上都能够符合用户既有的使用习惯与经验,能够让用户直接操起手边的邮箱,或者 WebAuthn 的生物识别等工具,就开始玩转区块链 dApp。我想这就是 UniPass 这个万用通行证想做到的。

当然,UniPass 绝不仅止于此,未来它能够和许多的互联网网页进行结合,也能够和很多的区块链基础设施以及应用结合。 我们可以预见,未来的 dApp 不再需要用户下载插件钱包,不再需要用户下载钱包 App,而是能够直接在 PC 或者移动端的网页中,透过 dApp 接上 UniPass 的 SDK 而直接生成区块链账户,同时在传统的网页端也可以直接使用 Unipass 做为登入的凭证,例如论坛等等。

如此一来,我们能够看到更多的比如论坛积分等过去在互联网中需要存储在中心化服务器上的资产,可以变为用户所能够自己握有的资产。如下的示意图所示,未来没有钱包的用户,在 dApp 上可以有直接使用 UniPass 登入的机会,传统互联网的网站,例如论坛,也可以通过 UniPass,为用户开启其他去中心化的使用场景,因为此时的用户账户已经具有了接收资产的能力,而这个时候用户也不需要额外改变自己的使用习惯。在这样的情况下,红包等点对点的价值传递以及社交属性的应用,也能借由这个机会开启一扇窗。

任何 dApp 未来可以为没有区块链钱包的用户提供便捷的入口,来源:Curve.fi (仅为示意)

任何互联网网页都可以借由这个入口开启区块链应用

最终,在消除了不必要的用户壁垒后,我们会看见区块链和用户不再有距离,在 Nervos 链上任何有新流量的场景以及高频应用,将可以在 UniPass 等技术创新基础设施下,提供给用户更好的使用体验,并且确保这个场景实际存在的用户不会因为技术门槛而被排除在外。这时候区块链的全面落地之路,又因此向前迈进了一步,区块链的爆品到来的那天也因此更靠近了一点。

 
 

1、本文谢谢 Lay2 团队的史迪仔、知县不厌其烦的指教与技术细节的分享,没有他们就没有这些内容和愉快的学习过程。
2、UniPass 是个迭代非常快速的产品,可能随时会有内容和设计上的更新迭代,一切的架构和内容以 Lay2 团队的实时更新为准。

 
 

强烈推荐

 

8 月 4 日,雷兔科技创始人兼 CEO 知县在登链公开课上,给大家分享了低门槛加密身份 UniPass 的技术实现。没来得及观看直播的小伙伴,可以在 B 站上查看视频回放:

11赞

支持,我会持续关注

1赞

支持

2赞

支持

1赞

我稀里糊涂的看完了

2赞

很好的干货 学习了 非常感谢

7赞

很强!

3赞

学习

支持,学习了

1赞

怎么体验啊:scream:

1赞

学习了

1赞

问题来了,怎么体验,怎么使用呢?

1赞

不错,

不错

@Tfans-a44e
可以关注「Unipass钱包」公众号,进入 ”我的账户“ 进行体验~ :stuck_out_tongue_winking_eye:

市场上钱包种类太多太多了。想打出一款新钱包还是需要花精力跟时间的。