区块链技术浅析之二:区块链的技术源流

区块链技术最早由比特币采用。随着比特币成为现象级的应用,其采用的防篡改防冒用防抵赖特性的能自动记账的分布式账本也被抽取出来,根据其技术特征和比特币原发明人的论文,命名为“区块链”技术。

更往前点,区块链技术其实和更早前兴起的p2p下载(BT,电驴之类)技术有点类似,互联网发展的早期,下载都是通过中心服务器进行,如果中心服务器挂了,就下载不了,同时大家都依赖中心服务器,带宽有限的情况下,下载速度很慢;于是p2p技术应用而生,p2p是“点对点”的意思,不再区分客户端和服务器,节点以平等身份加入网络,下载的同时上传给其他需要同个文件的用户,有点“人人为我我为人人”的意思,突破了中心服务器网络带宽的限制,用过p2p下载的,一是热点资源下载的人越多,下载速度越快,另外资源很丰富,远超一台中心服务器能提供的资源。下载资源有时候下载到假的资源,于是p2p网络中的文件开始带上校验码,通过技术比对可以解决造假问题。这些应用的出现,为比特币和区块链的出现做了技术/理念/使用习惯的准备。(当然,也不能把这些技术的简单组合就认为是比特币和区块链,如果说比特币只是用p2p下个账本,那同样也可以说淘宝只是用http浏览器协议买个商品,实际上无论是区块链还是电子商务,都是技术发展到一定阶段后,业务形态发生的一个根本性的进化)

进一步追根溯源,互联网的出现是区块链技术能实现的基础。互联网的很多理念也是区块链所采用的,比如互联网顶层设计体现了去中心化的思路,全球互联网并没有一个统一的管理机构,而是通过对等互联发展起来的;互联网实现了点对点的全球信息的互联互通,而比特币更进一步地,实现了点对点的价值的流动;比特币的原始论文中提到一个“双花问题”,由于信息本身是可复制的,通过信息复制实现价值转移时,会存在这样一个问题,比如我的计算机中保持了100元人民币的数字,我购买商品后,花费了这100元,计算机将数字修改为0;但是我可以操纵计算机将这个数字又修改回100,继续进行下次购买,计算机中的数字,不像纸币上的数字,是可以复制的,所以传统上应对这个双花问题,是找一个交易双方都信任的第三方,由其来记账,防止同一笔钱花出去多次。这种是中心化的解决思路。效果取决于我们所信任的第三方记账机构,比如银行。假设银行也出了问题呢?这个麻烦就比较大了。比如之前存钱到银行是有纸质的存折的,每笔交易都打印其上,不会灭失;现在用卡了,每笔存款是否存在,取决于银行的计算机系统是否可靠,假如哪天银行说这笔存折在其计算机系统中没有,那么如何证明你确实存过这笔存款呢?比特币的出现,提供了一个去中心化的,对等的解决方案,只要全球的互联网还在,你在比特币上的存款就不会灭失,而且你无法通过修改一两个节点的方式去篡改数据。

比特币的出现及比特币应用的成功,打开了区块链应用的大门,不过比特币应用的功能比较有限,仅仅是转账功能;随后出现的以太坊,突破了功能的限制,引入了智能合约的概念,可谓区块链的2.0版本。从用户角度来讲,智能合约通常被认为是一个自动担保账户,例如,当特定的条件满足时,程序就会释放和转移资金。这个功能就不只转账了,理论上任何金融功能,只要数据放到区块链了,就可以用智能合约来管理,比如跨境汇款,证券登记和清算,保险,预付款和再充值,存证,二手房车买卖等等。

 

以上是区块链的技术发展源流的浅析,可见之前的密码技术、网络技术为区块链技术的出现做了技术上的准备,互联网之前的应用场景也给了区块链很多分布式业务场景上的启发。可以说区块链技术是站在前人的肩膀上的一种组合创新(其实区块链本身没有发明一种前所未有的技术,所有技术都是现成的)。但是区块链发展目前也有急需解决的瓶颈:

一个是区块链的性能问题。以比特币为例,目前整个系统的吞吐量最大为每秒10笔左右(与单笔交易数据大小有关),而一笔交易需要至少10分钟才能得到确认响应(更严格的标准下需要60分钟)。以太坊的共识设计可以算是代表了当前公有链的最高水准,也仅仅做到了平均15秒的时延(区块间隔),吞吐量也依然停留在个位数每秒。这样的表现远远没有达到诸多场景下的实用标准。性能问题的根源在于区块链的属性决定了交易行为以及对分布式账本变动的行为需要经过共识,这比单机处理效率肯定要低,比如需要网络信息传输时间,各节点处理速度不一致时需要等最慢的节点;如果是企业间联盟的场景,需要达成共识的节点不多情况下,可以换用算法,提升处理效率,但是性能问题仍值得关注,目前区块链系统不适用于高频交易系统;

另一个问题是区块链的安全性是基于计算机密码学的安全性,假设计算机密码安全失效,则区块链的安全性就不存在。在未来出现一些特殊的技术事件时,比如量子计算先于量子加密成熟,计算机的密码破解能力发生突飞猛进,则现有的区块链应用可能遭到轻易破解,从这个意义上讲,做公链比做联盟链,安全性要求更高。联盟链应用毕竟不像比特币那样陌生人组成的交易网络,企业间的业务毕竟还有部分线下的信任存在,花费巨额成本攻击破解自己参与的业务是不符合性价比原则的。
 

另外,从技术竞争的角度讲,区块链不仅要证明自己能用,而且要证明优于现有的技术,其现有业务最好是互联网出现之前就存在的,且在互联网出现后,无法改用互联网技术的,比如古老的跨境支付用的SWIFT技术最近就成了区块链技术的“讨伐对象”。我在一年前就认为跨境支付是很好的区块链应用场景,可以参考我另外一篇博文《用ripple区块链进行全球汇款业务的研究》,之后马云也就蚂蚁金服的菲律宾跨境支付区块链应用项目站台,有兴趣的同学可以搜一下相关报道。

你可能感兴趣的:(区块链)