查看原文
其他

通证简史|从日进斗金到夹缝求存, 细数Token的前世今生

尚书 区块链大本营 2018-12-16

 你这么帅,不来波关注吗?



通证的本质

区块链发展到今天,经历了三个里程碑:

  1. 2008年比特币诞生,创建了真正意义上的去中心化点对点转账系统;

  2. 2015年比特币启动,开创了去中心化应用程序的新框架;

  3. 2017年ERC20爆发,引领了一种全新的价值载体,即Token。

Token一词常被翻译为“代币”,但这远远不能体现Token作为区块链上通用价值载体的潜力,叫做“通证”更为妥当,即可流通的价值证明。

通证不代表法币,它只是基于区块链技术衍生出的一种创新价值载体。对区块链而言,通证不是必须的。但如果缺失了通证,区块链将缺失价值载体,构建价值互联网的宏图将寸步难行。尽管离开通证,区块链依然可以成为一个极具特色的分布式数据库解决方案,虽同样具有应用价值,但难免让人叹息。

早在2015年11月19日,Fabian Vogelsteller便在以太坊改进提案(EIP,The Ethereum Improvement Proposal)中以编号20提出了一组通证规则,允许用户发行一组彼此无差别的通证,并可以拥有和交易这些通证,就如同我们日常使用的货币一样,这就是后来大名鼎鼎的ERC20协议的雏形。在2017年,随着ERC20类型通证作为价值载体在众筹中的广泛使用,我们看到,通证信任成本和流通成本极低的特点,使得项目募资成本被大幅下降,一轮新的投资热潮迅速在全球引爆。 

紧接着,2017年12月2日,Axiom Zen打造的CryptoKitties横空出世。随着CryptoKittes名声大造的不仅是区块链游戏,更是另一种全新的通证规则,允许用户发行一组通证,其中每一个通证都是独一无二的,就如同我们日常使用的会员卡一样,这即是之后以编号721收录到EIP的ERC721协议。

回顾那些疯狂的岁月,ERC20向我们展示了通证高效的一面,而ERC721则向我们展示了通证多样化的一面。作为一种全新的价值载体,通证不同于金钱,它提供更多维度的价值体现,如身份标识、权益比例、系统积分等。一个没有通证的区块链世界,多少会显得暗淡无光。

通证面临的两难博弈

那么,目前各大主流区块链平台通证使用的现状如何呢?链下资产通证化上链的进程是否顺利呢?答案是悲观的,在政策和技术两方面,区块链的通证之路都面临着安全与灵活性的博弈。

一方面,从政策角度看,通证是基于区块链衍生出来的一种全新价值载体,由于区块链不受控制的开放性,导致链上资产监管十分困难。自由主义对资产灵活性的诉求,与各国金融监管部门对资产安全性的要求背道而驰。金融监管是维护实体经济平稳发展的重要工具,我们切不可为了自由主义乌托邦式的理想而放弃监管,没有法律的约束,一个通证的权益和责任边界都不明确,这对于用户和项目方都具有极高的风险,极其不利于区块链技术落地。诸如项目方因资金管理不善跑路,以及投资用户因亏钱而骚扰项目方的负面事件,都无形中抹黑了区块链技术本身,对行业发展造成伤害。

所以,对于政策上安全和灵活性的博弈,我们理应优先保障金融监管的安全,但现实却完全相反。从密码朋克运动中发展出来的区块链技术,带着浓厚的自由主义气息,这一思潮几乎影响了目前所有主流区块链平台,导致各大平台在架构层面没有任何机制来帮助平台上的通证配合监管,通证发行方需要自己承担所有合规的成本,这将使区块链的通证之路走得十分坎坷。

另一方面,从技术角度看,通证是基于代码定义出来的一串规则,理论上我们可以使用图灵完备的智能合约语言定义出任意形式的通证,但编程语言不受约束的灵活性也导致了通证安全性的困扰。智能合约是业务逻辑的表现形式,追求的是灵活性;而通证是价值载体的表现形式,追求的是安全性。

