购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 区块链是什么

对区块链知识的学习,是币圈投资入门的一个门槛。尽管很多币圈暴富者自认对区块链知识一无所知,但是投资的本质是抵御风险、增加收益,一无所知的投资者无疑会面临巨大的风险。

区块链是比特币的伴生技术,当人们把区块链技术从比特币中抽离时发现,这项技术的潜力远远不仅是作为数字货币的基础,从而出现了应用项目大爆发的现状。

区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约集体维护可靠数据库的技术方案。

对于非IT从业者来说,读完以上文字,也不会轻易理解区块链技术到底是什么。

其实区块链并不是新发明的一种技术,而是一系列学科和技术综合的结果,包括IT技术、通信技术、经济学、密码学、数学、博弈论等。这些学科和技术经过人类不断地总结和验证,最终碰撞并孕育出区块链技术。

区块链数据结构、密码学加密、共识机制和分布式数据存储是区块链的核心技术构成。只要理解这4个核心技术的意义,就可以基本理解区块链的本质。

从功能上讲,区块链是一套数值交换系统,一份可以完全信任的超级账本。其他的一切技术,都是实现这个系统的条件。所以,计算哈希值挖矿不是区块链的目的,发行代币也不是区块链的目的。

下面通过时间顺序,来感受区块链诞生的历史脉络。

2.1.1 非对称加密及哈希算法

1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理的问题,提出了一种新的密钥交换协议,允许在不安全的媒体上的通信双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。

在了解非对称加密之前,首先需要知道什么是对称加密。

对称加密算法,是指加密使用的密钥和解密使用的密钥是相同的。也就是说,加密和解密都使用同一个密钥。因此如果对称加密算法要保证安全性,密钥要做好保密。

这是对称加密的一大缺点,交易双方都使用同样的钥匙,让安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一钥匙,这会使得发、收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。比如,如果你为QQ、微信、支付宝、微博、网银、摩拜单车都设置不同的登录密码和支付密码,那么记忆这些密码将成为生活中的灾难。

与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(Public key)和私有密钥(Private key)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个相同的密钥,所以这种算法叫非对称加密算法。

为了便于识别和验证信息的完整性,比特币系统通过调用操作系统底层的随机数生成器来生成256位随机数作为私钥。比特币私钥的总量大,极难通过遍历全部私钥来获得存有比特币的私钥,因而在密码学上是安全的。

256位二进制形式的比特币私钥,通过SHA256哈希算法和Base58转换,形成50个字符长度易识别和书写的私钥供用户保存。

而以数字开头的33字符长度的比特币地址,以256位二进制私钥的比特币私钥开始,首先经过椭圆曲线算法(Secp256k1)生成65字符长度的随机数公钥,然后将65字符的公钥进行SHA256和RIPEMD160双哈希运算生成20字节长度的摘要结果(即Hash160的结果),再经过SHA256哈希算法和Base58转换形成33字符长度的比特币地址,如图2-1所示。

图2-1 比特币的非对称加密逻辑

简单来说,从256位私钥到地址的加密逻辑就是——钱包首先生成私钥(256位)→私钥生成公钥(65字符)→公钥生成公钥哈希(20字符)→公钥哈希生成地址(33字符)。然后,用户就可以公布钱包地址,用来接收比特币转账。

例如,作者的比特币钱包地址是1H7kGxPC7Kf3GmnP383eub2kvH2Dt XdQQ5。为了使用方便,数字钱包会生成收款地址二维码,如图2-2所示。

图2-2 比特币钱包地址及地址二维码

公钥的生成过程是不可逆的,不能通过公钥反推出私钥。

比特币的公钥和私钥通常保存在比特币钱包文件中,其中私钥最为重要。丢失或者忘记私钥就意味着丢失了对应地址的全部比特币资产。因为丢失私钥而损失巨额比特币资产的人屡见不鲜。

区块链利用密码学原理,对数据进行加密并可以精准识别身份,保证了已有数据不被篡改和数据安全,也保证了整个系统的安全和稳定。

