区块链基本概念

  • 格式:pdf
  • 大小:320.29 KB
  • 文档页数:4

区块链基本概念

作者:洪蜀宁 苏宁⾦融研究院⾼级研究员

什么是区块链?

近年来,区块链这个名词越来越频繁地进⼊公众视野,各⾏各业都在讨论它将怎样改变这个社会。

区块链最初发源于⾦融业,作为⾦融从业者,很有必要了解⼀下有关区块链的常识。如此,才能结合各⾃的业务实际去探索区块链的应⽤落地,也避

免⾃⼰被技术的发展所淘汰。本⽂试图从⾦融从业者的⾓度来介绍⼀下什么是区块链,区块链在⾦融业能发挥怎样的⽤途,尽可能回避技术细节。

区块链的基本概念

区块链(BlockChain)是⼀种IT技术,由中本聪(化名)在2008年作为⽐特币的底层技术⽽发明出来。⽐特币是区块链技术第⼀个应⽤,也是⽬前为⽌

最成功的应⽤。除⽐特币外,⽬前⽐较流⾏的区块链还有以太坊、超级账本等。

当前,根据区块链的性质和开放程度的不同,普遍形成的共识是:对所有开放的是“公有链”、针对单独个⼈和实体的是“私有链”,介于两者之间的

是“联盟链”;分类的核⼼在于,应⽤系统中存在的中⼼节点的数量。CCIDConsulting指出,⾦融区块链的应⽤或将以联盟链为主,原因在于公有链完

全⽆中⼼,不利于政府监管和保护隐私,⽽联盟链能够在⼆者之间寻找平衡点。

区块链这个词有两层含义:

狭义的区块链是⼀种数据结构,按照时间顺序将数据区块先后链接起来,并以密码学算法保证以这种⽅式存储的数据不可篡改和不可伪造,且可以⽅

便地进⾏验证;

⼴义的区块链技术则是指包括这种数据结构以及点对点(P2P)⽹络、共识机制、智能合约等⼀系列技术所构成的技术体系的总称,有时也被称为分

布式账本,虽然这⼆者之间还有⼀些细微的差别。通常我们所称的区块链指的是⼴义的概念。

那么,P2P⽹络、共识机制、智能合约这些⼜是什么呢?

P2P⽹络

P2P⽹络是⼀种计算机⽹络的组成⽅式,与常见的web⽹络不同,它是分散的、去中⼼化的。

Web⽹络是中⼼化的,每⼀个⽹站形成⼀个中⼼,我们普通⼈的电脑(⼿机)互相之间并不直接连接,⽽都是连到⽹站的服务器上。例如我们向朋友

发⼀条微信消息,消息数据⾸先被发往腾讯的服务器,在服务器上存储之后再发给朋友的⼿机。如果腾讯的服务器出现故障或者被⿊客攻击,那我们

就没法使⽤微信相互发消息了。

⽽P2P⽹络则不同,所有的电脑都是平等的,不需要中⼼服务器,互相之间都可以直接建⽴连接并发送数据。这样做的好处就是不⽤担⼼某个中⼼服

务器出现故障,整个⽹络⼏乎是坚不可摧的。P2P⽹络还有⼀个优势就是使⽤的⼈越多,⽹络越通畅,这⼀点是web⽹络做不到的。

P2P⽹络最早的应⽤是1999年由美国⼈Shawn Fanning发明的Napster,⽤于分享⾳乐;最著名也是使⽤最⼴泛的应⽤是BitTorrent(BT),⽤于在⽹上下载⽂件。

共识机制

由于P2P⽹络上所有⼈都是平等的,没有权威,这就带来⼀个困扰——怎么判断我收到的信息真实没有被伪造或篡改呢?

在传统的中⼼化⽹络⾥,是以中⼼权威发布的数据为准,⽐如银⾏跨⾏转账系统,⼀律以⼈民银⾏提供的数据为准,各⾏对账如果不符,只能⾃⼰调

账。这样做简便易⾏,但前提是所有参与者必须信任中⼼权威⽅,中⼼也不能出错,如果中⼼数据出错则所有参与者的数据全都错了。

在P2P⽹络⾥,没有这样的权威、受信赖的中⼼,但可以利⽤共识机制和区块链数据结构来确保所有参与者收到的数据都是完全⼀致的。

共识机制本质上是⼀种可编程的协议,如果所有参与者都严格按照同样的协议在区块链上⽣成数据,则每个⼈⽣成的区块链都是完全⼀样的;如果有

少数⼈违反共识协议,故意⽣成错误的数据,其他⼈可以⽴即发现,拒绝接受他的数据进⼊区块链,这样的结果就是错误的数据被整个⽹络抛弃,剩

