区块链想要拥有互联网级的用户体验,如何从应用层与公链去改进?
原文标题:《迈向互联网级产品使用体验的区块链》
我们常常可以听到许多人在说「区块链产品的用户教育成本很高」 , 但其实对于C端用户而言 , 用户教育这个说法是不存在的 , 他们并不需要知道什么是区块链 , 就像我们使用人工智能产品时不需要理解什么是卷积神经网络一样 。
但是 , 一个可以让上层应用免去用户学习成本的基础设施 , 究竟该有什么样的特质呢?这好像是几年来大家在关注TPS之余比较少探讨到的 。 所幸还是有人默默的在探究这些问题 , 我们也从中渐渐地看到了一些答案了 。
2017年的那波浪潮 , 让世界开始意识到Blockchainisabigthing , 但到了2019年 , 区块链已不在是个神秘的技术 , 甚至有人开始说Blockchainwillbeboring 。 今年 , 如果我们把所有的区块链用户 , 不论活跃或是不活跃的都加起来 , 或许还不到世界人口的0.5% 。
本文主要想和大家聊聊 , 仍处于技术发展早期的区块链技术 , 到底在使用体验上出了什么问题 , 以及大家应该怎样去改进 , 目前有了哪些不错的方案 , 以及区块链的最底层基础设施——公链 , 可以如何让区块链的各种应用拥有更大的弹性 , 从而制造更好的产品使用体验 。

文章图片
区块链如何吓跑用户?
一直以来 , 区块链都面临一个很致命的问题:过高的用户门槛 。 这样棘手的问题 , 也让那些对区块链好奇、想要进入的萌新用户逃之夭夭:
要好好保存一大堆乱码的私钥、十二个不明所以的助记词 , 以及地址等操作吓跑了一大票新手村的朋友 。
终于 , 有些人鼓起勇气 , 要记下十二个词的助记词 , 但又被恐吓不能截图……只能说区块链对新手来说真的太难 , 也太不友善了 。
最后 , 剩下少数对于新世界的技术、新财富依旧好奇的少数用户留了下来 , 继续一起经历风雨 。
中间有些人觉得区块链的技术实在难以理解 , 还满地都是术语和缩写 , 受不了而离开了区块链 , 有些人买币亏了一屁股钱而和这个领域说了声掰掰 。
如果用一个用户漏斗来形容的话 , 在区块链上离去的用户可能依序是这个样子的吧:

文章图片
钱包是进入区块链的必需工具
钱包是区块链的入口 , 任何一位区块链用户要使用区块链上的资产 , 或者要使用任何一种智能合约 , 钱包就是一张进入这个世界的通行证 。
乱讲 , 我只要买币卖币 , 干嘛需要用钱包 , 把钱放交易所好了啊!
当然这也是中心化交易所目前的优势 , 让用户可以绕过助记词等等陌生的产物 。 但是 , 历来交易所被盗事件就已不绝于耳 , 每年少说有个一两起 , 动辄损失就是上亿美元 。 而且根据这十几年的趋势来看 , 我们甚至可以预测对于中心化交易所的攻击只会越来越频繁 , 攻击手法也会越来越多元 , 有兴趣的朋友可以看一看知名区块链数据分析公司Chainalysis的这篇报告 。
总之 , 最安全的方式还是把你的加密资产放在自己的身边 。 另外 , 想要使用任何区块链上的产品 , 钱包也是必须 , 因此钱包是个「真正进入区块链世界」的必需品 。
历年的中心化交易所攻击所造成的损失source:Chainalysis

文章图片
最早看到的钱包是怎么样的?
钱包最基本的功能 , 其实就和钥匙圈一样 , 只是存放资产密钥的工具 。 最早的是桌面钱包 , 例如BitcoinCore还需要进行节点同步 , 慢慢的;后来出现了不需要同步节点的网页版钱包 , 像大家常见的MyEtherWallet;还有可以直接在网路上和dApp交互的WebEextensionWallet , 比如MetaMask 。
但是用户似乎还是在受惊吓的阶段 , 导出助记词的时候既不明所以 , 还会被警告 , 密钥、地址的管理与使用上的不直观始终都是存在的问题 。