2.1.2 区块链数据结构及时间戳

区块链(Blockchain),原本是分为区块(Block)和链(Chain)。

区块(Block)是记录一段时间内发生的交易和状态结果,主要记载了区块头、交易详情、交易计数器和区块大小等数据,是对当前账本状态的一次共识,如图2-3所示。

图2-3 区块内数据示意图

每个区块相当于账本中的一页,这些数据通过区块(Block)的文件永久记录在数字货币网络上。

● 区块头。包含上一区块头的哈希值(让区块按顺序链接在一起)、时间戳(该区块生产时间)、随机数(全网算力计算出的该区块的最终答案),以及难度系数。

● 交易详情。是每个区块链中的主要内容,包括每笔交易的转出方、转出方数字签名、收入方和金额。

● 交易计数器。显示每个区块中包含交易的数值。

● 区块大小。区块的体积。比特币目前的体积不超过1MB。

链(Chain)是由一个一个区块按照发生的时间顺序串联而成,是整个状态变化的日志记录,通过时间戳机制,保证区块按时间顺序链接成链。

“邮戳”是邮政系统标明邮件寄出或者收到的时间地点的盖章印记,时间戳类似邮戳,服务器给数据块加上时间标记,用于标识数据和时间的关系。时间戳服务器把当前数据块的哈希值打上时间戳后,发布到网络中。这就证明了在标记的时间刻度下,这个数据是存在的。每一个时间戳对应的数据块中,包括了前一个数据块的时间戳哈希值,于是这样可以形成数据链。

时间戳在区块链中扮演了公证人的角色。由Haber和Stornetta在1997年提出。这个用时间戳的方法来保证数字文件安全的协议,成为比特币区块链协议的原型。

2.1.3 分布式存储

区块链是运行在一个非安全环境中的分布式数据库,如图2-4所示。

图2-4 分布式存储和集中式存储示意图

非安全环境是指,无法确认所有节点的参与者是否存在恶意。为了保证系统稳定,不被参与的某个节点恶意攻击,因此需要通过密码学和共识机制来确保整个数据库在非安全的环境下也能稳定地运行。

在一个中心化的信息系统,采用的是从用户到中心服务器的网络架构,所有信息都需要经过中心服务器的确认。用户可修改存储在中央服务器的数据,而中央服务器会在用户接入系统前进行身份验证。例如,在登录QQ的过程中,需要输入自己的QQ账号和密码,中央服务器验证密码正确之后,才会让号码登录。

登录之后,用户可以修改自己在服务器的数据,比如修改自己的QQ昵称。在QQ好友之间的沟通,也会通过中央服务器来转达。如果中央服务器受到了攻击,或者中央服务器的操纵者故意作恶,那么就会影响到所有用户。

例如,著名的3Q大战中,腾讯宣布所有装有360软件的电脑停止QQ软件的运行,以至于当时所有装有360软件的电脑无法登录QQ。腾讯的服务器有条件地拒绝了部分用户的登录请求,导致这些用户无法使用自己在QQ上的任何数据。

区块链采用的分布式存储数据,所有信息都是在区块链系统中点对点(Peer to Peer)进行传播的,信息的传递没有中心处理器,实现了“没有中间商赚差价”的去中心化网络。而点对点(Peer to Peer 即P2P)技术起源于1997年,在2000年时技术基本成熟。

在P2P网络环境中,互相连接的计算机都处于对等的地位,无主从之分,一台计算机(节点)既可作为服务器,也可以作为工作站,信息实现了分布式存储。例如BT下载就是一种P2P传输,用户越多,下载速度越快。eMule电驴、酷狗等软件都采用P2P形式进行数据下载。所以说区块链是一个去中心化的系统。

在区块链系统中,区块链的数据库由散布在全球的各个节点进行更新和维护。所有节点都会参与新数据的录入过程。对于加入区块链的新数据,大多数节点必须达成一致才能成功写入。这种机制保证了数据的安全,让篡改内容变得非常困难,除非篡改者掌握了大多数节点和算力,才有可能篡改数据,这就是比特币的51%攻击原理。