下的都是⼤家⼀致认同的、正确的数据。

从这⾥可以看出,共识机制有⼀个很重要的前提,就是⼤多数⼈必须是诚实的。关于这⼀点不⽤过于担⼼,区块链通过激励机制和博弈论可以保证这

个前提是成⽴的。

这样的协议也称为共识算法,最著名的共识算法就是⽐特币采⽤的⼯作量证明算法(PoW),可以在数学上证明,当超过⼀半的参与者遵守共识机制

时,区块链是安全可靠的。

还有⼀些其他的共识机制,⽐如权益证明算法(PoS)、实⽤拜占庭容错算法(PBFT)等。这些共识机制各有利弊,⽐如⼯作量证明算法需要浪费

⼤量的算⼒,权益证明算法会导致贫富差距拉⼤,拜占庭容错算法不⽀持太多的参与者且要求2/3以上的参与者是诚实的。智能合约

智能合约的概念由尼克·萨博(Nick Szabo)在1995年⾸次提出。他指出,⼀个智能合约是⼀套以数字形式定义的承诺,包括合约参与⽅可以在上⾯

执⾏这些承诺的协议。

通俗地说,智能合约是⼀段计算机程序代码,代码事先规定好了两个或多个参与者之间的权利义务,这样的权利和义务往往不是⽴即执⾏、⽽是在将

来满⾜⼀系列条件时才执⾏,智能合约⼀旦开始执⾏就⽆法单⽅⾯退出。

智能合约与现实⽣活中的合同⽂本类似,只是智能合约是⼀个程序,是⾃动执⾏的,不需要律师和法官的介⼊。这是⼀个伟⼤的构想,但是以当时的

技术⽔平还⽆法实现,直到2008年才由中本聪在⽐特币区块链中实现了⼀个基本的智能合约形式。

在⽐特币区块链中进⾏转账,实际上就是执⾏了⼀个⾮常简单的智能合约,转账不是⽴即执⾏的,需要由矿⼯在⼀定时间(平均10分钟左右)内执⾏

这个智能合约,当执⾏成功时才会记录进⽐特币区块链,在这之前转账是不可撤销的。

⼀个简单的智能合约是这样的:“如果我提供了正确的签名,则将X个⽐特币转到某某地址。”更复杂⼀些的智能合约可能会是这样:“请在3天后将X个

⽐特币转到某某地址,如果在这之前我提供了某个特殊的签名,则不进⾏转账,将这X个⽐特币退还给我。”在以太坊等区块链中,还可以⽀持业务逻

辑⾮常复杂的智能合约,⽐如期权交易、资产多⽅托管等等。

总之,可以把区块链⽐作⼀个由许多会计师同时记账的账本,每个会计都以同样的会计准则、按时间顺序将他收到的所有交易凭证记录到各⾃的账本

上。⽽这些会计之间互不⾪属、相互监督,每隔⼀定时间(⽐如10分钟)就相互查账,如果发现有⼈违反会计准则就辞退掉,然后按照事先定好的规

则,从剩下的会计中选择⼀个做为最终结果(称为⼀个区块),其他⼈根据这个结果调整⾃⼰的账本,再继续记账,这个时点之前的账不允许再做调

整。这样就产⽣了⼀个“区块”,将区块按先后顺序排列起来形成⼀个完整的账本,就是区块链了。

区块链的价值

在《⾦融从业者需要了解的区块链常识:什么是区块链?》中,笔者对区块链的基本概念做了详细介绍,今天来着重解析:我们为什么需要区块链?

区块链可以为我们带来什么价值?下⽂将从⼋个⽅⾯进⾏阐述。

1、去中⼼化

去中⼼化(Decentralization)是区块链最根本的性质,也是区块链区别于其他分布式账本的最重要因素,尽管这⼀点还存有争议。

去中⼼化通常与中⼼化(Centralization)、分布式(Distributed)进⾏⽐较。以太坊创始⼈Vitalik Buterin在《去中⼼化的真正含义》⼀⽂中详细阐述

了去中⼼化的概念,从⽹络架构、治理体制、逻辑结构三个维度进⾏了分析,指出区块链在⽹络架构和治理体制上是去中⼼化的,没有⼈能控制它,

也没有⽹络中⼼点,但在逻辑上是中⼼化的,⼀个区块链系统所有的节点表现得像是⼀台计算机⼀样。这样的结构使得区块链具有很强的容错性、抗

攻击⼒和抗合谋能⼒,同时⼜能够提供确定性的服务。

普通的分布式系统与区块链很相像,但前者在治理体制上是中⼼化的。⼀个分布式系统如服务器集群,必须有⼀个控制中⼼,由控制中⼼来决定

