第1节 通俗易懂地理解区块链
首先,欢迎来到区块链的世界!
区块链的世界里有着一座座金山,也有着一片片蓝海。这里有着最前沿的科技组合,有着激情四射的年轻社群。聪明的你也许会问,它未来在哪里?其实,“区块链”这三个字本身就代表着未来。
尤其在2018年春节期间,国内外的各大新闻媒体都对区块链进行了海量报道。但什么是区块链?什么是白皮书?什么是共识?什么是挖矿?……这些运营人员必须掌握的区块链基础知识你都知道了吗?
如果你是区块链行业的老司机,可以直接跳过本章的第1~3节。在本章我将用通俗易懂的语言让区块链新人快速掌握关于区块链的基础知识。
什么是区块链
区块链的历史可以追溯到世界上第一个基于互联网的分布式计算项目——寻找“梅森素数”(GIMPS)。
该项目于1996年建立,旨在通过全球各个角落的电脑,一起来计算梅森素数。对于什么是梅森素数我们不用深究,我们只要知道寻找这个素数是任何一台超级计算机都无法独立完成的任务。从1996年到2013年,总共才发现了15个,而最近发现的一个梅森素数已经达到2234万位,如果用普通字号打印这个数字,长度超过100公里。
寻找梅森素数的过程中让人们了解到分布式计算的强大,如今这种调集全球大量的电脑来解决一个问题的工作模式,已经成为很多需要大规模计算的项目的通用模式,其中包括美国宇航局的寻找外星人计划。
在2001年的911事件中,各大金融机构存于世贸中心的数据被毁于一旦,严重影响了全球金融系统的正常运行。去中心分布式存储技术应运而生。这种技术通过把数据存储在不同地方的服务器上,来避免突发事件对中心化数据的毁灭性打击。
基于这两个背景,让人们产生了探索区块链技术的浓厚兴趣。如果用一句话来给“区块链”下一个定义,那就是:一种不可篡改的去中心化分布式账本。
为了能够彻底弄明白什么是区块链,你还需要知晓如下5个问题。
1.区块链和传统数据库有什么区别
如果知道Excel,就会非常容易区分区块链和数据库。传统数据库结构是像Excel这样的表格。区块链则不同,每个区块的数据结构就像一棵树,每个枝枝叶叶上都是数据,数据之间互相关联,一个数据的变动,会影响整棵树。这棵树叫默克尔树(Merkle Tree)。
“默克尔树”数据结构
2.区块如何成为“链”
区块成为“链”的过程类似于火车各车厢之间通过车钩连接。只是每个车钩上都贴着一个标记,这个标记是前面所有车厢装的货物的哈希值。由此可见,只要之前任何一节车厢中丢了一个小包裹,都会导致后面车钩上的标签内容发生变化。所以,拴在这根链上的任何内容的变动都是公开透明的。
区块链连接结构
3.什么是区块链里的哈希算法
哈希(Hash)是区块链中最基本的概念之一,是一种加密算法。
比方说,我们把明文“今天天气真好”这六个字进行哈希,就可以得到一串密文:“dkedadedefc”。但如果我们把“天气真好”这四个字进行哈希,则会得到另外一串完全不同的密文:“kend2dedaqqqd”,通过这些密文是没有办法倒推出明文的。
更有意思的是,你对一个很大的视频文件(比如一部韩剧)进行哈希,也许会得到一个很短的密文。而对另一个与之部分内容几乎一样的视频文件(也许只是剪辑了半秒的剧情)进行哈希后,会得到一个与之前完全不同的密文。
所以,哈希算法最常用的场合就是一致性验证。比如,两个看似相同的软件,一个是官方正版的,一个是被人加了一小段病毒的,区分两者最简单的方法就是对这两个文件进行哈希,如果不同,就要小心了。
4.区块链与比特币是什么关系
2008年的全球金融危机之后,一些科技极客开始尝试探索一种去中心化的数字货币,但是却无法寻找到一个让不同计算机之间保持账本一致性的有效方案。
2008年年底,一个叫中本聪的人发表了一篇论文,该论文模仿按劳分配原则,提出了用“工作量证明”来确保账本一致的方案。2009年1月3日,以此论文为依据的比特币诞生了。
在比特币诞生后的5年里,比特币的核心技术之一——区块链数据存储技术被单独提炼出来,形成了区块链技术体系。同时,以此技术为基础的各种区块链应用如雨后春笋般快速出现并成长,成为目前世界公认的可能对未来社会产生极大影响的关键技术之一。
可以用一句话来说清区块链和比特币的关系:区块链是比特币的核心技术,比特币是区块链在金融方面的应用。
5.区块链技术为什么会火
互联网解决了信息交流的问题,物联网正在解决实物交流的问题,而区块链正在解决价值交流的问题。仅因为这点,区块链就有与互联网和物联网平起平坐的地位。最为重要的是,由于区块链上的数据不可删除,从而能让人与人之间的关系更为和谐和互信。
(1)诚信社会的保障:区块链上的数据无法更改、无法删除,只能不断被添加。这个特点看似简单,但其实恰恰是诚信社会的重要保障。如果一个企业可以随意更改账册,那企业将失信于社会;如果个人可以随意美化自己的历史,那这个人将失信于朋友;如果一个国家可以随意篡改历史,那国家将失信于世界和他的人民。
信任的根源来自于不可篡改,如果所有数据都在区块链上,那么就可实现在没有让大多数人达成共识前没有任何人能够对数据进行更改,而且这些数据人人可查。如果未来所有数据都通过区块链方式进行保存、查询,则诚信社会就有了技术上的基本保障。
(2)数据安全性的保障:区块链所采用的加密技术一方面用来验证数据的一致性,一方面用来保障数据安全。以战场上传送命令为例,为了安全,可以用明文同时传达多个不同的命令(其中只有一条是正确的),每个命令后附上一段哈希后的密文。收到命令的人只能用配对的密钥打开其中唯一正确的命令。用类似的方式,可以非常容易地解决互联网上公开数据与保密数据的矛盾。
同时,因为区块链具有去中心化、不可篡改的特点,从而使得这门技术落地应用的空间非常大。
在金融创新方面,区块链可以成为各种数字货币的核心技术,推动金融领域的现代化革新,比如用于数字货币、支付清算、智能合约、金融交易、物联网金融。
在企业管理方面,区块链可以改造企业的业务流程,提高财会工作的效率与安全性,同时区块链技术更是建立企业外部生态圈的最便捷的工具,企业可以为重要的合作伙伴发放Token。
在社会管理方面,区块链可以为政务公开、产权管理、投票、选举等提供公平的环境。
在商业方面,区块链可以让拍卖、招投标等更为公开、公证,让无形资产管理更为规范,让知识产权交易更加安全可靠。
什么是共识机制
可以想象这样一个场景:在火车站里,很多车厢都已经装满货,到底让哪节车厢挂到即将出发的那趟火车呢?是站长说了算还是车站大股东说了算?或者是搬运工说了算?这时候就需要共识机制来解决问题了。
由于区块链在点对点网络下存在较高的网络延迟,所以各个节点所观察到的事务的先后顺序不可能完全一致。因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识,这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为共识机制。
这几年区块链技术的发展,与共识方案的创新密不可分。共识算法从工作量证明到权益/股份证明,再到代议制证明等,新的共识方案不断吸收人类在社会、政治领域的智慧,进而不断创新。目前,绝大部分区块链项目采用的是以下3类共识机制。
1.工作量证明——PoW
工作量证明简单理解就是一份证明,用来确认节点做过一定量的工作。监测工作的整个过程通常是极为低效的,而通过对工作的结果进行认证来证明完成了相应的工作,则是一种非常高效的方式。
比如,比特币在区块的生成过程中使用了PoW机制,要得到合理的随机数,求解数学难题需要经过大量尝试性计算,系统通过查看记录和验证区块链信息的证明,就能知道谁最终完成了指定难度系数的工作,完成工作的那个节点就可以获得一定份额的比特币奖励。
2.权益证明机制——PoS
PoS类似于把资产存在银行里,银行会通过你持有数字资产的数量和时间给你分配相应的收益。采用PoS机制的加密货币资产,系统会根据节点的持币数量和时间的乘积(币天数)给节点分配相应的权益。2018年7月非常火的Fcoin交易所,就是采用PoS共识机制,让拥有FT的用户可以享受平台的收益分成,以这种方式把交易量快速做了起来。
3.权益授权证明——DPoS
DPoS是一种类似董事会的授权共识机制,该机制让每一个持币人对整个系统的节点进行投票,决定哪些节点可以被信任并代理他们进行验证和记账,同时生成少量的对应奖励。DPoS大幅提高了区块链的处理能力,并降低了区块链的维护成本,从而使交易速度接近中心化的结算系统。
这些共识机制存在着各种各样的问题,比如比特币采用的工作量证明机制中,猜数字最快的通常是计算能力强的电脑。超强的计算能级仅用来猜数字,实在是浪费。关于什么才是优质的共识,就需要看具体的项目了。
如何让更多的人获益,如何让更多的人参与到项目中来,应该是区块链不断探索解决的共识问题的精髓。
什么是区块链白皮书
白皮书是解释加密货币使用的目的和技术的文档,通常一个区块链项目通过使用白皮书帮助人们了解它所提供的内容。白皮书是区块链爱好者了解一个项目的重要渠道,因此一个清晰而简单的白皮书是一个新区块链项目必备的。
为了让自己能够更好地服务用户,建议所有小伙伴在落地开展区块链运营工作前都仔细研读你所参与的区块链项目的白皮书,并且重点关注如下4个部分:
(1)摘要:摘要在加密货币技术文件中很常见,通常放在开头部分,用来简要描述整个文件和项目。
(2)路线图:路线图是一个有预计完成日期的计划,显示了一个组织想要达到的长期目标。查看路线图有助于了解组织希望向客户提供什么以及想要成为什么,通常区块链项目会以季度为单位来写计划。
(3)项目证明:项目证明是对某些想法的一个较短且不完整的实现,以证明其可行性。概念证明通常被认为是一个有里程碑意义的实作原型,在区块链中是预发布版的另一个称呼。
(4)项目Token:这部分内容主要是帮助你了解区块链项目的社区管理思路,包括Token功能与价值介绍、Token分配比例、Token发行、Token回购、Token解禁方案等。
什么是智能合约
智能合约是区块链技术的一种应用,它在20世纪末就被提出了,但直到近几年随着区块链技术的发展才逐步被社会所熟知。智能合约的概念具备承诺、协议、数字形式三大要素,因此能够将区块链的应用范围扩展至金融行业交易、支付、结算和清算的各个环节。
智能合约是指当一个预先编好的条件被触发时,会立即执行相应的合同条款,其工作原理类似于计算机程序的if……then语句。
打个比方,你的大学同学找你借了1万块钱,他承诺说等发工资就还你钱。但是等他发工资那天,他还是没还你钱,作为老同学你又不好意思催他还钱,所以这个时候就陷入尴尬的境地?找他还,你会觉得撕破脸了;不找他还,心理又不舒服。
如果将这笔借贷行为用上智能合约就不一样了,当他发工资那天,他在协议里给你的承诺就会自动执行,钱将自动从他的账户转到你的账户。
如果他找你借的不是钱,而是一颗钻石,智能合约会管用吗?这就不会管用了,因为钻石不是数字形式的,所以不能实现智能合约的自动执行。
什么是区块链挖矿
挖矿是区块链行业的一种用户贡献行为的总称,比如你帮区块链项目邀请了一位好友,如果刚好该项目的共识机制里对这个行为有Token奖励计划,那么你的邀请好友行为就是挖矿。
目前挖矿被大众所熟知的应该是比特币的记账奖励。目前比特币采用的是PoW工作量证明共识机制:第一个解决复杂数学问题的计算机将得到一个新的可记录区块链上信息的块,同时得到新的比特币奖励。由于其工作原理与矿物开采十分相似,故称之为挖矿。
与挖矿相关联的概念还有矿工、矿池、矿场,这些词汇经常出现在区块链行业相关文章中,所以建议大家了解一下。
(1)矿工:在区块链网络中,矿工是指通过不断进行哈希运算来求解数学难题并产生工作量证明的各网络节点。区块链网络通过算力来验证、确认交易并防止双重支付。
(2)矿池:矿池是一个完全节点,是一种将少量算力合并联合运作的方法,其整合了区块链网络中的零散算力,并在所有成员中共享奖励。在全网算力提升到一定程度后,单个设备难以在比特币网络上获取比特币网络提供的区块奖励,从而变成纯粹0和1的概率事件,而通过加入矿池集合网络中较大比例的算力,远比单独工作获取区块奖励的概率大。
(3)矿场:矿场与矿池是两个概念,矿场是指地理上集中的矿机分布形式。基于比特币全网的算力水平不断上升,单个设备难以获得比特币的区块奖励,因此通过大规模挖矿、商业化运作的模式,将大量的矿机集中到挖矿成本较低的地方进行规模化挖矿。矿场的主要成本来自于硬件以及电力,这也是为什么现在有很多矿场会建立在比较偏远的地方,并且用风能和太阳能来发电。
什么是Token
代币与令牌对应的英文单词皆为Token,在区块链领域中一般不加以区分,但两者在意思上有些许区别。
准确来说与代币对应的英文为Token Coin,代币可以定义为某种账户的余额,并且不局限于加密货币的范畴。广义而言,包含Q币、游戏币在内的虚拟货币皆属于代币的范畴,在区块链领域,代币与“支付令牌”具备相同的意义。
Token实际上既包含代币、令牌,也包含代金券、证券、通证、纪念物等,根据瑞士金融市场监督管理局(FINMA)在2018年2月提出的定义,令牌(Token)主要分为支付令牌、功能令牌和资产令牌。
(1)支付令牌:支付令牌与加密货币是同义词,并没有其他功能或链接其他开发项目的功能,包括比特币、狗狗币、莱特币等第一代加密货币以及达世币、门罗币等以支付、结算为主要功能的令牌。
(2)功能令牌:功能令牌是指为应用程序或服务提供的数字访问令牌。包括瑞波币、艾达币、恒星币、小蚁等内嵌代码的Token,是具备使用场景或潜在使用场景的功能令牌。
(3)资产令牌:资产令牌代表资产,例如参与真实实体收益、公司股份(或收益权益)或者获得股息或利息支付的权利。就其经济功能而言,该令牌类似于股票、债券或相关衍生品。如BitShares上的PDA令牌或是DigixDAO上的DGX令牌就是资产令牌,它们在现实世界中具备对应的资产。