橙皮书:探访 AlphaWallet:谁会是区块链时代的“网景浏览器”?


#1

Originally published at: https://alphawallet.com/cn/underplay-who-is-the-netscape-of-blockchain/
原文链接:https://underplay.me/orange/p/185,作者:Retric,AlphaWallet 转载如下:


互联网刚出现的时候,只有少数的极客懂得通过命令行浏览纯文字符的网页。

直到第一款支持图片的浏览器“网景”出现,上网才变成一件非常容易的事情。网景不仅是第一款得到广泛应用的商业浏览器,它还为我们带来了许多关键的 Web 技术元素,比如 RSS 和 JS 。

网景占据了当时大部分的市场份额,但总的用户数也只有一万人。今天区块链行业里真正的“用户”又有多少呢?

最近我们去探访了一家位于新加坡的技术公司 AlphaWallet,他们在做的事有点类似于一个区块链时代里的“网景”。

AlphaWallet希望能像早期网景推动 web 技术发展那样,通过一个用户端集成产品,即 AlphaWallet 钱包,让用户很方便地使用智能合约、操作智能资产,同时填补现在整个区块链技术生态里缺失的关键元素,包括研发更好的智能合约标准接口、中间协议和技术堆栈等,最终帮助改善区块链应用的易用性、性能和隐私。

AlphaWallet 的 CEO Victor Zhang(张中南)是连续创业者,之前主要在票务领域。CTO 张韡武则是区块链领域的技术大拿,曾经任职 R3 全球构架师工作组和澳大利亚联邦银行区块链构架师,主导过12个区块链项目。

这次橙皮书和中南、韡武聊了一下午,依旧收获颇丰,我们希望能在这篇文章里和大家分享 AlphaWallet 在做的事情,以及 AlphaWallet 团队两位核心成员对区块链行业的一些有趣的看法。(文末有入群方式,欢迎来勾搭AlphaWallet团队~)

AlphaWallet 团队在做什么?


AlphaWallet 其实就做两件事:

  • 一方面,他们开发了各种区块链协议和智能合约标准(比如 ERC875),让 B 端的开发者能更好地在区块链上开发应用,帮助改善区块链应用的易用性,性能和隐私;
  • 另一方面,他们为 C 端的消费者开发了一个可编程钱包( AlphaWallet )。通过这个钱包,用户能够和上面提到的区块链应用和智能合约进行交互。
纵观整个区块链行业的技术分布,你会发现,这里面的技术栈大概分为四层,从下到上分别为:
  1. 底层公链(例如以太坊)
  2. 智能资产的协议、智能合约标准(比如以太坊上的ERC20 、ERC721、ERC875)
  3. Gateway Application,通过这层入口与区块链进行连接(比如 blockstack、AlphaWallet)
  4. 区块链应用,加密经济的产品或服务(比如加密猫、fomo3d)
AlphaWallet 团队在做的事情属于第二层和第三层。

最赚钱的事情其实发生在第一层和第四层:第一层公链很好理解,它是整个生态的根基。如果上面长出了一片森林,底层公链的价值当然就越大。这种价值也很好量化,最后可能直接体现为 token 的币价了;除此之外,第四层也是比较容易赚钱的。因为这一层的服务离用户最近。在一个产业链条里,越靠近消费者的环节,可以做的商业模式越多,油水也越多。

而第二层和第三层,你只要看涉及到「协议」、「网关」这些特别 geek 的词,其实大概就能猜到这两层服务是很难直接变现的。

对 AlphaWallet 来说,它无法和用户直接进行交互。「联网」和「数据交换」都发生在第四层的 DApp 上,由开发者的应用直接控制。AlphaWallet 只负责把这些应用加密完的数据对接给底层的公链,所以 AlphaWallet 本质上是个离线应用,它不联网,自己没有中心化的云服务器,只负责上链。这样一来, AlphaWallet 没办法做数据截流,任何涉及到交易的环节都发生在应用层,也无法收取手续费。

所以这两层的服务最终就是不赚钱的。

既然不挣钱为什么要做?

区块链目前是一个新生的蛮荒地。这块土地还很初期,有很多基础设施还没有搭建好,但它以后也许能长出许多不一样的东西。而对搞技术的人来说,能在这么早期的阶段,参与技术协议和标准的建设,本身就是一件让人激动的事情。

这就像回到一九七几年,你能亲身参与 RCF 的修订,推出 IP/TCP 等一系列协议。难道你不想在早期技术发展史上留下浓墨重彩的一笔吗?

那么,既然做的是第二层和第三层的事情,AlphaWallet 具体开发了哪些东西呢?