分布式系统中每⼀台计算机的运⾏⽅式。⽽区块链是不需要这样的控制中⼼的,链上的每⼀台计算机都是平等的,区块链上的数据由链中所有具有维

护功能的节点共同维护。

有些好奇的读者肯定会问:什么样的系统是逻辑上去中⼼化的呢?我的答案是:莎⼠的作品,⼀万个⼈有⼀万个哈姆雷特。

2、防篡改

由于区块链采⽤了链式数据结构,如果某个节点篡改了⼀个区块的数据,该区块与前后区块之间的链接就会被打破,区块链就不再完整。根据共识机

制,这样被篡改的区块是⽆法被其他节点接受的,即⽆法进⼊区块链。由此可以看出,区块链上的历史数据是不可更改的。

即便在⼤多数节点共同违背共识机制的情况下,也就是所谓“51%攻击”时,攻击者也不能任意修改区块链的历史数据,可⾏的办法只有抹去之前

若⼲个区块的数据,然后重新⽣成新的区块链。⽽这样做的难度与被抹掉区块的个数相关,并且是呈指数增长的,对于⼀个设计良好的区块链来说,

基本上是不可能做到的。

3、去信任

去信任(Trustless)指的是在区块链中,⼀个节点⽆须信任任何其他节点,在假设其他节点都是不合作、不可信的前提下,最终仍可以根据共识

机制从区块链中获得可信的数据。

在传统的中⼼化系统中,每⼀个⽤户必须信任系统的中⼼节点,相信它不会作恶、不会篡改数据、不会窃取隐私,但这种信任往往是盲⽬的、不

可靠的。⽐如我们通过ATM把现⾦存进银⾏,前提是我们相信银⾏会如实记录这笔交易,将来我们取钱时银⾏不会赖账。如果银⾏的系统出现严重的

故障或数据被⾮法篡改,储户的存款就可能会不翼⽽飞,由于所有的数据都存储在银⾏系统中,储户甚⾄⽆法举证,损失⽆法挽回。

如果采⽤区块链来实现这个场景,存钱这个事件会存储在区块链上,⽹络上任意⼀个节点都可以查看并验证。由于区块链不可篡改的特性,这样的存

储是值得信任的。因此,区块链⼜被称为“创造信任的机器”,被誉为构成价值互联⽹的基⽯。

4、开放性 区块链的数据全部存储在每⼀个节点之中,除了交易各⽅的私⼈信息被加密存储外,区块链的数据对所有节点公开,任何⼈都可以通过公开接⼝

查询区块链数据,因此整个系统的信息保持⾼度透明,数据的完整性也易于验证。

同时由于采⽤了P2P⽹络,节点的加⼊和退出是⽐较⾃由和⽅便的。对于公有链来说,节点只要使⽤了包含正确的共识算法的软件,随时可以接

⼊区块链,⽆需批准;对联盟链和私有链,节点的加⼊需要⼀个批准过程,这个过程往往也是去中⼼化的。

另外,区块链软件通常是开源的,这是由其去信任特性所决定的。区块链的⽤户不需要信任软件开发者,开源软件本⾝就是值得信任的。

5、匿名性

由于节点之间进⾏数据交换⽆需互相信任,因此交易对⼿之间可以不⽤公开⾝份,在系统中的每个参与者都可以保持匿名。这种匿名性是区块链

共识机制带来的副作⽤,并不是必须的。在⾦融业务中,由于反洗钱等监管要求,在具体实现时往往会去除这种匿名性,并不影响它的其他特性。

6、隐私性

区块链数据结构⼴泛使⽤了数据加密技术,⼏乎涵盖了所有种类的加密算法,包括最新的加密理论(如盲签名、门限签名、同态加密、零知识证明

等)。综合采⽤这些加密算法,充分保障了区块链的安全性,同时也可以提供极强的隐私保护功能,不⽤担⼼存储在区块链上的隐私和关键数据泄露

的可能,同时也不妨碍为监管部门提供监管视图。

7、⾃动执⾏

区块链采⽤事先商定的智能合约代码,使整个系统中的所有节点能够在⽆需信任的环境下⾃动安全地交换数据并⾃动执⾏预定义的业务逻辑,⽆

需任何⼈为⼲预,资⾦结算以区块为单位⾃动进⾏,⽆需外部对账,可⽤来构造7×24运⾏的⾦融交易系统。

8、简化运维

在中⼼化的交易系统中,建设和维护⼀个⾼可⽤性的中⼼系统的成本很⾼。⽽区块链技术采⽤去中⼼化的模式,设备由各⽹络节点⾃⾏维护,对