区块链系统

2017-05-06 by guozhongxin

笔者从去年5月份开始学习关注区块链技术,从中本聪的论文,到一些开源区块链项目的白皮书、黄皮书,再到源码,对区块链系统有了一定的了解和认识,最近也在MSRA做一个区块链相关项目,在这个博客里讲座一系列的总结。

这两年,“区块链(BlockChain)”技术又开始火起来,很多金融界的人士开始关注区块链,连央行都开始关注并运用这项技术。相关的创业公司、论坛也层出不穷,一番热闹的景象。目前区块链技术主要运用在虚拟货币上,经常和另一个概念“分布式账本”相混淆。

什么是区块链(BlockChain)

从字面上,区块链即是一个个“区块(Block)”组成的“链(Chain)”。区块中承载着一段时间内全网的新增信息。每段时间,都会产生一个新的区块被添加到区块链上。区块链上记录的信息不一定是虚拟货币的信息,可以是任何有共识的内容,例如知识产权、访问日志、广告点击日志等。

区块链技术从本质上是一套去中心化的分布式系统,通过“公私钥”和所谓的“挖矿”等机制保障数据的安全和一致性。

区块链系统大致的运作过程可以 简单 描述成这样的:

在这个分布式系统中,每个节点都会存储下来全部的数据,即一个个的区块组成的区块链。分布式的节点组成一个P2P的网络,各个节点将一段时间内的全网的交易记录(Transaction)打包成一个区块(Block),并进行工作量证明(ProofWork),这些行为就叫做“挖矿”。每一个时间段内,只有一个节点创建的区块会被大家(全网节点)承认,这个节点可以简单地认为是最早完成工作量证明的节点。它最先完成工作,并通知大家,把这段时间产生的区块发送到全网,得到大家认同后,大家都把这个区块记录下来,添加自己本地的区块链之后。这时,相当于全网的区块链又多了一个新的区块。之后,大家就会继续记录下一时间段的新增信息,不断的产生新的区块。

在公有链上(例如比特币、以太币),为了鼓励“挖矿”,每挖出一个新的Block,并被全网承认,这个Block的创建者就会得到一定的数字货币奖励。比特币大约是10分钟产生一个Block,奖励创建者25个比特币;以太币大约12秒产生一个Block,奖励创建者5个以太币。

以上的描述过于简略,对只是为了了解这个系统的学习者,大致可以了。知乎上有一篇更生动地文章,可以供读者参考如何简单易懂地介绍区块链 by汪乐-LaiW3n 。如果想了解技术细节,这些解释是明显不够的。在后续的文章中,我会尝试解读。

总结一下区块链系统的特性/特征:

  • 去中心化(Decentration),由于区块链系统是一个完全去中心化的网络,任何(不超过全网半数以上算力的)个体或组织都没有绝对权限,大家共同监管区块链上的数据,解决了信任的问题,因此运用区块链技术的虚拟货币越来越得到认可,价值不断攀升。
  • 可追踪性(Traceability),网络中的每个节点都可以保留全链上的完整数据,每条(交易)信息都是公开的,大家都可以查看得到。
  • 不可篡改性(Non-Modifiability),各个节点共同监管,即使个体进行篡改,也不会得到其他节点的认同,不会对整个系统影响。
  • 可验证性(Verifiability),每条记录都是可验证的,都应该有明确的、统一的判定标准。这样大家对链上数据进行监管验证时,才不会有歧义。

另外,有的文章了提到了匿名性、开放性,这两个特性是针对公有链的,在私有链、联盟链中,并不适用。

区块链技术能干什么

其实这个问题也特别宽泛,现在对这项技术有各种解读,往大了说都是“颠覆货币发行”,“颠覆资产/知识产权管理”,“颠覆广告投放”等等。业界对区块链技术的实用化做了很多设想和讨论,物联网、供应链、在线广告等不同的业务都能和区块链扯上关系。但是现在除了虚拟货币,真正落地并推广的项目并不多见。

尽管如此,各巨头投入了兴趣和人力,IBM为HyperLedger fabric的贡献了大量代码;微软Azure推出了区块链云服务,支持各种开源区块链项目;蚂蚁金服也宣布了要将在慈善募捐使用区块链技术。在这一轮的“炒作中”,笔者也希望能看到有更多有价值的项目应用到区块链技术,使区块链真正的走出象牙塔。


Comments

Fork me on GitHub