文章图片
当然这还不是体验糟糕的结束 , 因为你要用任何的dApp之前 , 都还需要交易手续费呢……
近年来许多钱包的改进
庆幸的是最近几年可以看到大家也开始在思考 , 怎么带领区块链「出圈」 , 让普罗大众能更普及得使用区块链产品的钱包、协议也逐渐的问世 , 帮大家把一堆区块链使用上的坑填起来了一点 , 以下简单的介绍几个我看到的改进:
WalletConnect:扫码即登入
WalletConnect是一个很棒的协议 , 它的重点是让用户在网页端要和dApp进行交互时 , 不需要通过安装MetaMask , 而是可以直接用手机钱包连接各种网页端的dApp 。 如此一来 , 密钥管理就可以在装置端完成 , 同时 , 扫码登入也更符合一般网际网络使用者的习惯 , 而且完整地解决了原先区块链「钱包在手机端 , dApp在网页端」的使用逻辑矛盾 。

文章图片
目前已经有许多的钱包商加入了WalletConnect协议中 , 例如Argent , 以及国内用户常常使用的imToken 。 而dApp开发者要使用WalletConnect更是一件轻而易举的事情 , 我们随便看几个DeFi应用 , 例如Uniswap/Aave/DDEX等等也都已经支持 。
p.sCompound似乎是少数不支持walletconnect的DeFidApp , 但却支持另一个Coinbase支持的手机端钱包登入的Walletlink[5]

文章图片
传统而言 , 互联网用户的生态里面 , 有个共识是「流量为王」 , 尤其是站在风口的行业 , 必定要拼命的进行闪电式扩张 , 尽可能透过自己的势能去抢占一片可能下一刻就变成红海的蓝海市场 。 这个前提下 , 补贴和尽可能的给顾客优惠 , 再配合增长黑客(GrowthHacker)行销已经成为了互联网商业的显学 。
相对的 , 区块链世界则非常「高冷」 , 强调所谓「谁发交易谁付费」的概念 。 很不巧 , 任何使用者要和任何dApp交互 , 钱包账户要登入就一定会发生第一笔交易(Approved的交易在AccountModel的设计下已经是必要之恶) , 区块链开发者可能觉得理所当然 , 因为发起交易自然就会需要手续费 。
我一个App玩都还没玩你就要跟我收钱?!大哥你还想做生意吗?
因此 , 我们可以看到MetaTransaction(元交易)的解决方案产生了 。 所谓的MataTransaction的解决方案就是说 , 即使我们一样变动不了底层协议要求交易发送方付费的情况 , 但我在形式上找个代理人来帮你付钱 , 这应该没问题吧~
这就是MetaTransaction的特点 , 也就是说有个Relayer中继层可以在你签署交易以后 , 代替你支付手续费和发送交易 。 这不仅对新手非常友善 , 对于交易老手来说也可以避免在312那种极端情况下 , 因为没有足够的ETH而翻船的情况 。
但目前MetaTransaction还存在着一些限制 , 首先的问题就是所有的智能合约必须改成MetaTx的模式 , 也就是在程式码中将原本交易发送人的msg.sender换成signer , 然后将中继人(RelayServer)设定为msg.sender 。 这已经和原初的各种智能合约设计在所差异了 , 因此很多既成的智能合约可能无法直接套用 。
另外 , 还有一个更大的缺点是Relayer变相的可以有审查合约的权力 , 如果他们窜改资料或者不发送交易 , 都会造成原本的交易失败的情况以及对于原先的交易发送人造成损失 。 因此后续也再有了GasStationNetwork(GSN,EIP-1613)的改进提案 , 通过抵押机制确保节点不作恶 。
如果想要了解更多 , 可以查阅这两篇文章 , 一篇介绍元交易 , 另一篇介绍GSN方案 。 但目前MetaTransaction还是因为诸多的限制 , 还没有得到大规模的推行 。
另外 , imToken通过Tokenlon的方式进行手续费代付的方案也值得一看 。
AustinGriffith在提出MetaTx时的Demo 。
但可以代付手续费 , 对于区块链进行扩张和市场运营的意义重大 , 尤其在Gas费用高涨的此刻 。
社交账户轻钱包:常用的社交工具Wechat/Twitter即钱包
另外看到的一个酷炫的设计思路 , 是BlockABC推出的轻钱包方案 。
所谓的轻钱包 , 也就是能够管理小额交易的钱包 , 并且可以让任何人在微信、Twitter等社交帐号里面通过设立一组6位数的密码来使用钱包 。
作为小额收款的钱包 , 它有意思的地方就在于轻便 。 大家并不需要直接下载一个App , 而是可以用社交帐号的小程序等等轻便的工具就能收取「加密货币红包」 。 这和微信、支付宝的收红包使用体验也几乎是一样的 。 但其实BlockABC的巧思是在于「当用户真的有币了之后」 , 才会愿意真正的去下载钱包App并使用它 。 到了这个时候 , 用户再从轻钱包中将助记词导出 , 并且汇入他们的钱包App中即可 。 这里应用的是OAuth的授权登入技术 , 当只要确定了你的Openid之后 , 就能帮你生成一组助记词 。
所以它的小额支付非常便利 , 但长期而言用户还是会需要自己备份钱包 , 也不适合把过大的金额存于轻钱包 。
要使用一个钱包 , 只需要在微信小程序上打开 , 而且设定好6位密码就可以使用