这两个需求的技术目标是彼此冲突的,极度安全一定不灵活,而极度灵活一定不安全。这就是为什么在Ethereum上,一旦项目方尝试自定义通证而不使用标准模板,就很容易因为智能合约漏洞而导致用户和项目方的资产损失。诸如BEC和SMT等通证出现的黑客盗刷事件,通证总数量一夜间被翻了数千万倍,严重的通胀导致通证价值归零,有些项目方可以挺过去,有些则直接夭折了。

因此,对于技术上安全和灵活性的博弈,我们理应优先保障通证的安全性,但现实依旧让人遗憾。由于Ethereum在设计之初,通证的概念还没有出现,所以并没有在架构层面为通证设计安全保障机制,而Ethereum之后的众多项目也是在通证价值慢慢体现的过程中研发出来的,在它们做架构设计时也没有考虑到通证的巨大价值及其高安全性诉求。

所以我们看到,目前无论是第二代公链Ethereum,还是第三代公链EOS、Tron和Nebulas,各家在智能合约虚拟机上,从Solidity到C++,再到JavaScript各有千秋,但在通证定义上的策略却空前一致,都没有为通证设计单独的层级,而是直接放在智能合约层和合约统一处理。而当我们试图使用智能合约同时满足业务逻辑的灵活性和通证的安全性时,必然顾此失彼,在此岸看彼岸,两头不到岸,也将使区块链的通证之路隐患重重。

通证之路如何破局

很幸运,在经历了“区块链3.0”的热潮之后,站在今天这个时间节点重看区块链的通证之路,我们能考虑得更加周全。为了妥善解决通证在政策和技术上灵活性和安全性的矛盾,我们鼓励各大主流公链平台将通证从智能合约中解耦出来,并在通证层提供支持权限定义的形式化通证建模语言取代图灵完备的智能合约编程语言,形成通证层和合约层的双层结构

在这样的架构设计之下,合约层的灵活性将不受影响,而借助形式化语言易于做形式化验证的特点,通证层的技术安全性将极大提高,再加上通证层丰富的权限定义功能,平台上的通证发行方将有足够的工具来配合金融监管,保护通证政策上的安全性。当然,在这样的架构之下,通证定义将不如原来那般灵活,但形式化建模语言依旧保有一定的灵活性,这对于通证建模来说绰绰有余,在现实需求下真正做到鱼和熊掌兼得。

在认识到区块链通证之路的坎坷并找到解决方案之后,我们便开始付诸实践。在我们的新项目中,便是基于这样分层解耦的基本思路来设计我们底层架构。为了充分解耦各种需求,我们首创了公链底层的四层架构方案,分为高性能可拔插的核心层,重安全可穿透的通证层,高扩展可升级的应用层,以及超易用可信赖的账户层,通过高内聚低耦合来满足各层级并不统一的技术要求。

在通证层,我们在UML(Unified Modeling Language,统一建模语言)的基础上,为通证量身定制了形式化建模语言TML(Token Modeling Language,通证建模语言)。

借助TML,通证建模就和在UML定义类图一样简单。甚至和UML一样,通过拖拽的方式定义一个通证。举例说明,我们可以按照如下步骤构建下图所示的ETF通证:

由于操作符,操作符权限,通证间关系,基本属性都是形式化定义好的,我们可以很方便地对TML提供的这些能力做形式化验证,保证TML的高安全级别。在TML的高安全级别保障下,基于TML定义出来的通证安全性也都有保障,这相对于通证和合约耦合结构下,每个自定义通证都需要支付昂贵的安全审计费用比,成本会得到大幅改善。而且TML支持升级,可以根据需求做安全地扩展,通证建模的灵活性也有保障。

结语

区块链正在经历着互联网曾走过迷茫期,有人因失望而离场,有人因信仰仍在坚守。区块链的落地之路定然坎坷崎岖,前路不好走,愿与你同行,穿越这黎明前的黑暗!

作者:尚书,Zerohm联合创始人,Zerohm白皮书主编。前星云链首席研发工程师,技术白皮书主编。链块学院技术顾问,公众号《区块勿语》作者,前TOTFREE CTO,前阿里巴巴研发工程师,清华大学硕士。


— END —





推荐阅读




长按识别二维码关注区块链大本营

内容转载请加 171075719,备注“转载”

商务合作请加 fengyan-1101


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存