写完三篇的Fabric周记(一、二、三),接下来该写点什么,成了一个困扰我的问题。我曾经想过是否将文档中的例子改造得更符合实际场景,但临到头时,我才发现有些无从下手。因为很难说服自己“这个场景就是为区块链而生的”,而简单的把区块链当做数据库,随便往里扔点东西再取出来的CRUD例子已经无法让我“兴奋”。
于是,我想先在技术方面停一下,反思一下这段时间学到的、听到的、看到的各种观点,理理思路,想想未来该往哪个方向前进。很显然,作为初学者,写这样的帖子更多的是抛砖引玉,帮助自己理清思路。至于是否帮助到你,那就不一定了,不过我还是希望如此。
注意,本文更多地是从应用而非基础底层的角度去看问题。
到了这个时候,如何还固守“区块链是骗人的玩意儿”这样的观点,那可就真的是冥顽不化了。在当前大势之下,已经不是“学不学”的问题了,而是“怎么学”和“学什么”。
就我个人的学习经历来看基本上是按照如下的步骤:
至此,你肯定无法成为区块链的大拿,但基本上可以出去吹吹牛了。而且,除非有实际项目做支撑,我并不建议在工具上花太多精力。技术层面的问题对于一个称职的开发者来讲应该不是优先要解决的,因为这本是他的长处。同时,现阶段的目标是建立对于区块链的感觉和整体印象,花太多精力在细节不是注重ROI的表现。
接下来,就是要去看看目前的区块链各种应用案例,看看这些业务案例选择区块链的驱动力。注意哦,这个驱动力未必是技术驱动的!技术人的一大傲慢就是天真地认为**“技术是唯一驱动力”**。了解这些是为了扩充你的眼界和解决方案库,我承认,这也是我目前关注的重点。
区块链布道者总是宣称“它将改变未来的生产关系”,且不论它正确与否,但其实已经表明,如果咱们不了解一下“经济学”似乎很难在这个圈子内升到更高的段位。而且,我建议好好研究一下“Token”,虽然我目前对它也是一知半解,但直觉告诉我它是区块链应用的关键。说不定未来还会出现一种专业的架构师,他的职责就是如何设计好一套好的Token发行流通体系和一套好的激励机制。
的确,这是一个很大的问题。我是坚决反对将区块链等同于普通数据库对待,什么东西都往其中撂。如果是这样,还不如用常规数据库,这样大家的生活还能更轻松点。
上链与否,说得功利一点就是看都没有额外的好处。抛开各种蹭热点、割韭菜和投机的驱动力,剩下的就要看区块链本质想解决的问题了。就我个人理解,区块链解决了交易的信任问题,通过分布式账本和共识算法保证了交易的所有历史、不可篡改和一致性。
抛开其他技术性术语不谈,区块链上保存的就是交易,或者更通俗地说,就是流动性的资产。如果一个资产本身暂时不具备流动性的话,上链其实没什么意义。举个例子,比如我有一台机器,如果只是自用,那么完全没有必要上链。但如果我想进行二手机交易,那上链就是有价值的了。
但是,就现阶段来讲,上链的过程更多的是锦上添花,而非必不可少。除非区块链已经在社会中得到充分普及,否则我们还得时不时依赖链上和链下的人工结算。在我的设想里,一个充分普及的区块链社会应该是这个样子:
这样的阶段,目前看来似乎还有些时日。就目前我看到的案例,上链的目的:
并且,上链还有一个前提:如何带领大家一起玩。你自己建一个BAAS是不够的,这种工具性质的东西生命力并不高。除非能够打造一个网络,有各类参与者在其中发生交互,才能盘活系统,这时上不上链其实就是一个很明显的选择了。
去中介化应该是互联网的最大谎言,那些号称去中介化的网站自身成了另一个中介,只不过更加透明和更加高效。
区块链也是一样的道理,那些号称区块链可以实现点对点交易的人有意无意忽略了能够进行这种交易的前提是:买卖双方都已经有很明确意向的时候。而在此之前,货比三家的心态将决定中介无法去除。为了更高效地接触到更多卖家和买家,交易的两头都需要中介这个载体,因为它确实能降低沟通成本。否则,从一开始早在实体经济里就不会有代理体系的容身之处。
哪怕是以高效著称的程序,中介依旧有一席之地,比如广为人知的“Facade模式”,它难道不就是一种中介吗?正如我们愿意放弃“点对点调用性能最高”以换来“更好地管理代码复杂度”,我们也愿意放弃“买家和卖家之间直接交易最便宜”以换取“更广泛地了解其他选择”。
那些智能合约鼓吹者描述的美好前景在缺乏一个“智能中介”的前提之下很难给用户代理好的体验。我认为,在区块链大环境下,智能中介将担负起类似搜索引擎的角色,只要输入相应的条件,它自动想用户展示相应的智能合约,之后再由用户通过智能合约完成交易。
很显然,如果单就这个问题本身而言,答案显然是“NO”,因为很明显,Fabric中就没有所谓的Token。当从这段时间的学习来看,我越来越觉得Fabric本身就是为了信息集成而用的,它的愿景就是一些合作伙伴把信息存在它上面,然后就此完成交易。也就仅此而已。说的直白点,它其实充当了合作伙伴间的共享数据库。
这既是它的缺点,也是它的优点,因为够直白,所以落地相对容易,可以为广大企业接受。这一点其实也可以理解,都已经是合作关系了,也没有什么激励不激励的问题了。按照合作条款做事就OK了。
但是,我觉得好的区块链应用离不开Token。因为它可以提供了更广泛的问题解决手段,超越了所谓的“分布式账本”:
所以,虽然Token并非是区块链的必备,但作为区块链开发者,我们需要认真对待它。
这种问题对于工作多年的老油条一看就知道有一个标准答案:“It depends!”。虽然这个答案可能无法让你满意,但事实就是这样。
选择公有链的人会搬出“去中心化”的大旗,认为这就是区块链的使命,但凡事无绝对,并且现实世界中的很多因素会最终迫使技术做出妥协。这里只能再搬出那句老话:存在即合理,很多时候,很多事情也并非是技术单方面的事情。
至于如何选择,这类讨论在网上已经数不胜数,这里也就不再赘述了。
值得注意的是,由于区块链各个山头林立,跨链交易已经势在必行,预期担心选错,不如想想如何完成这种交易。
不少技术朋友都说:区块链目前缺乏一些强有力的商业证据,更多是忽悠。而另一方面,各类区块链站点却又给出一波又一波的商业案例。反方的出发点更多的是:此案例不用区块链也能实现,而且更简单。而正方观点则要证明区块链能够兑现其承诺。
两个其实都没有错,但前者忽略了一个现象:从来没有一种业务是这项技术可以解决而那一项技术是无法解决的。基本上,每个业务领域中总能找到那么一两个可以称为是竞争对手的技术。所以我认为很多技术出身的朋友对于区块链的抵触其实是出于对其过度宣传的反感,而非真的是对这门技术有什么敌意。
在上面的观点2中,其实我已经给出了一些商业案例,这里还可以补充的是:
基本上,目前大多数还是将区块链作为一个“分布式防篡改账本”的方式去使用。但其中的Token已经被滥用。
说了这么多观点,最后来谈谈本文的出发点:理思路,定方向。未来的计划大致如下:
看来,一个系列就此诞生了。
更多的区块链文章。
觉得有帮助的话,不妨考虑购买付费文章来支持我们 🙂 :
付费文章