算力是维系全网运转的力量。51%攻击就是当某一方掌握全网51%的算力时,可以篡改更新的数据结果。而绝大多数矿工,只会通过维护数据(挖矿)来获得收益,这是从人性角度出发的利益最大化的选择。目前,全网算力已经越来越高,单一的个人和组织越来越难以组织巨大的算力来对抗全世界的矿工。

那么,是什么让矿工能够通过维护数据来维持整个比特币系统呢?这就是共识机制。

2.1.4 共识机制

共识机制是区块链的灵魂。它就像区块链的宪法,维系着整个区块链世界的正常运转。

1997年发布的Hashcash(哈希现金),就用到了工作量证明机制(Proof of Work)。POW就是一种共识机制,比特币也采用了这种共识机制。

正如上一节提到的,区块链是放在一个非安全环境中的分布式数据库,信息通过P2P来传播。而由于点对点(P2P)网络存在较高的网络延迟,世界各地各个节点所观察到的数据的先后顺序不可能完全一致。为了避免有人故意在窗口时间发布大量错误的信息,产生数据分叉,就需要有人把所有人接收到的数据进行验证,最后公布最正确的信息。这是通过技术方式来避免故意作恶的机制设计。

这种验证机制,即对数据的先后顺序达成共识的算法,被称为“共识机制”。共识机制是让所有参与的节点,对所有新增的区块信息(如发行数字币)达成共识。

以什么样的方式进行验证?谁来主导验证?是目前各种共识机制的算法差异。现在有5种常见的共识机制。

● 第一种共识机制是工作量证明机制(Proof of Work)。

工作量证明机制POW,意思就是谁的工作量越多,收益就越大。这里的工作就是猜数字,谁能最快地猜出这个随机且唯一的数字,谁就能做信息公示人。这种机制的优点是算法简单,容易实现,而且节点间无需交换额外的信息即可达成共识。同时,在POW机制下,想破坏系统需要投入极大的算力成本,需要联合全网超过51%的算力才能篡改系统。比特币是这种共识机制的代表。

在这种共识机制下,谁的工作量在全网占比越多,获得收益的几率就越多。相当于谁拥有的算力越多,猜到的数字就会越多。在比特币发布初期,全网算力很少,所以个人电脑的算力就可以挖矿。2009年1月3日,中本聪在位于芬兰赫尔辛基的一个小型服务器上挖出了第一批50个比特币。

POW是久经考验的共识机制,是目前所有共识机制中运行最久的,是相对公平的共识机制。

不过大量的计算能力被用来猜数字,而维持计算需要消耗大量的电力。据统计,全球总电力至少有0.13%已经用来挖矿。比特币挖矿使用的电量,已经超过全世界159个国家的用电量。而且POW为了保证安全性,在交易确认的速度上,无法满足商业级的应用。

● 第二种共识机制是权益证明机制POS(Proof of Stake)。

它是将POW中的算力改为系统权益,拥有权益越大则成为下一个记账人的概率就越大。这种机制类似股权凭证和投票系统,因此也叫“股权证明算法”。POS机制是根据每个节点所占代币的比例和时间,等比例降低挖矿难度,从而加快挖矿的速度。由持有最多Token的人来公示最终信息。Token余额越多的人获得公示信息的概率越高,公示人也会得到一定的Token作为奖励。

POS相比POW,因为不是靠比拼算力,所以这种机制不会像POW机制那样费电。不过持有Token越多的人,所得到的Token会越来越多,持有Token越少的人会越来越少。形成了富人越富、穷人越穷的马太效应,这也有违区块链去中心化的设计理念。同时这种机制也容易产生分叉,多方确认的消耗时间过长。目前有很多数字货币用POW发行新币,用POS维护区块链网络安全。

DPOS共识机制是在POS的基础上进化而来的。