1、ERC875,更好的非同质化代币标准

AlphaWallet 开发智能资产和智能合约相关的协议,其中一个比较有代表性的例子就是 ERC875。

ERC 是以太坊上不同类型的智能合约的标准接口。比如大家最熟悉的 ERC20 就是一种同质化代币的标准接口。通过这套标准,同一种类型的智能合约,它们所用的数据结构、调用的函数方法都是一样的,那么彼此就能对话。像 ERC20 的流行,很大程度是 ICO 火了之后带动的,因为不同团队可以很容易地在以太坊上发币,而这些不同的币种,因为沿用的是同一套 ERC20 的标准,因此很多交易所都可以兼容这些币,币与币之间可以互相交易。如果是去中心化交易所,还可以直接自动化接入这些不同的代币。总结一句话:标准一样,代码就能互相沟通。

除了 ERC20,另一个比较被人们所熟悉的标准应该是 ERC721。ERC721 是一种非同质化代币的标准接口。非同质化和同质化的区别,其实就是“钱”和“猫”的区别。钱是同质化的,我从 1000 块钱里转账 100 给你,你在乎的是 100 这个数量,但你并不会在乎具体是 1000 块里哪部分的 100 块;而另一方面,每只加密猫都是独一无二的,你没办法对一只猫进行分割,只能以一整只进行交易。ERC721 的创新之处,就在于它为猫的智能合约引入了专属的 ID。

AlphaWallet 提出的 ERC875 也是一种非同质化代币的标准。但跟 ERC721 相比,ERC875 有另外一些创新点。ERC721 算是比较粗糙的标准,很多非同质化的数字资产在实际应用场景里可能遇到的问题它并没有考虑进去,因此开发起来仍然有一些痛点,比如 ERC721 的 gas 费用会比较高,而且很容易引发网络拥堵。

ERC875 通过内置两套密码学的协议,针对这些痛点做了一些创新。最大的不同有两点:

  1. 实现原子化交易。
  2. 实现批量打包操作。
「原子化交易」的意思是:交易的操作步数不可分,交易要么发生,要么不发生,不存在其他可能。

这样的好处是什么呢?

假如买卖双方交易,买家付款打了钱过去,卖家收款后不发货买家就会遭遇损失。而在原子化操作里,买家打钱过去,卖家的货就会自动发出,不存在打款后不发货的可能。

所以,一旦能简单地实现原子化交易(atomic swap),就可以做到货款对付——换句话说,可以直接搭建去中心化的公共交易市场了。AlphaWallet 让卖家无需持有以太币,买家支付一次 gas 就能完成交易,从而降低普通用户的使用门槛。

第二点「批量打包操作」比较好理解。ERC721 的交易是无法批量进行的,一次只能交易一只加密猫。如果你想一次性交易 10 只加密猫怎么办呢?做不到。而 ERC875 可以支持批量交易。它把批量的交易打包到一起进行,从而可以节省 gas 费用。

比如,用户可以先用法币购买加密猫,然后直接通过 AlphaWallet 提供的 MagicLink 免费把猫导入到自己的钱包里,之后用户还可以在不需要持有以太币的情况下,通过 MagicLink 再把猫售出或者免费转让。整个过程都是无中心的原子化交易,商家也可以一次批发 100 只猫给分销商。

MagicLink 在产品上的设计,有点像当年的微信红包。这有可能会为区块链带来更多的场外新用户。微信红包最早开始的时候,很多人都没有在微信上绑定银行卡,但接收别人的红包时是不需要绑卡的,只有当你想要把零钱提现的时候才需要绑卡。这样一个非常巧妙的设计,结合发红包这种非常自然的用户行为,最终让微信支付成功绑定了许多银行卡,马云更是直接把微信红包称之为对支付宝的一次“珍珠港偷袭”。

如果有了 ERC875 这种更好用的非同质化代币标准,我们能实现什么以前比较少见的商业应用?

首先,我们可以把所有线下的物品和事物都 token 化,比如一个碗、一瓶白酒、一张演唱会门票。这些东西都是独特的,每张门票对应一个座位,一个观众,一个场次,它不可分割、不可替换。同时,很多门票代售点有可能还需要一次转卖 100 张演唱会门票。通过 ERC875,这些非同质化 token 的发行、流通和转让,都会变得很容易。

如果橙皮书印制了 100 件专属的文化衫,也许我可以很容易地为这100 件文化衫发行一套 token。每件文化衫显然都是独特的,拥有自己的尺码和编号,我们可以通过 ERC875,把这些T恤一次性批量发给橙皮书的忠实读者。随着 token 的转让和流通,文化衫的所有权也可以进行交易和售卖。于是,你拿着 token 就能证明自己是橙皮书早期的忠实读者了。到了最后,这其实会演变成一种社交货币和身份符号。

关于 ERC875 的应用场景,其实中南提到了一个更有意思的案例——公交车站广告牌的分时租赁。

许多公交车站的广告牌都是用分时的方式租赁的,广告主可以购买某一个时段的广告位。对广告位来说,它是一种非同质化代币,因为每个广告位都是独一无二的,需要对应特定的车站位置、特定的广告牌编号、特定的广告时段。而对广告主来说,不太可能一次就买一分钟(假设广告位最小的时段单位是一分钟)的广告而已,广告主更有可能的做法是:在“晚上 7 点”这种下班高峰期时段里买两个小时的广告位来宣传自己的产品。这样一来,批量购买 2 个小时的非同质化 token ,这个场景就非常适合用 ERC875 来实现了,ERC721 反而很难胜任。

除了 ERC875,AlphaWallet 还会持续不断开发新的智能合约标准。这些都属于协议层的东西。如果区块链行业要实现更多的商业场景,这些协议都是必不可少的。即使单纯做协议并不挣钱,整个行业仍然需要有人有意识地推动这些协议的发展。

其实现在整个行业已经提出了许多新的标准。

热门的标准,诸如上面提到的 ERC721、ERC20、ERC875,冷门一些的还包括诸如 PepeDapp 提出的 ERC420。ERC420 是一个卡片收藏游戏的 token 标准。在卡片收藏游戏里,每种卡片都会发行一定的数量。同一个系列里的卡片每张都一样,是一种同质化代币,但在系列之外,每张卡片又都是独特的,需要有自己的 id,这时又是一种非同质化代币了。卡片收藏游戏通过发行的编号和总的发行数量来决定一张卡片的稀有程度,从而决定卡片的价值,它有自己特殊的应用场景,因此可能是需要一套自己的代币标准的。其他的一些标准还包括 ERC1155 等游戏资产类型的代币标准。

AlphaWallet 在接下来的时间里也会根据具体的商业应用场景,不断开发更多的协议和标准,丰富智能合约类型。至于最后哪些标准能够真正成为行业的主流,当然还是要看哪个场景里跑出了真正热门又赚钱的应用。就像加密猫游戏的火爆带动了 ERC721 这套标准一样。

目前 AlphaWallet 已有的一个落地案例是之前他们联合「盛开体育」共同推出的世界杯区块链门票方案。按中南的说法,总共有 20 张门票,盛开那边做了10张票,AlphaWallet则拿了10 张开幕式的VIP门票,用户在购买时会提示是否使用区块链购买还是正常购买,后续还能通过 AlphaWallet 完成门票的确权、流通或转让。

这种应用案例的探索也是 AlphaWallet 打算采取的方式:为区块链技术找一些示范性的应用场景,以此吸引更多的开发者加入,一步步去实现“移动区块链网关”的目标。

以 token 为核心,其实能延展出很多新的场景。

之前我们一直在思考能不能为明星或者行业 kol、b 站主播、微博小 v 发币,让他们借助 token 的力量来完成变现,为自己生产的内容找到除了接广告、卖货的其他商业模式。中南对「明星发币」这个场景也提了一个非常有意思的设想:

为明星发币,然后在代币的智能合约里设置一个手续费规则。这样一来,一个明星可以在刚开始不太红的时候,免费把自己的币发出去,这些币代表着一些权益,可能是见面会等一些小福利。然后币同时也代表这一种身份证明,比如拥有第一个币就证明是这个明星的头号粉丝。这样一来,明星不太红的时候把币免费散出去,一旦明星人气比较高之后,就会有粉丝愿意去购买明星币,而每次购买的手续费都会有一部分回流到明星成立的「粉丝基金会」里,这部分基金会的钱就可以用来当作粉丝活动经费啦。

这是个非常有趣的场景。和橙皮书之前写过的「人情币」有点类似。

2、“用户端集成”:AlphaWallet 是钱包,也是一个更开放的gateway


除了协议和标准,中南他们也在做面向 C 端用户的集成产品,即 AlphaWallet 钱包。

这款钱包其实是一个让用户和智能合约进行交互的 gateway(入口)。我们知道,普通用户要跟公链进行交互,还是需要依赖一些中间件的。现在大多数人使用 DApp 主要还是通过 Metamask 和 Web3.js 实现的:开发者通过 web3.js 开发应用,普通用户在浏览器上安装 Metamask 插件,通过网页进行转账、往智能合约里写入数据等操作。

AlphaWallet 的定位是一个基于移动端的开放智能资产平台,任何人都可以通过这个平台与智能资产、智能合约进行交互。在这里面,消费者、代币发行方、服务提供方、应用开发者,这些不同的角色通过 AlphaWallet 平台连接到了一起。

它对用户来说,首先是一个可以直接与智能资产和智能合约交互的入口。AlphaWallet 会集成许多不同种类的 ERC 标准,最终让所有以太坊的代币都可以在自己的平台上进行交易,既包括同质化代币 ERC20,也包括非同质化代币 ERC875、ERC721 或者其他类型的标准 。因为 AlphaWallet 的目标是打造一个开放性的平台,所以在标准接口上不会做限定,而是尽可能去做兼容——在应用里有一个板块叫“公共市场”,在这里面,所有类型的代币都可以进行交易。这样一来,非同质化代币才可以真的流通起来。游戏道具、物理世界里的非同质化的实体资产也能借助 ERC875 的标准映射到区块链上,成为数字资产。

这听起来挺像去中心化交易所的。但 AlphaWallet 的定位其实更偏向于“应用”,而非仅仅只是“货币”。

在公共市场里,AlphaWallet 希望用户可以互相交换自己的游戏道具,或者数字门票之类的东西。他们在这块也有一些很有意思的设计。举一个例子,中南提到过“反向交易”的概念,大概的意思是说,你手上有一个游戏道具的 token 想要出售,普通流程需求自己先去交易市场上挂单,然后等人来买,AlphaWallet 未来则希望加入一个反向交易的特性:你的资产里有哪种类型的 token,即使没有真正挂单,但市场上如果有相应的需求,市场也会自动 push 一个通知给你。这样一来,买卖双方的流动性就会大大增加。

其次,AlphaWallet 是“移动先行”(moble first)的,它想做的是“移动网关”。 gateway 不可避免要涉及到 ID 身份认证,而这种相对私密、需要隐私的东西,用手机应用的形式来做应该是更合理的,因为手机更贴身。从这个角度出发,韡武也提到了一个很有趣的观点——「区块链手机」这种东西一定程度上是可以 make sense 的,因为区块链的 ID 入口、身份认证和私钥管理这块,未来一定是越做越往下沉,一开始它可能做在 APP 应用上,慢慢地再做到软件的操作系统层,再接下去,可能就需要做到手机硬件层里了。

当然,现在无疑还很早期。

token 能够用于有价值的,需要被验证的,并且所有权有转移场景的信息。而类似身份 ID 等有价值、需要被验证、但是不需要转移所有权的信息,AlphaWallet 则希望在加密经济内应用 Attestation 技术来使用这类信息。

要理解 Token 和 Attestation 在做什么样的事,中南举了一个支付宝的例子:

现在支付宝聚集了大量的用户,这些用户通过支付宝与其他第三方金融或保险业务进行交互,交互产生的大量数据最终都留在了支付宝自己手里。支付宝通过平台去跟这些金融公司、保险公司进行业务合作时,本质上是代表用户、以用户的名义去与这些第三方公司进行合作的。因为用户的数据和用户的身份认证掌握在支付宝手上,用户选择哪家保险公司、选择什么理财产品,这里面的选项,就由支付宝决定了,它已经提前为你选择了一批合作方,你只能在这些合作方里面进行选择。这件事其实是不合理的。

如果通过 AlphaWallet 这样的开放平台来做会怎么样呢?

首先用户与不同系统交互产生的有价值、同时有所有权转让场景的信息,会作为 token 存在区块链上,ID 身份等需要隐私、并且无所有权转让场景的信息,则可以作为 Attestation 存储在用户本地,AlphaWallet 不保存这些数据,但同时用户又能通过 AlphaWallet 去做身份认证的授权。比如,第三方的保险公司想要我的数据,那么直接在 AlphaWallet 上向我发起一个身份授权的请求就可以了。如果用户同意了,保险公司就可以与之进行合作,提供服务。这样一来,所有的数据掌握在用户自己手上,平台没有权力拿着用户的数据去代表用户的名义与其他第三方公司进行合作,用户能选择的服务范围也不会被限定。只要用户允许,平台就无法阻止其他第三方公司向用户提供服务。

这样一来,平台是更开放的、更自由的。而且第三方的服务提供方,也必须从「努力讨好平台」转变为「努力讨好用户」,一定程度上消除了平台内部的不公正和贪腐现象。