文章图片

文章图片
其实更早以前在闪电网络上就有推出可以在Twitter上进行小额支付的工具tippin.me , 只可惜没有出现更泛化的版本 。
如果对于BlockABC所推出的轻钱包有兴趣 , 也欢迎参看他们的官网 。
接下来 , 我们再和大家分享这半年来Nervos生态上发生了哪些使用体验升级的提案和实现 , 而这些也源自于公链底层设计的一些创新~
公链能为上层应用带来产品使代体验的升级
刚才我们说的三种使用体验改进的方式 , 比较多的是上层应用的设计巧思而带来的体验便利 。 但终归一句:「区块链的使用体验障碍根本上是源自于底层设计的僵化」 。
能不能有更直接的区块链使用体验一直是一个挑战 , 因为区块链虽然也是一串程式码写成的软体 , 但公链本身却非常像是「硬体」 , 部署好之后 , 要改动、要分叉都是一个极其漫长的过程 。 因此 , 公链在设计的第一天开始必须尽可能做到灵活与弹性 。
首先 , 地址和密钥管理 , 有没有可能更为自由?
答案是可能的!这也是NervosCKB这条公链从设计之初就一直非常重视的面向 。
听说用以太坊的地址可以收到NervosCKB的公链原生代币CKB?
今年年初 , Nervos社区Grant团队Lay2 , 实现了一个神奇的钱包P-wallet , 用以太坊的地址就可以收到CKB 。 很多人开始在问我:这是跨链吗?不是!这是因为NervosCKB上的密码学原语是可以自定义的!
NervosCKB的编程模型CellModel是泛化的UTXO模型 , Cell里面分别有四个字段:Capacity(金额和存储空间)、lockscript(资产解锁的规则)、typescript和data 。
在NervosCKB的底层设计中 , 交易签名、客户端验证的签名算法并非是硬编码的 , 而是可以让开发者做任意的编写和抽换 。 同时有赖于基于Risc-V的CKB-VM性能足够的强大 , 任何被编译成CKB-VM可验证的加密算法 , 都可以在不经过硬分叉的情况下就被使用 。
在ckb.pw的例子中 , 它就是对LockScript进行更动而已 , 因为以太坊签名用的是secp256k1 , 与CKB预设的相同 。 其差别在于哈希函数 , CKB用的是blake2b , 而以太坊用的是keccak256 , 因此只需要将提供验证的哈希函数keccak256和原先的blake2b调换即可 。
这象征着什么?用户不需要为了使用这条链的资产、应用再多管理新的地址和密钥对 。
这是最基本的一层 , 再往另外一个角度看 , 当我发送交易时 , 我的签名工具可以是任何一个以太坊等用户较多的工具常用的钱包 , 例如MetaMask、imToken等 , 已经在区块链圈子里的用户 , 可以将他进入CKB的摩擦成本压缩到最低 , 钱包的创建步骤也可以在初期的开发过程中被省略 。
任何在CKB上的应用可以因此被赋能 , 只要他所想使用的验证规则和签名算法有被放到CKB链上 , 那用户就可以直接用他们常用的这套验证工具做交易的签署(ETH只是其中一种) 。

