咱们是被互联网宠幸的一代,在成长的过程当中也见过了无数的互联网爆品项目,随着流量等时代的红利而高歌猛进,成为了独角兽,甚至是当今特定场景的一方之霸,例如腾讯、阿里、拼多多等互联网巨头。在互联网井喷般环境下熏陶的咱们,投入了区块链领域之后,心情多是矛盾的。算法
一方面惊叹区块链的成长速度居然如此之快,这个月流动性挖矿,下个月算法稳定币,以后还有 NFT,NFT 和 DeFi 还能玩出 GameFi,各类新的戏法不断涌现,让人随时都有新鲜感。segmentfault
可是另一方面,现实也是骨感的。除了看尽行情的起起落落外,咱们同时也很清楚,真正使用 dApp 的参与者寥寥。流动性挖矿几周、几天的盛况,不久随即杯盘狼藉,这样的画面也已经家常便饭。浏览器
区块链彷佛让咱们看到将来的轮廓,但你们却没法有底,究竟何时能看到公链应用的大规模落地,像互联网产品同样获取真实的用户?我想,在此咱们有个清晰,可是实现起来却不容易的答案,那就是:咱们必须让区块链产品和用户没有距离。安全
咱们至今依然很难看到一个你们都公认的区块链「爆品」,笔者认为缘由有不少种,每一个人可能也会有本身的版本。在这里,我试着结合本身的区块链经验,总结出一个区块链爆品公式:服务器
区块链爆品 = 滑顺 x 高频应用 x 新流量架构
从之前到如今,产品的使用滑顺,可以有足够吸引人的场景,以及能找到被吸引的那群人,其实这几点缺一不可。可是,在区块链上,目前却很难有长期吸引新用户的爆款产品。ide
在区块链圈子里,咱们能够经常看见一个不正常的现象:在交易所买过的资产,咱们不必定真正用过它背后的产品, 就像不少人买了 UNI ,可是从没有用过 Uniswap,甚至不少人炒币炒了三五年,还不必定有使用过 MetaMask 去玩过任何 DeFi、NFT。持币者多于真实用户,这个可能和外在的互联网世界的逻辑彻底相反,以股票为例,持股人数量多余用户数量的 C 端项目根本不可能存在。工具
这种怪奇现象的背后,有一个很重要的缘由,那就是用户门槛太高。即便我是一个想要使用 DeFi 的用户,钱包的建立、私钥保存对不少用户来讲已是一大阻力,更别说后头还会遇到交易速度慢,以及手续费如何支付才合理等等。学习
一个坑接着一个坑,一个坎儿接着一个坎儿,光是使用钱包的逻辑这一块就已经足够整死用户了,那即便背后有财富效应或者其余高频诱因的应用,也难以去打动新用户。说句可能不动听但却写实的话,那就是对于用户而言,在体验上,助记词、私钥保存以及插件钱包等等都不是什么太过于「先进」的体验,而是使用区块链产品的必要之恶。区块链
滑顺的使用体验是区块链产品可以产生爆款的前提和必要条件, 这很是考验区块链产品人对于技术理解的造诣以及对于用户痛点的同理心。若是用互联网的语境来讲,其实滑顺体验背后就是一种技术创新,它会推动新场景以及新用户群体进入区块链产品的世界。
今天,若是区块链产品可以尽量下降使用的门槛,例如像通常的互联网产品同样经过邮箱验证、指纹识别就可以生成区块链帐户,而且用它来进入任何的 dApp,那么区块链世界的格局或许会继续往上提高一个层级。
这个时候,有个 Game Changer 出现了,那就是 Lay2 团队的 UniPass。
今天 UniPass 从新定义了用户进入区块链世界的入口——钱包。 这是一款由 Lay2 团队通过经年累月的迭代而打磨出来的产品,固然产品也还逐渐在进化中。他们对于钱包的理解和实现,可能有点颠覆了咱们过往对于区块链非托管钱包的印象:
一、钱包不是必定非得要用户记下复杂的助记词
在 UniPass 中,任意的签名验证均可以在不失去安全性的状况下,让用户方便地使用各类方式建立区块链帐户。这点不但考验着钱包的实现能力,也考验着公链的兼容能力。在 UniPass 上,你能够看到,记下助记词这种步骤不需存在,取而代之的是互联网既有的签名验证工具生成的公私钥。
二、钱包不是必定只有一种方式能够生成密钥
钱包的背后是无数的 dApp 应用,钱包必需要有人使用才有意义,而应用则是但愿可以有来自四面八方的用户都用上个人 dApp,所以接入 dApp 的钱包可以开启各扇不一样的门,来迎接不一样入口的用户,这是一大重点。在这点上,UniPass 也在它的登入选择上比通常的钱包多元。长期来讲,互联网的 R一、RSA,比特币、以太坊的 K1 或者硬件钱包,均可以生成 CKB 上的区块链帐户。
三、钱包不是必定非得是用户不熟悉的操做界面
安全感是用户在使用产品时必备的条件,界面越是熟悉其实用户越可以放心地使用。过去,用户可能对于 MetaMask 或者其余移动钱包做为入口很是不熟悉,固然更别说让他登入的界面是经过硬件钱包,这更是天方夜谭。其实,区块链帐户可以在不少用户熟悉的互联网页面直接生成。
四、钱包更不是必定要用户下载某个 App 或者插件
过去几年,在区块链圈子中,你们已经潜移默化地有了一个概念:对 dApp 而言,钱包就是一个插件或者一款手机 APP,用户使用 dApp 时必须依赖着这个「额外」下载的插件钱包,或者在咱们「额外」下载钱包的浏览器之中才能打开咱们的 dApp。这些其实都为用户带来了许多没必要要的步骤,由于多一个路径,就表明这个产品又拒绝掉了一批用户。
可是在 UniPass 中则有所不一样。下图是 UniPass 钱包的界面,咱们能够发现一个很特别的点:钱包它是一个网页的形式,不论在电脑、手机、平板,咱们均可以在任一网页浏览器中打开 UniPass 钱包。
▲ 秘宝钱包可以单独开启,也可以镶嵌在任何 dApp 的登入弹窗之中,来源:UniPass & Mibao
紧接着你可能会问,怎么样可以在这个钱包中建立一个 Nervos 的钱包帐户呢?你只须要建立一组属于本身的帐号密码,而且经过邮箱的验证码就可以生成一个区块链钱包。 同时,它还可以放置在任意 dApp 的登入页面中,以弹窗的方式呈现出登入的入口,如此一来,钱包就不是你须要去下载的插件或者手机 App,而是你要用时,任何开发者均可觉得你准备好的进入入口。
这不是在吹牛,也不是魔法,固然过程当中更不可能发生像某家公链的钱包同样,当你给它你的邮箱,它发给你竟是明文私钥的愚蠢行为。UniPass 之因此能带来滑顺的使用体验,背后是 Lay2 团队的精心构思和 Nervos CKB 开放的密码学验证体系的结晶。
UniPass 背后的黑魔法有什么秘密呢?这有赖于 Nervos 可以支持各类密码学原语的底层虚拟机,以及不设限解锁规则的 Cell model ,固然还有 Lay2 对于 UniPass 精良的架构设计。
对于 Nervos 可以灵活地支持各类既存的签名算法,而不用让用户再建立一组新的钱包这个特性,我想已经不用赘述,你们能够参考过往的一些文章就能够了解其中的原理。在这里,我想着重介绍的是,即便有了灵活的底层,UniPass 也必须有足够精妙的设计,才可以让用户有滑顺的区块链体验 , 这点 Lay2 是怎么办到的?
安全是钱包彻底不会妥协、也不能让步的要点,安全性不足的钱包就像是窗户破了洞的飞机,随时均可能土崩瓦解,即便是豪华的 A380 也同样。但用户体验却又很是重要,所以在 UniPass 这个轻量级的钱包上,有着精致的双层架构来保护密钥的安全,而且兼顾到了使用的方便性。
UniPass 的双层架构以下图,由 MasterKey 和 LocalKey 组成:
▲ UniPass 的受权以及与 dApp 交互的方式
MasterKey 是这个钱包真正的公私钥对,它能够是任何的签名算法,包含通常网页浏览器的端到端加密工具 Subtle Crypto 所支持的 RSA 算法,区块链玩家比较熟悉的以太坊、比特币的签名算法,固然也能够是硬件钱包,甚至是 Yubikey。
所以,咱们能够知道,在 MasterKey 层次上,UniPass 赋予了很大的活性去支援各类签名算法,让用户可使用各类既存设施的 Key 作为本身 Unipass 的密钥。通常而言,UniPass 已经预设了用户什么设施也没有,能够直接在网页浏览器经过 Subtle 生成一组属于本身的公私钥 , 固然也为进阶的加密货币玩家以及 Degen 们准备了进阶的方法。
LocalKey 为用户端真正会接触到的 Key ,用户在登入 UniPass 或秘宝钱包时所输入的密码,其实就是在使用 LocalKey。这样的好处,是咱们能够确保 MasterKey 私钥在连网环境下没有过长时间的暴露,同时经过 MasterKey 对 LocalKey 的受权签名,咱们还可让 LocalKey 支援的 Subtle 和 WebAuthn 生成的密钥作为代替 MasterKey 的密钥。
如此一来,咱们就能确保日常用户和 dApp 交互时,咱们并不会让用户的 MasterKey 密钥直接暴露在使用环境中。同时,因为 LocalKey 能够被保存在装置中的 IndexedDB 内存中,其私钥没法被导出,所以在不会泄露密钥的前提下,还可以维持持续登入的好体验。
若是有人对于密钥的安全感兴趣,想更进一步了解的话,笔者认为 UniPass 的交易验签值得深刻探讨。在 UniPass 中,因为 MasterKey 对于 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 等技术创新基础设施下,提供给用户更好的使用体验,而且确保这个场景实际存在的用户不会由于技术门槛而被排除在外。这时候区块链的全面落地之路,又所以向前迈进了一步,区块链的爆品到来的那天也所以更靠近了一点。
一、本文谢谢 Lay2 团队的史迪仔、知县不厌其烦的指教与技术细节的分享,没有他们就没有这些内容和愉快的学习过程。
二、UniPass 是个迭代很是快速的产品,可能随时会有内容和设计上的更新迭代,一切的架构和内容以 Lay2 团队的实时更新为准。
8 月 4 日,雷兔科技创始人兼 CEO 知县在登链公开课上,给你们分享了低门槛加密身份 UniPass 的技术实现。没来得及观看直播的小伙伴,能够在 B 站上查看视频回放: