重新理解「token」,认识新鲜出炉的 TokenScript

互联网 2019-07-15 15:02:24

我们尚未理解真正的 token,也就无法激发它璀璨的花火。

把「token」翻译或理解为「代币」,容易让我们把 token 视为某种资产,这不仅是对 token 的误解,更是把区块链技术的应用和发展方向局限到了一个狭小的领域。

在这篇文章中我们将试着去阐述,如果从密码学的角度来看 token,把 token 当作集成点来「使用」,而不仅仅是作为资产来「交易」时,就能够以 token 为中心,构建出一幅怎样广阔的未来图景。

我们也会发现,如果未来以这种方式到来,区块链将变得无比重要,因为它会是关键的基础设施。

本文的内容基于对 AlphaWallet 联合创始人兼 CEO 张中南的采访,AlphaWallet 团队一直致力于 TokenScript 的开发,而 TokenScript 是有可能帮助 token 摆脱现有代币的局限性,成为具有价值、权益和功能的服务集成点的一种方法。

为了清晰,本文没有以采访的问答形式展开,但文中绝大部分的内容,均来自张中南以及 AlphaWallet 团队对区块链、对 web3.0、对交易和市场的深入思考和探索。

受访者:张中南,AlphaWallet 联合创始人、CEO
采访及撰文:李画

当我们谈到把密码货币用于日常支付时,心中其实有着疑惑:对于广大的用户而言,这种支付方式会比微信支付、比支付宝支付有更大的优势吗?

答案似乎是:没有。它没有更便捷,没有更「便宜」,也没有带来什么新的东西。

问题出在哪儿?

出在我们只把「钱」token 化了,而没有把「货」token 化。支付是一个「货款对付」 (DVP,Delivery Versus Payment)的过程,一手是钱,一手是货,但当钱和货分属于两个不同世界、有着不同的逻辑时,矛盾出现了。

京东支付为例。假设京东接受某种密码货币的支付,那么相当于在「钱」这一端,有一个去中心化的账本,但是在「货」的这一端,对接的依然是京东的中心化的账本,支付的过程则是把去中心化账本中的记录重新存储到中心化的账本里,然后由中心化的账本决定给用户一个什么样的货回去。

这是没有意义的事情,因为「货」这一端是中心化的记账模式,一切依然在老路子上,反而额外增加了大量的麻烦。这也正是当我们考虑把密码货币用于日常支付时,会产生困惑的深层原因。

但如果把「货」也 token 化了,一切就会不一样。

需要说明的是,token 的含义并不是指「代币」,它是很早就存在于计算机科学中的一个术语,所有基于密码学的能够被验证的信息都可以被称为 token。

所以,「货」的 token 化不是指把「货」变成某种代币,用该代币代表货的价值;「token 化」,是指把「货」对应于一个 token,该 token 代表了「货」的去中心化的、可以被验证的价值、权益和功能。

本文将先介绍什么是完整的 token,以及如何基于完整的 token 实现「货」的 token 化;再介绍 token 化后带来的好处:它将向我们展示真正意义上的 token 在被应用之后所能爆发出的能量。

缺失一半信息的 token

加密猫为例,我们能看出如今 token 的不完整之处。

一只加密猫的构成其实包括两部分的信息,一部分信息在智能合约里,存在于区块链上,可以被任意地访问和调用,我们如今谈论的 token,也被称为代币,包含的即是这一部分的信息。

加密猫的另一部分信息,包括如何解读调用智能合约里的函数,用户调用合约时如何构建需要签名的指令信息,比如小猫的描述信息、小猫的孵化和转移所有权动作等,则是存在于加密猫的网站上。

也就是说,对于一只加密猫而言,虽然它智能合约中的那一半是去中心化的,不需要接入任何系统的,但 web 中那一半依然是中心化的,需要通过某个网站来使用的。如果我们要交易加密猫,就得回到它的网站。

如下图所示,加密猫的 token 只包含了右侧紫色的部分,而没有包含左侧橙色的部分。这种 token 是不完整的,它无法代表一只独立的加密猫,或者可以说,加密猫并没有被完全对应于一个基于密码学的能够被验证的信息,它的一部分依然是以传统互联网信息的形式存在的。

重新理解「token」,认识新鲜出炉的 TokenScript

而真正意义上的 token,是把紫色部分和橙色部分合二为一,这样一来,加密猫就能够被一个 token 完整地描述以及代表。

可能你会有疑问,目前的 token 都只有右侧紫色部分的信息,但大多数 token 不也能够以去中心化的方式被正常使用吗?那是因为现今绝大多数 token 都是密码货币或权益 token,它们只有右侧紫色部分的信息,没有或者说不需要左侧橙色部分的消息,「半个」token 就能实现对它们的完整描述。

但如果扩大 token 的范畴,把 token 作为集成点,「使用 token」而不仅仅是「交易 token」(我们将在后文介绍把 token 作为集成点所能带来的好处),这种仅有一半的、无法表达完整信息的 token 就不再合适。

补齐缺失的 token

如何让 token 携带另一半的信息,成为完整的 token?理解起来并不难,就是把以前放在 web 中的那一部分信息拿出来,放到 token 里。

是把这些信息都放到智能合约中吗?也不是。因为并不是所有信息都需要、以及都适合放在链上的,比如和隐私相关的信息就不能放在链上,链上是透明的。

我们可以把 token 一分为二:一部分信息放在智能合约中,就像如今的 token 一样;一部分信息和逻辑放到一个文件里,这是一种保存在本地 / 用户端的文件,经过数字签名不可篡改。

以加密猫为例,以前的加密猫是由「智能合约+web 信息」构成的,但完整 token 方式下的加密猫是由「智能合约+本地文件」构成的。当你购买了一只加密猫后,因为全部信息都在区块链与本地文件中,你就能够带着这只猫到处使用、到处交易,而不用回到中心化的加密猫的网站。

比如,任何人都可以创建一个二手猫的交易市场,而任何猫主人都能够把猫直接放到该市场中去交易。这在过去是不可能的,在「半个」token 的情况下,你要想买卖猫,必须去加密猫的官方市场 / 网站才可以。

这种完整的 token 可以被自由访问、自由调用、自由使用,它具有可移植性。可移植性将带来互操作性和可扩展性,以及帮助实现无摩擦市场和集成网络。

那么,本地文件应该包含什么样的内容?本地文件如何与智能合约交互?这些都是需要解决的问题。AlphaWallet 团队提出的TokenScript即是为了解决这些问题。

可以把 TokenScript 理解为一种类似于 HTML 的语言,只不过 HTML 是用来创建网页的, TokenScript 是用来创建 token 的,它包含了 token 的描述信息、使用逻辑、UI 呈现、程序接口等等。

通过 TokenScript 可以生成一个 TokenScript 文件,这个本地文件与智能合约一起,实现一个完整的具有可移植性的 token。如下图所示,TokenScript 文件代替 web 信息,补齐了 token 缺失的另一半。

重新理解「token」,认识新鲜出炉的 TokenScript

在 web 时代,我们是基于支持 HTML 语言的浏览器来展开一系列活动的,信息用 HTML 文件描述,浏览器将 HTML 文件渲染成我们可以理解的信息对象。

在 web3.0 时代,我们也许将基于支持 token 描述语言(比如 TokenScript)的浏览器 / 钱包来展开活动,token 用 TokenScript 文件描述,浏览器 / 钱包将 TokenScript 文件渲染成我们可以理解和使用的 token 对象。

重新理解「token」,认识新鲜出炉的 TokenScript

需要注意的是,TokenScript 是 AlphaWallet 团队提出的一种描述 token 的标准,其他机构也可以提出自己的标准,而标准是否成为通用标准则取决于其被采纳的程度,就像 HTML 一样。

「Token 化」带来无摩擦市场和集成网络