文章图片
CKB钱包和CKBdApp白嫖[14]MetaMask的画面(当然白嫖是戏称 , 同时也是Nervos独有的魅力)

文章图片
以太坊是目前区块链中最大的智能合约平台 , 比特币是区块链中最有价值的资产 。 未来可能还会有超过十亿用户的Libra或DCEP加入战场 。 但此外 , 我们不妨先把视角放到广袤的互联网生态去看 , 当今天WebAuthn以及指纹解锁、PGPKey等等符合FIDO(FastIdentityOnline)的生态有多少的用户?按照这套设计的思路 , 这些已经是大家习惯的验证方式 , 或许在不久的未来都是可以移植到区块链上的 。
想想有一天 , 你用直接的手指做一下指纹辨识 , 就生成了一个地址 , 以及签署完成了一笔区块链上的交易 , 这会是多么的滑顺~
手续费的灵活设置:用各种Token付手续费和请他人代付都是可能的
自己的交易自己付这个概念对于互联网用户来说已经很难被接受了 。
从底层出发 , 怎么让这件事情变得更灵活一点 , 这可以从Nervos的OpenTransaction开始说起 。
在Nervos上的交易和比特币一样 , 都是在上链前要先构造好的 , 也就是说输入与输出在上链前是确定的 , 而不需要通过链上的计算才会知道结果 , 所以交易手续费在上链前可知 , 因为所耗损的资源可以提前计算 。
由于必须事前先构建交易 , 于是便有了OpenTransaction这样的协议提案 , 这个概念最早源自比特币社区 。 因为在UTXO或者CellModel的架构下 , 一笔交易里面输出的生成必定符合输入的规则 , 才可以被验证上链 。
换个角度来说 , 一笔交易是可以由多人组合的 , 只要符合组成规则就好 。
同样的 , 一笔交易里面使用什么样的Token来支付手续费 , 在CKB上一样是可以被用户自己定义的 。
Opentx的交易构造示意图 , 取自CipheronNervostalk

文章图片
好像篇幅拉得太长了 , 如果对这个点有兴趣的朋友们 , 欢迎参阅OpenTransaction的提案内容[18] 。
日前 , Nervos的国民学姐也曾经在线上用LiveCoding的方式实现了OpenTransaction , 欢迎大家来看看~
最后 , 手续费的问题其实会是DeFi的重大发展隐患 , 史迪仔的《被公链们遗忘的加油站——DeFi发展的重大隐患之一》探讨了很多深层的问题和内容 。
这些故事都还在进行中 , 未来的区块链要成为革命性的Web3 , 在用户体验上势必不能输过以前的互联网 , 并且要在这个基础下 , 让用户体验到区块链的优势与加成效果 , 这些除了有赖于应用层的巧思外 , 底层公链的灵活设计也弥足重要 。
这个世界还在等待着一种给99%的用户使用的区块链!
【区块链想要拥有互联网级的用户体验,如何从应用层与公链去改进?】当今世界的节奏越来越快 , 每过几年 , 都会有一些革命性的产品 , 来向这个世界宣示新时代的到来 , 区块链时代的会怎么重新形塑世界 , 我很期待 。
推荐阅读
- 科学探索|[图]今天SpaceX的星链发射任务将创造新的重要里程碑
- 墨西哥的毒枭拥有各种产业链,还有自己的军队,这武器装备不差
- 东七门|什么年代了,听个歌也有“鄙视链”?
- 什么年代了,听个歌也有“鄙视链”?
- 打击“代理退保”非法产业链行动再升级 金融监管主动联手公检法部门出击
- 任务链|梦幻西游:机智玩家先升级再交环,结果还是喜闻乐见!
- 斯诺登泄密依然活着,美国为何不下达追杀令?想要暗杀太难
- 海巡艇|男子紧抓锚链命悬一线 获救后跪谢海事人员
- 高考|高考刚结束,“满分作文”就上市?媒体揭秘背后产业链
- 全能型的音频接口 小巧便携 这才是你想要的录音方式
