【钛坦白】巴比特执行总裁段新星:区块链产品三定律的应用与实践
摘要: 区块链产品开发设计中的很多坑,避开它们就能增加区块链创业的成功率,再结合需求,区块链产品的生命力就会持久
在钛媒体在线课“钛坦白”第46期,我们邀请了三位钛客,分享区块链技术落地中的挑战与革新。本期钛客之一、巴比特执行总裁段新星,是比原链 Bytom 联合创始人。金融及技术领域研究者,盖茨基金会奖学金得主,加入巴比特前,曾任朗讯贝尔实验室资深工程师、 OKCoin(币行)副总裁兼首席研究员。著有《区块链:重塑经济与世界》等。
本文节选自段新星在钛坦白的分享。如果您还不是钛媒体Pro用户,希望查看钛坦白所有干货,进入钛坦白九个专业群交流,并查看更丰富的专业数据和信息,可点击:http://www.tmtpost.com/pro 注册。
以下根据段新星在钛坦白的分享实录整理:
非常高兴又一次来到钛坦白来跟大家分享。上次还是OKCoin(币行)做副总裁的时候,做OKLink那款产品,来分享《区块链将如何促进金融支付创新》(链接:http://www.tmtpost.com/2417636.html)。今天我分享的题目是如何设计一条区块链:区块链产品三定律的应用与实践,以“比原链Bytom”为例。
今年5月份我加入巴比特,这是 2011年就成立的国内最早的区块链以及比特币技术社区,你去翻整个网站的记录就会发现很多有意思的事。例如早年时,为了鼓励原创,我们给每一篇文章的打赏都是将近1个比特币,当然那还是最早期的小众的极客时代。今天区块链已经被更多受众接受。基本上巴比特的历史就是整个中国区块链发展记录者的历史,在整个中国区块链产业、产品发展进化的过程中,我们也看到了非常多、非常优秀企业的兴起。比如说我们现在国内著名的三大交易所,也有现在全球最大的矿池,以及著名的投资机构万向,以及公链以太坊、小蚁、量子;联盟链如云象、趣链、布比等等。
但是同时我们也见证了非常多的有情怀、有梦想、有创意的产品的失败和消亡。当我们决定开发自己的区块链产品时,我们也还是必须思考,在这7年中,比特币、以太坊还有最近的一些热门产品,这些产品的成败中间是不是有一些特定的规律可循呢?
区块链产品开发设计中的很多坑,避开它们就能增加区块链创业的成功率,再结合需求,区块链产品的生命力就会持久。所以最开始在想这个问题的时候,也是从破的角度去想的,就是不破不立。
区块链产品有哪些是适合,有哪些不适合呢?通过对传统的互联网,传统数据库还有传统的集中式系统和中心化系统相比较,我们有这样一些的发现。
定律1:“不要拿大炮打蚊子”,区块链技术更适宜于资产网络(Assets Over IP)
不同于传统互联网完全开放的信息架构,区块链一开始是作为比特币底层的网络协议而出现,后来在上面进行了扩展。一开始这种电子货币是作为点对点的电子数字现金来设计的,并希望能够广泛的应用于世,虽然现在这个梦想并没有完全实现,现在更像数字黄金的形式,很多国家也是把它当成数字资产数字商品来看,但是你看最开始的网络设计对后面区块链影响都非常深远,基本上所有的区块链网络都参考了比特币的代码。比如说以太坊,或者说Corda或者Fabric等。
- 强规则的网络:传统的互联网流通的都是一些格式杂乱的信息,音乐也有,消息也有,电子邮件也有,但现在区块链上面所流通的是一定程度加以保护的稀缺的资产属性的东西。这里所说的资产不是只是房产这种类型,而是指有比较高的客单价的东西。是一个广义的概念,不论是股权或者债权,或者代币也好,我们做的“预测市场”这种也好,或者是某一种有价值的权益证明。
现在不论是联盟链还是公链、私链,由于要承载的是这种资产,整个区块链网络运作的逻辑也是围绕这个来展开的。包括里边的加密签名验证交易,还有读写,执行合约去消耗一些GAS等操作。整个网络的运作有一定的规则,而且是很强规则的。
- 时间的成本:它有一定的时延。你生成一个块或者将块链接成链,把帐本和数据记录进行同步或者把某个全局状态更新记录的时候都有时延,而且你还要在里面不断地摒弃一些冗余错误失效的数据。
所以在区块链网络的运转里面,我们可以看到它不是一般意义上所认为的一个总体比较廉价的网络。因为很多人觉得它网络基础设施的搭建有很多开源社区,或者有很多社区参与者去分担,所以说它是比较廉价的网络。但是从另外一个角度来看,它也是运行比较昂贵的网络。不论是网络上达成一致性的时间成本还是你要为验证者提供代币,以及燃料币的成本,都从最初的设计基因上,因为它强规则的网络,所以决定了使用成本是比较高的,因为遵循规则、遵循流程需要成本。
这形成了逻辑的闭环,高的成本,高强规则的网络又进一步加强了整个商业模式的闭环趋势,也就是说你必须在这个网络上去运行一些稀缺的资产性的操作,才能够达到预期的这种收益率ROI来维持你长期的平衡,来维持产品使用在网络里的消耗。
所以我以前应《程序员》杂志的约稿写了一篇文章,一般成功的区块链产品的设计是不要用大炮打蚊子,也不要用区块链去做廉价的聊天工具,或者是一般太多没有价值的文件传输。拆分完以后根据一定的加密算法分布在多个不同节点的PC上,这个看似起来有道理的想法在经济的逻辑上是运转不起来的,尤其是现有的分布式网络存储协议并不完善、不成熟的情况下,区块链产品最好是跟有价的资产相关,这点我觉得是我们产品开发者首先要考虑的。
你可以看到,在牛市中由于区块链概念的兴起,很多不严格遵守这个定律的项目蜂拥而至,但是一到熊市或者整个产品运营状况不太好的时候,这点就非常突出,你一定要有一个比较性的优势,否则我们为什么不拿传统的互联网去做这件事情呢?你的比较优势何在呢?
我们来看到业界的一些例子,比如说我们去做资产,属性比较强的才能存在,国外的一些关于存储音乐、电影、一般性文件的很多现在状况非常惨,融了几轮的融资以后还在不停的搞ICO,它本身的商业模式有一定大的问题。但是另外一些做“存证”的,比如法律证据、合同、版权、遗嘱证明、奢侈品防伪这类非常有资产属性的权益文件的一些区块链企业目前就还不错。
我们最开始在做比原链设计的时候是基于以太坊做了一个开源的分层公链结构,在上面做各种各样的应用,包括我们参加杭州的区块链大赛的时候也做共享单车的设计。后来我们就反省这个思路是不是有问题,是不是切合资产属性网络?
定律2:使用区块链,一定是要有多方写入数据的需求
我们看待区块链其实有多种多样不同的视角,一方面可以把它看待成一种特殊的网络,运行高客单价的有很强资产属性的信息属性网络,另一方面可以把它看成是一个数据库。这个时候其实又有第二点问题,如果我们要采取用一个数据库,为什么要用区块链来做?作为一种数据库来看待,它与传统的数据库方案有什么比较性优势?为什么要用它。
之前在中国计算机协会青年委员会上我们也讨论过这个问题,如果把区块链作为一种数据库而言,这里边非常突出的特色就是:它是一个天生去适应多方进行协作的数据库,因为以往在比特币上,每在任何一点的交易就要有特定的节点把数据(交易记录)写入,然后打包入区块,广播,延伸到链上,形成全局的总账。这就是一个多个节点写入数据的例子。
那么后来的不论公有链、还是联盟链中,区块链的角色是什么?
区块链网络中不论是联盟链中准入的实名参与机制,者或公有链中随机的匿名者参与者,都有一个共同之处:在使用区块链之前,一般是不存在信任关系或弱信任关系。节点间一般进行资产交互的方式是信任第三方。然后通过第三方实体进行“资产”属性数据或凭证的“传递”和“交换”操作。这个过程中,交互的复杂性会增加,第三方机构提供担保,协助达成共识,而收取服务费用。区块链产生后,充当的角色有:公共操作记录的数据库、信任的锚定者等。这个数据库需要一群互不信任、或缺乏信任的节点共同协作,按照既定的规则进行“写”的操作。而“读”和 “执行” 的权限则开放给相应权限的参与者。一个单一的写入者写入数据的数据库可以搞定的,就不需要用区块链。
定律3:区块链产品一定是天然的弱中心化的
有一个比较争议的词汇就是de-centralized ,我们可以把它翻译成“弱中心化”或“去中心化”。如果你一定要跟区块链技术属性贴合,以往的那种中心化、集中式的方案就非常能成熟完善的解决的,引入区块链也没什么必要。而比特币和以太坊跟这些定律也是契合的。
定律2、3中比如说用区块链做支付的死的很多,因为搞不过中心化的支付宝、微信。但用区块链做打通多个不同国家商家、金融机构的跨境汇款、清算结算的成功案例则不少。原因也是很简单,后者在复杂多边市场中,缺乏“中心协调者”,存在严重对手风险的交易困境。还有一些详细的例子可以参考以前写的《产品定位的生死劫》一文。
再比如说比特币本身:
- 它肯定是非常高价格的资产,也是承载这样一个资产的网络;
- 它的交易在世界的各处进行,又需要多个节点把交易记录写入到整个的块中,然后连接到整个区块链,整个总帐进行更新,也是多方不信任节点写入的一个数据库;
- 它当时为了克服中心化的系统崩溃,中心故障点的出现而使整个电子现金系统失效这个缺点,故而采取了去中心化的机制。
总体来讲,做产品不仅要情怀,还要考虑代价和收益。考虑技术本身与实际需求的契合度,这种技术与其他技术解决方案的比较性优势。你要用区块链,就得想为什么不用传统互联网、数据库、中心化集中式的系统?单靠情怀,靠画饼,靠烧钱,为技术而技术,走不远,活不长,不管它今天多风光。
做产品:区块链是整个解决方案中的一环,而非全部要素
现在我们来看高频交易的过程,现在很多交易所并不是拿区块链去做场内交易,而是做交易后的行为处理比较多一些。区块链的角色也越来越明显,它不是一种灵丹妙药可以把所有的技术需求实现。更主要的是它作为系统的一个有机部分,或者作为多种技术手段中的一种去实现一个需求。我觉得这也是未来发展一个比较重要的趋势。
比如,大家都比较关注的就是央行数字货币系统,最开始大家都提到区块链可能会成为这种央行数字货币实现系统里面的一个解决方案。但是你仔细去看央行数字货币系统里面的一些技术要求和性能要求,比如说央行清算中心的王永红在讲数字货币的主要特性及其主要内容七点里面提的“可离线交易性”,你会发现如果按照它技术属性和技术要求去做,单用区块链一种技术根本没有办法实现央行的数字货币系统这一特点。
因为央行数字货币技术实现框架中对于“可离线交易性”的定义是 “数字货币通过电子设备进行交易时可以不与主机和系统发生直接联系,不通过有线或无线等通信方式与其他设备或系统交换信息。”这个要求的由来是,央行数字货币还不是非主权数字货币,它是具有法币地位的,如果推行,那任何单位或个人不得拒收,要同时支持在线和离线交易。离线交易技术通过脱机设备交互技术、脱机数据传输技术与脱机交易处理实现。因为可离线交易性不需要在线在链的时候,比如说咱们都有一个数字钱包,这里面存的有央行的数字货币,我们都没有连到网上,但是两个物理终端碰一下余额就会产生交易。这实际上是需要的一种近场的技术来支持,并不是链上的操作。如果不是链上的操作,区块链是根本没有办法解决的。
所以说我们做其他产品也要把握这一点,产品是由需求所发,区块链是一种技术,是整个应对需求实现的技术解决方案中的一环,而非全部要素。
这些思路和启示,再结合我们的社区内的一些真实的需求的话,我觉得设计比原链思路相对来说比较清晰了。必须以真实需求出发,选择合适技术实现。
比原链的需求来源
巴比特社区有币圈和链圈的朋友或者企业在里面,最早是媒体社区,大家可以在这上面投放广告,是这样的一个业务模式。后来大家就说,提供给大家的这种服务还不够,因为我们是做第三方服务,有很多人很多创业者通过巴比特,比如说去推广他的理念募集完资金或者募集到注意力以后,获得融资以后做出自己的链,在链上有他的资产,有他的代币或者有他的某种积分。但是你这个时候会发现,因为大多数链都不是一个公链或者互联互通的链,他的资产只能在他这一个比较小的闭环内去运行,去发展。
网络效应,就是使用的人越多价值越大,使用的人越少价值就越小,他们其实也迫切的需要有一条区块链能够把各个链上的这种资产连接起来,在上面进行互联互通互换,甚至在链上登记新的一些资产然后流转起来。我们从众多需求里面选了这个需求来做这个链,我们觉得这本身就是直接性的切入资产相关的网络,需要多方交互,而且中心化信任不好实现,跟我们之前提的定律是可以重合的。
比原链这个项目,整个巴比特团队已经酝酿了很久,第一版的代码早已完成,在今年杭州的一次区块链大赛中,也已经基于之前版本的做了一个点对点个人共享单车系统的演示,但后期思路有改变和调整,和二次开发。
这个项目大的背景大家都很清楚,即数字资产的兴起。今年3月份,彭博社做了一个报道,提到中国央行有可能研究和研发央行数字货币系统,现在这个说法已经被证实了;另一边,我们的邻居日本,已经把比特币作为合法的支付手段,而7月1号澳大利亚也开始考虑数字货币或者数字资产在国民中的应用。我们看CoinMarketCap,整个加密数字货币资产,从2013年到现在,整体上获得了大幅增长。现在全球的数字货币资产总市值已经超过了1100亿美金。当然也有人说这是个泡沫,我们判断区块链行业是不是存在泡沫,可以看它使用的人数到底有多少,使用的频次是多高。有没有真正走入现实世界?答案是肯定的。
根据blockmeta.com 和 blockchain.info的统计,单单比特币每日的链上交易量在25万到35万笔之间。也就是说除了炒作以外,在公链上的确有应用,并且伴随着应用其市值在增加,有大量的美元和人民币等资产投入到数字货币领域中去。
三个角度理解区块链
既然有了比特币区块链,为什么还要做各种各样的链,比如比原链?两者是什么关系呢?有一次会议上我提到说,比特币是一辆车的话,那么区块链相当于一条宽敞的马路,这个说法马上被当时也在场的一位德勤的合伙人纠正了,她认为二者是铁道和铁轨的关系,两者切合度更高,而且是限制和限定的关系。我觉得她的说法是很到位的。
我们来看比特币和区块链,以及比原链,各种数字货币和区块链的整个发展成长的过程离不开一个人,中本聪。他从2008、2009年开始进行探索,他后来的信中说,在更早的时间就思考过这个问题,2008年论文出来,2009年代码形成以后,大家就知道了区块链的诞生。这篇论文究竟有哪些创新型的成果呢?比特币、区块链、工作量证明、去中心化系统、SPV等等。
在中本聪的比特币白皮书中,描述的是点对点的现金系统,强调的是cash现金,bitcoin中coin另一个意思是零钱。而在比原链的设计里面,其实说的是多元的数字资产交互协议,最重要的字眼则是资产。
- 账本
有很多人觉得这点可有可无,并不重要,实际上不是这样。设想生活中的一个场景,你通过工作,老板付给你100元的钞票,假设你家小朋友玩游戏的过程中这张纸币被不小心撕掉了。在这个过程中,你究竟损失了什么?从这个角度去理解,可以把一些东西想清楚。
这张纸币被撕掉之后,究竟是什么发生了变化?假设这个纸币对应的是你炒币得来的钱,这张纸丢掉之后,对应的token有少吗? 似乎不对,交易所中依然存在,会被其他买家买走。提到链上的token也依然在。假设这张纸币是你工作挣来的钱,你写的代码,你付出的工作劳动的沉淀也都还在。那就出现一个有趣的现象,既然说钱是价值的载体,那么为什么价值载体消失了,但价值依然存在?你究竟损失了什么?那进一步想一下:纸币究竟意味着什么?资产又意味着什么?
其实两者都离不开。当你有了这张纸,就可以凭着这个权益证明,出示给别人进行交换,好比房契地契。所以从这个角度上,区块链的确有账本的作用。保证着你权利的记录和实现。对于资产,这也是必不可少的。
那就不难理解了,整个比特币公链上记录了每时每刻,谁往哪打了多少钱,谁的余额还有多少,整个账目记录在上面,你的权益记录就在上面,就可以拿这个去确权,交换,承兑。
因此中本聪本来的思路是什么? 他提到Cash的概念,现金。下载一个全节点,一个钱包,下面对应一系列UTXO。一把密钥,一个钱包对应一堆未经花费的零钱记录。全网可查,流通有序,不可篡改,形成了信任。但在比特币公链里面有一个限制,它的账本是为比特币而设计的,而在最开始的时候并没有想到会发展到现在这么复杂。
但现在有非常多币种,多样的资产,如果要让这些资产流动的话,首先要对它们进行登记。这也是为什么在Bytom比原链的白皮书中把UTXO进行拓展。如果要兼容多种资产的话,首先要对数据结构进行拓展。实现在一笔交易里面,既可以做到打出五个比特币,也可以打出七十个以太坊、200个Zcash。因此必须对底层记录资产的数据结构进行更改,以便于做到高效和兼容。因此在Bytom中,把UTXO拓展成BUTXO,来支持多样性的资产。相当于账本方面的扩充。
- 价值传输网络
有多样资产,就有多样资产网络,有网络就会有网络之间的交互,之间的联通传输需要进行跨链的操作。这就是为什么提到了用X relay。这个想法来源于ConsenSys公司做的BTCRelay。我们用以太坊的合约调用Relay层,与其他链这个例子中是比特币公链进行交互。那么Xrelay的作用就是一个锁定、登记其他链上资产的资产网关。
- 区块链是一个协议
可以简单的理解为可编程和支持应用拓展。所谓的智能合约和可编程并不是新玩意,最早的比特币区块链的多重签名,区隔所有权和使用权。在底层开发公链,在上层开发应用。这样实现的效果是,一旦合约出现问题,不会让整个网络产生拥堵、瘫痪和安全性问题,避免DAO和ICO触发式拥堵的发生。
这三个维度的考虑,构成了比原链整个系统设计的主干。多样资产的记录--账本,多样资产的交互跨链,以及外挂式资产应用的开发。
其他创新也都与此相关,例如方便资产交易的智能签名,以及以及方便达成共识的类隔离验证,但这与比特币的隔离验证不同。比特币的隔离验证是为了解决交易延展性攻击,所以把签名的部分移出到验证域,间接实现扩容。我们的类隔离验证,并不是为了解决交易延展性的问题,而是为了有更多的可插拔模块接入操作,例如生成新区块的共识机制的平滑更新机制等等。
其他的再比如说通用资产地址格式,统一资产标识ODIN这是为了方便查询操作,资产包的密码操作控制我们引入了BIP32、BIP33、BIP44是为了提供易用性,以及支持国密SM2椭圆曲线公钥密码算法和SM3算法是为了符合市场需求。就是现在挖矿被诟病的是太耗能。我们的设计是对人工智能友好的POW算法和ASIC芯片设计。在矿机在闲置或被淘汰后,可用于AI产业的加速服务。
代码自身成为一种资产
我们来看整个出版或者文字的变换。文字记录最早是甲骨文,到后来的竹简,再到纸张,到我们现在的Kindle、电子书,每一次的变化,底层的载体的变化都导致了整个出版行业或者文化领域的变迁以及变革。
今天我们来看,整个资产和货币也有这样的变化。从贝壳、黄金、纸币、到电子表格记录的形式,再往后变成中心化数据库记载验证的模式,而现在可以用分布式网络,加密算法保管资产。我们可以看到一个比较有趣的现象是,代码本身以往能够形成什么?形成微信,形成excel,这些便利的软件帮助我们办公,帮助我们产生更多的资产,这个时候,代码即工具。但今天,比特币和之后出现的以太坊,以及其他数字资产,就会发现一个很明显的趋势,这些代码本身,由于其功能性、稀缺性、可扩展性,以及大众对其的信心,代码本身不仅是协助你管理资产的工具,代码本身就已经形成一种新的资产。 也需要流动,需要和其他的资产进行交互。
这也就是我们提出比原链概念的由来,“比”就是比特世界或者说数字世界,“原”是原子物理世界,我们希望能够在这个方面做出一些努力和工作。为数字资产、物理资产之间架起来一个桥梁。
钛坦白群友互动:
1、请问做公链该如何解决信息的审查问题?
段新星:解决信息的审查这个问题很简单,因为公链的底层虽然匿名,但是你在上层搭建资产应用的时候,可以符合穿透式的监管的要求,符合KYC和AML要求。并不是所有的东西都要做在链的底层里面,你可以做在链的应用里面。就像比特币一样,虽然不能监控整个比特币的底层,但是你可以监管整个比特币上层的应用像比特币交易所里的账户,满足监管方功能监管和行为监管,可以做到合法合规嘛。物理资产和数字资产转换的接口,链下和链上接口层面,在这个方面进行监管的话是现在各国的监管方也达成的一个共识。
2、段总请问下面的场景是否可以用区块链技术来解决:自有品牌设计师希望让面料商提供面料样品给服装生产商,让其按照自己的服装图纸设计20件服装样品,然后发货给自己的零售店,这里品牌设计师可否用区块链来免预付款用个人信用完成该交易,并形成财务记录事后完成三方付款记录呢?
段新星:这个是可以的,这就是典型的供应链金融里边的场景。但这个里面要涉及的一个问题就是说:如果出现违约是如何处理的?在传统的区块链和数字货币里面,原生技术资产可以抵押到合约里面,但是你这里面现金的操作和物料的操作怎么样去管控?这就是比较难的一个问题,就不单纯是区块链可以去解决的。
3、对于区块链里面的违约问题现在怎么解决呢?还有如果写入了错误的个人信息,个人有没有途径让大部分算计同意改写呢?会不会发生一旦错误信息录入了就没有公正机构来主持公道呢?现在提倡区块链主要就是不可更改,万一有恶意录入谁会出来处理,作为老百姓是不是会申诉无门呢?
段新星:我的看法是,因为技术都是双刃剑。你在享受一个技术带来的优异性能的同时必须要承担相应的代价。因为它的不可篡改性带来的是公信力,所以我觉得那你就必须也要承担不可篡改所带来的这种代价,这种事情其实也发生过。
以前我记得是在欧洲的一个比特币的交易中,就是一个人用一个地址给另一个地址打了一个比特币交易,后来发现交易是无效的,但是因为交易不可以逆转,所以没有办法撤回,这里面要做事前的预防和审计的过程。这要尽可能的保证这种状况不会去发生,否则的话你就有可能会出现以太坊DAO类似的问题,虽然你去改了合约里边的代码,改了整个链上代码的漏洞去追回了用户损失,但同时也造成了区块链分裂这种现象的发生。
另外不会出现申诉无门,因为申诉其实还是在现实世界发生的,现实世界有现实世界的法律,他不会去承认“代码是法律code is law”这样一个规则的。
4、想请教下段总对于ICO的看法是怎么样的?
段新星:我觉得把它看为一种融资或者获取注意力以及种子用户的方式就可以了。不用过于追捧,也不用过于污名化。你看以太坊也是ICO起家的啊,但是现在大家对它的评价也是比较正面的。另外中国人民银行数字货币研究所所长姚前最近写了一篇关于ICO的文章发在《当代金融家》上,有比较全面、客观的论述,大家对这个感兴趣,可以阅读一下。
(本文独家首发钛媒体,根据巴比特执行总裁段新星在钛坦白上的分享整理)
……………………………………………………
钛坦白第46期:区块链技术落地中的挑战与革新 3
今晚7点继续分享~
脑洞大开!…