刚才我们说的三种使用体验改进的方式,比较多的是上层应用的设计巧思而带来的体验便利。但终归一句:「区块链的使用体验障碍根本上是源自于底层设计的僵化」。 能不能有更直接的区块链使用体验一直是一个挑战,因为区块链虽然也是一串程式码写成的软体,但公链本身却非常像是「硬体」,部署好之后,要改动、要分叉都是一个极其漫长的过程。 因此,公链在设计的第一天开始必须尽可能做到灵活与弹性。 首先,地址和密钥管理,有没有可能更为自由? 答案是可能的!这也是 Nervos CKB 这条公链从设计之初就一直非常重视的面向。
今年年初,Nervos 社区 Grant 团队 Lay2[12],实现了一个神奇的钱包 P-wallet[13],用以太坊的地址就可以收到 CKB。很多人开始在问我:这是跨链吗? 不是!这是因为 Nervos CKB 上的密码学原语是可以自定义的! Nervos CKB 的编程模型 Cell Model 是泛化的 UTXO 模型,Cell 里面分别有四个字段:Capacity (金额和存储空间)、lock script (资产解锁的规则)、type script 和 data。 在 Nervos CKB 的底层设计中,交易签名、客户端验证的签名算法并非是硬编码的,而是可以让开发者做任意的编写和抽换。同时有赖于基于 Risc-V 的 CKB-VM 性能足够的强大,任何被编译成 CKB-VM 可验证的加密算法,都可以在不经过硬分叉的情况下就被使用。 在 ckb.pw 的例子中,它就是对 Lock Script 进行更动而已,因为以太坊签名用的是 secp256k1,与 CKB 预设的相同。其差别在于哈希函数,CKB 用的是 blake2b,而以太坊用的是 keccak256,因此只需要将提供验证的哈希函数 keccak256 和原先的 blake2b 调换即可。 这象征着什么? 用户不需要为了使用这条链的资产、应用再多管理新的地址和密钥对。 这是最基本的一层,再往另外一个角度看,当我发送交易时,我的签名工具可以是任何一个以太坊等用户较多的工具常用的钱包,例如 MetaMask、imToken 等, 已经在区块链圈子里的用户,可以将他进入 CKB 的摩擦成本压缩到最低,钱包的创建步骤也可以在初期的开发过程中被省略。 任何在 CKB 上的应用可以因此被赋能,只要他所想使用的验证规则和签名算法有被放到 CKB 链上,那用户就可以直接用他们常用的这套验证工具做交易的签署(ETH 只是其中一种)。 CKB 钱包和 CKB dApp 白嫖 [14] MetaMask 的画面(当然白嫖是戏称,同时也是 Nervos 独有的魅力) 以太坊是目前区块链中最大的智能合约平台,比特币是区块链中最有价值的资产。未来可能还会有超过十亿用户的 Libra 或 DCEP 加入战场。但此外,我们不妨先把视角放到广袤的互联网生态去看,当今天 WebAuthn[15] 以及指纹解锁、PGP Key 等等符合 FIDO (Fast Identity Online)[16] 的生态有多少的用户?按照这套设计的思路,这些已经是大家习惯的验证方式,或许在不久的未来都是可以移植到区块链上的。 想想有一天,你用直接的手指做一下指纹辨识,就生成了一个地址,以及签署完成了一笔区块链上的交易,这会是多么的滑顺~ 手续费的灵活设置:用各种 Token 付手续费和请他人代付都是可能的自己的交易自己付这个概念对于互联网用户来说已经很难被接受了。 从底层出发,怎么让这件事情变得更灵活一点,这可以从 Nervos 的 Open Transaction 开始说起。 在 Nervos 上的交易和比特币一样,都是在上链前要先构造好的,也就是说输入与输出在上链前是确定的,而不需要通过链上的计算才会知道结果,所以交易手续费在上链前可知,因为所耗损的资源可以提前计算。 由于必须事前先构建交易,于是便有了 Open Transaction 这样的协议提案,这个概念最早源自比特币社区 [17]。因为在 UTXO 或者 Cell Model 的架构下,一笔交易里面输出的生成必定符合输入的规则,才可以被验证上链。换个角度来说,一笔交易是可以由多人组合的,只要符合组成规则就好。 同样的,一笔交易里面使用什么样的 Token 来支付手续费,在 CKB 上一样是可以被用户自己定义的。 好像篇幅拉得太长了,如果对这个点有兴趣的朋友们,欢迎参阅 Open Transaction 的提案内容 [18]。 日前,Nervos 的国民学姐也曾经在线上用 Live Coding 的方式 实现了 Open Transaction,欢迎大家来看看~ 最后,手续费的问题其实会是 DeFi 的重大发展隐患,史迪仔的《被公链们遗忘的加油站 —— DeFi 发展的重大隐患之一》探讨了很多深层的问题和内容。 这些故事都还在进行中,未来的区块链要成为革命性的 Web3,在用户体验上势必不能输过以前的互联网,并且要在这个基础下,让用户体验到区块链的优势与加成效果,这些除了有赖于应用层的巧思外,底层公链的灵活设计也弥足重要。 这个世界还在等待着一种给 99% 的用户使用的区块链! 当今世界的节奏越来越快,每过几年,都会有一些革命性的产品,来向这个世界宣示新时代的到来,区块链时代的会怎么重新形塑世界,我很期待。
(责任编辑:admin1) |