当我们补齐了 token 缺失的信息后,即能够用一个 token 来完整代表一个对象时,就能实现本文开头部分提及的「货」的 token 化。

继续以京东为例。如果在京东购买空调,在支付密码货币后,用户得到的将是多个 token。比如一个 token 代表空调的所有权,一个 token 代表快递服务,一个 token 代表保险服务等等。

重新理解「token」,认识新鲜出炉的 TokenScript

所有的权益、所有的服务都是 token 化的,而这些 token 都位于去中心化的账本之上。

当支付的两端都是 token 时,就能实现不需要第三方担保的原子化的货款对付。买家只要付了钱,就会百分之百拿到 token,而这在之前是必须依靠中心化的方式才能解决的问题,这将为我们带来无摩擦市场。

各种第三方通过用户持有的 token 直接给用户提供服务,这将形成自由集成网络。

无摩擦市场

传统的市场是中介操作模式,交易分为两个阶段:进入市场,达成交易。中介为交易的双方提供信任,并因此建立起他人难以逾越的垄断壁垒。

但通过把「钱」和「货」token 化,买方和卖方不再需要进入市场(比如入驻京东),相反,token 总是在市场上,任何第三方都可以直接调用到完整的 token 信息(通过公链上的智能合约和本地文件)。

京东的角色不再是一个中心化的购物平台,它更类似于一个 token 的搜索和展示平台。不同空调品牌的空调产品有不同的 token,这些 token 携带着可以被验证的信息,京东做的只是把 token 中的某些信息渲染出来,而交易直接发生在用户和产品之间,也就是各种去中心化的 token 之间,与京东无关。

京东无法按自己的意愿给商家设置准入门槛,也不能从交易中抽取不合理的利润,更没有理由去获取用户和商家的隐私信息,因为交易不再需要中心化的账本。

token 在完全市场内自由流通,而不是只在中心化构建的小市场内流通。这可以消除摩擦,并让市场变得低成本、高效率。

集成网络

如今的网络是以大公司为核心的一种有限的、割裂的集成。

一方面,比如微信,其集成的服务再多,也不是无限的,且这些服务的引入都是需要微信准许的,有些你需要的服务可能并不会包括其中;另一方面,不同网站 / 服务只有一个 URL 链接,但这个链接不包含业务流程、身份验证和信任关系,因此链接上没有集成服务的锚点,用户需要登录不同的网站达成不同的服务。

Token 能够带来新的集成方式:任意的第三方都可以以 token 为集成点,基于 token 来提供服务,而这些服务能够被集成到用户的本地平台,比如钱包里来,也可以被集成到任何一个其他的地方,而不是只能集成在中心化的服务器上。

该集成方式之所以成立,是因为 token 本身就拥有了完整的信息,且这种信息是基于密码学的能够被验证的。服务的提供方基于该信息提供服务,而不再需要某个中心化的服务器提供信息和信任。

以 token 为集成点的集成是公平的,只要用户允许,任何服务都可以被集成到用户的钱包里;这种集成也是可以接近于无限的,用户需要的所有服务都能被集成进来。

这种集成也不是割裂的,它以用户而不是以中心化的服务器为核心,一切都是基于和围绕用户展开的,这正是 web3.0 所希望达成的目标。

「使用 token」,而不仅是「交易 token」

Token 不是代币,它是基于密码学的能够被验证的信息,代表了价值、权益和功能,能被交易,也可以被使用。使用是 token 很关键的一个属性,除了指上文所述的作为服务集成点的使用,也指真正作为工具被使用。

Airbnb为例。房屋某一天的使用权对应的即是一个 token,房东基于合约生成这个 token;Airbnb 基于用户的筛选条件,搜索并显示出这个 token,但这个 token 与 Airbnb 没有任何关系;用户购买这个 token。当用户拥有这个 token 后,就能使用这枚 token 在该 token 对应的使用时间内打开房门。

重新理解「token」,认识新鲜出炉的 TokenScript

