从 Portal Wallet 到 PW-SDK,打开互联网连接世界的入口

区块网 view 51579 2020-8-28 11:10
share to
Scan QR code with WeChat

在区块链世界里,「如何增加链的用户」是一个公链们被反复被问到的话题。你的链相对于其他链有什么优势?其他公链上成功的应用和生态能否在你的链上同样复制?怎么更好把其他链的用户导入你的生态里?

这些提问,可能会把人带入存量思维中,大家在一个资源有限的环境里彼此竞争,为吸引圈内用户,把他们导入自己生态想办法。

从公链发展的角度来说,把握圈内用户,当然是非常重要的一件事,但与此同时,公链是不是可以尝试着从圈外导入用户呢?

互联网相对区块链,有着更广阔的用户基础,倘若能把互联网打开一个口子,让互联网用户顺利进入加密世界,这对于整个区块链生态的发展,都是极有好处的,将建立一个新的加密网络生态。

互联网世界通往区块链世界的传送门

相对互联网产品,目前新用户进入区块链最大的痛点是进入门槛过高。创建钱包、备份助记词、导入钱包,一系列的操作都是全新且反用户习惯的。因此,如何在保证安全性的前提下,让用户用自己熟悉的方式进入区块链世界就变成了一个非常值得探讨的问题。

Portal Wallet——CKB 连接世界的入口

在此背景下,Portal Wallet 应运而生,一款真正贴近互联网用户的去中心化数字资产钱包。

· 通过指纹、Face ID 等方式,可以在浏览器中安全地创建数字资产钱包,实现资产的接收和转账。

· 无需以太坊钱包内置支持,就能使用钱包签发 CKB 交易

· 未来所有公链都可通过 Portal Wallet 探索 CKB,如果联盟链开放程度足够,使用 Libra 的账户体系来转账 CKB 也并非不可能 。

其中非常值得一提的是,Portal Wallet 支持指纹、FaceID 等生物验证方式创建钱包。它背后的原理是 WebAuthn 技术的运用。WebAuthn 是一个 2019 年由 W3C 发布的 Web 标准,目的是建立一个使用非对称密码学对基于 Web 的应用程序和服务进行身份验证的标准,而这个技术的普及,可以让用户无需填写密码,通过指纹识别、面部识别、虹膜识别、声音识别、实体密钥(USB连接、蓝牙连接、NFC连接)等方式便捷的使用互联网产品。

而基于 CKB 强大的密码学原语支持能力,这一套基于非对称密码学的标准,CKB 上同样可以支持,于是用户可以通过指纹、FaceID 等一系列的生物验证方式使用 Portal Wallet。

用户可以在不了解助记词、公私钥这些概念的情况下,通过指纹或者扫脸在网络浏览器端创建钱包,并且实现多端兼容,做到用户使用的「极度简单」。而且这种方式创建的钱包,密钥并不在网页端保存,而是由创建设备的 Secure Enclave 管理,其安全程度比操作系统还要高,没有途径能把私钥导出,所以用户使用能做到「极度安全」。

至此,Portal Wallet 完全可以做到用户使用区块链产品和互联网产品没有任何区别,它把阻拦互联网用户进入区块链世界的障碍减到了最小。

从 Portal Wallet 到 PW-SDK,打开互联网连接世界的入口

PW SDK——所有区块链地址都可以是 CKB 地址

说到这里,好奇的你也许会问,CKB 未来是否会有更多像 Portal Wallet 这种贴近互联网用户的 dApp?它们是否有可能在 CKB 上涌现,推动 CKB 生态不断繁荣呢?

答案当然是可以的。

Portal Wallet 是基于 Lay 2 团队的 Nervos Grants 项目 PW-SDK 开发而成,任何基于 PW-SDK 打造的 dApp,都可以直接调用这套密码学基础设施,实现互联网级别的用户体验。

另外,PW-SDK 的愿景非常值得一提——让 CKB dApps 可以运行在任何加密货币钱包中。

这句话代表的含义是,其他钱包运营方完全不需要进行针对性的开发,甚至它可以不用支持 CKB ,即可运行基于 PW-SDK 开发的 dApp。而对用户来说,任何其他公链地址,都是一个合法的 CKB 地址,即使没有创建 CKB 钱包,也照样可以使用基于 PW-SDK 的 dApp,安全性相对原生 dApp 是一样的。

PW-SDK 能有如此强大的功能,主要分为三块:

pw-lib

目前 pw-lib 包含:识别以太坊签名格式所需的 Keccak 256 哈希算法库、用来生成比特币地址的 SHA-256 哈希算法库、ECDSA Secp256r1 签名算法库。

随着未来应用场景的丰富,对密码学库的要求越来越大,通过 CKB 强大的密码学原语支持能力,pw-lib 可以方便地集成这些库,从而给开发者最好的体验。

pw-lock

pw-lock 能够验证比特币、以太坊、EOS 等公链钱包的签名,能将这些公链的每一个地址(以公钥计算)都映射为一个合法 CKB 地址。

目前 pw-lock 已经支持了 WebAuthn,Portal Wallet 在 CKB 测试网中也已实现了 WebAuth 的功能。

使用 Yubikey 创建 CKB 地址的示例视频如下:

https://www.bilibili.com/video/BV1o5411a7Aa?p=5

pw-core