DPOS是将记账人的角色专业化,先通过权益来选出记账人,类似选出群众代表,然后记账人之间再轮流记账。通过大幅缩小参与验证和记账节点的数量可以达到秒级共识验证,商业化前景远大。

2018年上半年暴涨的明星币种EOS,就是采用DPOS记账机制。全球多家机构积极参与了“BP”,即“区块生产者节点”的登记与竞选,竞选21个主节点席位。EOS总量10亿个,每年增发的5%将被21个主节点平分,平均每个主节点每年能分配到238万个EOS。一个EOS按30~1000元价格区间计算,每个节点每年收益约8000万至23亿元人民币。

DPOS的不足之处是中心化太明显,毕竟全球仅有二十多个超级代表。所以,DPOS共识机制也在不断地进化,不断地寻找兼顾效率和安全的方式。

● 第三种共识机制是拜占庭共识算法(Practical Byzantine Fault Tolerance-PBFT)。

它与之前两种都不相同,PBFT以计算为基础,没有代币奖励。由链上所有人参与投票,少于(N-1)/3个节点反对时就获得公示信息的权利。这个机制的优点是共识效率高、容错性高,缺点是去中心化程度不高。当有1/3及以上的记账人停止工作后,系统将无法提供服务;当有1/3及以上的记账人联合作恶时,且其他所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉。

● 第4种共识机制是dBFT(delegated BFT)授权拜占庭容错算法。

这是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。此算法在PBFT基础上进行了改进:将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;将静态的共识参与节点改进为可动态进入、退出的动态共识参与节点;为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);以及在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。

这个机制的优点是:采用专业化的记账人;可以容忍任何类型的错误;记账由多人协同完成,每一个区块都有最终性,不会分叉;算法的可靠性有严格的数学证明。缺点是当有1/3及以上的记账人停止工作后,系统将无法提供服务。还有当有1/3及以上的记账人联合作恶,且其他所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉。

● 第5种共识机制是POOL验证池。

这种机制基于传统的分布式一致性技术,加上数据验证的机制。优点是不需要代币也可以工作,在成熟的分布式一致性算法的基础上,实现秒级共识验证。缺点是去中心化程度不高。更适合多方参与的多中心商业模式。

除了上述5种共识机制以外,还有DSC协议(动态权益共识协议)等,不同的算法有不同的优势和不足,现有的共识机制都不算完美,很难实现性能、安全和去中心化同时兼得。不过,在不同的应用场景,运用不同的共识机制,可以尽最大可能降低现有机制的缺憾。共识算法的进化脚步也从未停下。

2.1.5 新的数字革命

世界经济论坛创始人克劳斯·施瓦布(Klaus Schwab)说,自蒸汽机、电和计算机发明以来,我们又迎来了第4次工业革命——数字革命,而区块链技术就是第4次工业革命的成果。

● 非对称加密技术——1976年发布

● 工作量证明机制——1997年发布

● 区块链数据结构——1997年应用

● 分布式存储及P2P——2000年成熟

当理论基础和技术依据都已相继完善之后,区块链技术的诞生成为了偶然中的必然。作为区块链技术的第一个应用——比特币,从2008年发布至今已有10年,整个系统经受了时间的考验,也证明了区块链技术运行的可靠性。

当我们回头审视这些技术时,不难发现,在以比特币为代表的区块链系统中,为了信息保密,采用了非对称加密及哈希算法;为了提升达成共识的效率,采用了工作证明;为了保证记录不被篡改,采用了链式结构;为了补偿工作证明的花费,引入了挖矿奖励;为了系统的统一性,将数值和挖矿奖励统一为一种代币,而且以增发的形式发给矿工。

因此,当比特币替换成其他我们想要传递的数据时,全新的信息传递逻辑就此成立,进而诞生了全新的生产关系。区块链技术的潮流,必将像互联网一样,再次改造全世界。 bIqxrjCIpzLdoQcQqbl1Og9vyAsWM01r8CfZlwrxtNjbqHk11FzNarPCZ3UlBsze

点击中间区域
呼出菜单
上一章
目录
下一章
×