当 5G 和物联网时代到来后,token 能够把诸多实体的工具数据化,钥匙是典型的一例。钥匙代表的是某种权益,token 同样能够代表。

重新理解「token」,认识新鲜出炉的 TokenScript

综上所述,「token 化」带来的好处包括:

  1. 当我们实现「货」的 token 化之后,就能够实现原子化的货款对付,不需要第三方担保,这有助于创建无摩擦市场。
  2. 每一个 token 都可以打开一大票集成的可能性,这不仅能够带来自由集成网络,还能以 token 为中心,触发一连串其他的原子化的操作,让基于 token 的服务具有更多的可能性。
  3. token 包含了全部可验证的信息,不需要再回到中心化的服务器,这让 token 具备了可移植性、可扩展性、互操作性,这些特性除了帮助创建无摩擦市场,也能激发对 token 的更多创新性的使用。
  4. token 可以在实际生活中作为一种工具被真正的使用,易于保存、携带、交易和验证的它比实体工具更具优势。

只有到了这个时候,token 的潜力或者说能力,才能彻底地显现和发挥出来。但在此之前,我们对 token 要有两个基本认知:

  1. Token 是指基于密码学的能够被验证的信息。
  2. 一个完整的 token 应该包含全部的信息,而不是一部分信息在区块链的智能合约中,一部分依然存在于中心化的服务器上。

当我们以这种全新的角度来认识和理解 token 时,就能拓宽对区块链技术的理解。区块链是一种实现 token 化的工具,当我们使用 token 时,它能够直接可信、不需要连接到任何第三方,这在区块链之前几乎是不可想象的。

AlphaWallet 的工作

以太坊钱包 AlphaWallet 的团队提出了「TokenScript」的概念,在 Github 上发布了设计论文,提出了 TokenScript 技术框架 / 描述语言,希望通过「TokenScript」,可以实现一个完整的作为集成点的 token。

「TokenScript」设计论文可参见:
https://github.com/AlphaWallet/TokenScript/releases

构建 TokenScript 并不简单,它需要解决诸多问题,因为作为集成点的 token 需要满足很多条件。比如,该 token 必须能够展示,而且要与用户在钱包中执行的操作相关联;该 token 的事务规则与行为模式要捆绑在一起,以便能够在不同的场景下交易和使用;该 token 必须能够将信任关系和业务背景传递给第三方等等。

将 TokenScript 定义为规范的工作一直也在进行中,AlphaWallet 团队会在 community.tokenscript.org 讨论相关进展(如果你对此感兴趣,可以加入他们一起讨论)。构建和完善 token 描述语言是一件持久的、基础性的、具有重要意义的工作,也是一件需要广大的开发者通过参与和实践来共同推进的工作。

除了打造 TokenScript,AlphaWallet 团队的另一个工作是实现 AlphaWallet 钱包,该钱包也可以被看作一个 token 的应用平台,能够支持所有以 TokenScript 标准实现的 token。用户可以通过该钱包 / 平台来使用 token。

如果我们把 TokenScript 类比为 HTML,那么 AlphaWallet 就相当于浏览器。互联网正是因为浏览器的发明而进入到几乎所有人的生活,AlphaWallet 或类似的 token 应用平台能否推广和普及一个以 token 为集成点、以用户为核心的网络,值得我们期待。

在现阶段,区块链难以被应用,因为组成它的大拼图里太多位置尚未完成。我们需要去寻找缺失的拼图块,需要去实验全新的拼图块,而 TokenScript
似乎就是其中一块。

它通过提供完整的不依赖于第三方的 token,实现以 token 为集成点的无摩擦市场和集成网络,这将激发出 token 的能量。

当我们使用 token 而不仅仅是交易 token 时,区块链的应用边界会得到极大的扩展,我们甚至可以认为它为区块链应用开辟了一个全新的发展方向,在这一方向下,区块链将是 web3.0 时代最重要的一个基础设施。

来源链接:mp.weixin.qq.com

相关资讯Relevent