pw-core 是使用 Typescript 编写的前端 SDK,一个对 CKB dApp 开发者非常友好的 js 库,它内置了与 pw-lock 的交互,开发者可以方便的把它集成到前端应用里。pw-core 为开发者提供了在所有 pw-lock 支持的公链钱包中直接运行 CKB dApp 的能力。

如何使用 pw-core 在 1 小时内创建最简单的 CKB dApp 视频如下:

https://www.bilibili.com/video/BV1r64y1c7n2?from=search&seid=1506550186570245806

「所有区块链地址都可以是 CKB 地址」,这句话看似疯狂,但借助 PW-SDK,完全可以变成现实。

而这意味所有其他区块链项目的用户,都可以直接成为 Nervos CKB 的用户,这将大大加快 Nervos 用户的积累环节,有助于 Nervos 生态快速发展。

而且,这一天,不会太远!

从 Portal Wallet 到 PW-SDK,打开互联网连接世界的入口

Cell Model 和 CKB-VM

开放灵活是更多可能性的必要条件

说了这么多不同且丰富的可能性,那这些是怎么实现的呢?其背后有着怎样的支撑呢?

这里就必须提及 CKB 的 Cell 模型和 CKB VM 虚拟机,它们给 CKB 带来了前所未有的灵活性和可扩展性。

区块链交易签名过程中主要会涉及到签名算法和哈希算法。以以太坊为例,以太坊和 CKB 中采用的签名算法都是 ECDSA Secp256k1,而哈希算法以太坊采用的是 keccak256,CKB 默认的是 blake2b,两者无法共通。

那如果要把两者打通,怎么解决这个问题呢?

这个就有赖于强大 CKB-VM 和 Cell 模型实现的 「Crypto Friendly」了

不同于在比特币里只能储存简单的数据和逻辑,CKB 将比特币的 UXTO 编程模型进行了泛化,诞生了 Cell Model,将一个只能存放简单数据和逻辑的空间变成了一个可以存放任意 byte 字段的空间,而 CKB-VM 基于 RISC-V 指令集构建而成,非常简单和抽象,支持从 Cell 里把存的代码载入内存里执行,能把各种想要实现的逻辑编码跑在虚拟机上,其中包括诸多密码学原语。

这给开发者带来了极大的便利,他们可以把密码学原语编译成 CKB-VM 上能跑的指令放在一个 Cell 里,然后在保存状态的 Cell 里去调用密码学的库,载入到内存里去执行,这样开发者就能不断地往 CKB 的体系里去增加新的密码学原语,做到十足的「Crypto Friendly」。而在以太坊上,只能通过硬分叉来增加新的密码学原语,是一件非常麻烦的事情。

而有了这样灵活的密码学原语的支持,开发者可以将 keccak256 哈希算法部署在 Cell 里,在 CKB 链上实现一个支持 keccak256 哈希算法密码学的库, 因此, CKB 链上脚本可以实现对以太坊签名格式的验证,进而实现通过以太坊地址收发 CKB。

用户友好

区块链拥抱更广阔用户的前提

回到最初的话题,公链如何才能更好的「出圈」?公链上的 dApp 如何吸引更广范围的用户?

一方面,用户的门槛需要足够的低。

除了指纹、扫脸等生物验证方式在浏览器端创建钱包,提高用户使用的方便性和安全性外,许多创新十足,且具有极高实践价值的想法,生态开发者们都在积极探索中。

比方说,可以把护照作为硬件钱包,加入 CKB 的账户体系。因为护照上有电子加密芯片,它可以通过 NFC 进行主动式签名。用户可以把护照信息带在签名里一并发出来,而 CKB 链上可以进行验证。这样,每一个护照持有者,都变成了潜在的 CKB 用户。

CKB 还可以利用现有邮箱的密码学设施,实现邮箱地址和内容链上确认。这样的一个好处是,可以提高用户的可用性。用户可以把自己的地址和邮箱绑定,把邮箱作为地址的解锁因子添加进去,所以即使用户把设备丢了也没有关系,他可以通过邮件移除之前设备的解锁因子,添加另外一个解锁因子,恢复账号。

CKB 甚至还可以用邮件直接传递加密资产,这意味着所有互联网用户,都可以无缝切换到加密世界里,这带来用户的想象空间将是巨大的。

另一方面,区块链应该利用其建立信任的特质,创造更大的价值。

当邮件和护照都变成 CKB 账户体系中的一部分时,会有非常多精彩且有价值的应用场景诞生,而这些是传统互联网做不到,能给区块链生态带来真实用户的。比如,利用邮件和护照做 DID,将区块链身份和实际使用者对应起来,再用零知识证明对使用者做一些范围化的认证,就可以完成用户的 KYC 流程。另外,让邮件回执单和签名回执单上链,可以确认一笔交易收到了,做入金确认。

以上都仅是 CKB 生态诸多可能性的一部分,利用 CKB 独特灵活的特性,可以做的事情还有很多很多。

借助广大社区小伙伴们的充分探索,CKB 未来生态将有无限可能。我们也万分期待,从互联网真正打开一个突破口,把互联网用户无缝导入区块链世界,打造更加丰富和多元的加密网络生态。

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Previous: 区块链在证券行业落地面临的问题 Next: 如何警惕非法金融借创新概念迷惑投资人?

Related