韡武把这个方向的应用称之为“用户端的集成需求”。他专门写了一整篇文章来谈这方面的想法,推荐感兴趣的朋友都读一读,非常有启发。用韡武的话来说,用户倾向于使用一个工具就能解决所有需求,而市面上大多数服务的连接都是围绕“企业”这个中心进行,在产品的系统层面进行集成。而区块链让集成需求转移到了用户端,一个 token 和 Attestation 就可以完成用户的身份验证和服务授权,所有服务最后围绕“用户”运转,这样一来就能够实现服务之间的“充分竞争”了。

一个充分竞争的市场才是一个更好的市场。就好像比特币的意义在于第一次为货币引入了竞争机制。这个概念在之前很难想象,因为我们很少去思考“货币”作为一种价值交互工具,它本身的效率和可靠性究竟如何。但比特币出现之后,我们会慢慢意识到,货币彼此之间是需要竞争的,只不过我们之前缺少这样的技术。在充分竞争的市场环境里,我们也许能产生更好的货币。

其实我们不仅要为货币引入竞争,我们应该为所有的事物引入竞争机制:支付宝的第三方金融服务方、保险公司不应该由平台来决定,而应该由用户来决定,金融保险服务商需要互相竞争;今日头条上的内容分发算法也不应该由平台来决定,而应该由用户来决定,不同的算法需要竞争。

区块链时代的网景浏览器?


AlphaWallet 在做的事,会不由自主让我联想到互联网刚出现时的“网景浏览器”。当然现在说这话可能对 AlphaWallet 来说还太早,但他们在做的事情、在走的方向,一定程度上是有一些类似网景浏览器的地方。

在互联网早期,想要浏览网页是非常困难的。当时的极客们在命令行终端或者 DOS 环境里使用一个名为 Lynx 的纯文字网页浏览器。这种方式操作很复杂,Lynx 会先把网页上所有的超链结都编号,然后用户通过输入号码来选择超链接。在 90年代初 ISP 服务商也非常少,所以就算你连上了网能享受到的最快网速也不过28.8Kbps。因此当时的 Web 也没能很快普及开来。

到了网景浏览器出现时,这个现象终于被改变了。Marc Andreessen 在伊利诺大学开发了全球最早一款可以显示图片的网页浏览器 Mosaic,而后他又在 Mosaic 的基础上开发了一款商业网页浏览器,也就是网景浏览器。网景支持多个操作系统,包括 Windows,Mac 以及Unix的X Windows System。过去上网不是一件容易的事,但网景让人们可以毫不费力的浏览网页。不过即使网景浏览器占领了当时大部分的市场份额,它的用户也就刚刚过万。可见当时的互联网人群有多小。

早期互联网基础设施铺设好了一些,人们可以上网,但因为相关协议和软件的缺失,使得上网成本很高。这就像今天的区块链,公链的基础已经有了,但因为性能的问题、以及生态的问题,许多中间件的协议和接口不完善,最终开发者想在公链上开发应用也很有限,用户想在链上执行操作也比较困难。

而许多像 AlphaWallet 这样的团队,包括国外的 Blockstack,他们在做的事情类似于网景在早期阶段所做的努力,让用户能更方便的使用区块链。一旦这种使用的成本降低,区块链也许也能像早期互联网那样,从刚刚过万的用户,增长为今天 40 亿的全球网民。

而且,网景的意义不仅仅是降低浏览网页的成本,它还为我们现在所熟知的这个互联网带来了许多关键的技术元素。比如 RSS 订阅源和网页动态 JS 技术就是网景浏览器提供的。最早HTTP在基本的TCP/IP协议栈上发送信息,网景公司又在此基础上创建了一个额外的加密传输层,也就是今天我们熟悉的 SSL,用以保障互联网内容传输的安全性。

事实上如果你去认真查阅网景浏览器的历史,你会发现在 1995 年, 网景甚至还在试图开发一个依靠浏览器操作的网络操作系统——这不就是 Chrome OS 吗?在技术设想方面,网景实在太前卫了。当然,这也一定程度上惹怒了当时刚刚坐稳了世界第一操作系统供应商的微软,从而导致浏览器大战的开始。当然这一切都是后话了。

AlphaWallet 开发 ERC875 ,研发更好的智能合约标准接口、中间协议和技术堆栈,一方面是为了 AlphaWallet 钱包产品本身有更好的发展,另一方面,也是在为整个区块链生态填补缺失的技术元素,改善易用性、性能和隐私。从这个角度来说,我们乐于看到许多像 AlphaWallet 这样的技术理想团队,他们有机会像早期网景浏览器推动 web 技术发展那样,推动区块链技术栈的发展。