在《金融从业者需要了解的区块链常识①:什么是区块链?》中,笔者对区块链的基本概念做了详细介绍,今天来着重解析:我们为什么需要区块链?区块链可以为我们带来什么价值?下文将从八个方面进行阐述。
1、去中心化
去中心化(Decentralization)是区块链最根本的性质,也是区块链区别于其他分布式账本的最重要因素,尽管这一点还存有争议。
去中心化通常与中心化(Centralization)、分布式(Distributed)进行比较。以太坊创始人Vitalik Buterin在《去中心化的真正含义》一文中详细阐述了去中心化的概念,从网络架构、治理体制、逻辑结构三个维度进行了分析,指出区块链在网络架构和治理体制上是去中心化的,没有人能控制它,也没有网络中心点,但在逻辑上是中心化的,一个区块链系统所有的节点表现得像是一台计算机一样。这样的结构使得区块链具有很强的容错性、抗攻击力和抗合谋能力,同时又能够提供确定性的服务。
普通的分布式系统与区块链很相像,但前者在治理体制上是中心化的。一个分布式系统如服务器集群,必须有一个控制中心,由控制中心来决定分布式系统中每一台计算机的运行方式。而区块链是不需要这样的控制中心的,链上的每一台计算机都是平等的,区块链上的数据由链中所有具有维护功能的节点共同维护。
有些好奇的读者肯定会问:什么样的系统是逻辑上去中心化的呢?我的答案是:莎士比亚的作品,一万个人有一万个哈姆雷特。
2、防篡改
由于区块链采用了链式数据结构,如果某个节点篡改了一个区块的数据,该区块与前后区块之间的链接就会被打破,区块链就不再完整。根据共识机制,这样被篡改的区块是无法被其他节点接受的,即无法进入区块链。由此可以看出,区块链上的历史数据是不可更改的。
即便在大多数节点共同违背共识机制的情况下,也就是所谓“51%攻击”时,攻击者也不能任意修改区块链的历史数据,可行的办法只有抹去之前若干个区块的数据,然后重新生成新的区块链。而这样做的难度与被抹掉区块的个数相关,并且是呈指数增长的,对于一个设计良好的区块链来说,基本上是不可能做到的。
3、去信任
去信任(Trustless)指的是在区块链中,一个节点无须信任任何其他节点,在假设其他节点都是不合作、不可信的前提下,最终仍可以根据共识机制从区块链中获得可信的数据。
在传统的中心化系统中,每一个用户必须信任系统的中心节点,相信它不会作恶、不会篡改数据、不会窃取隐私,但这种信任往往是盲目的、不可靠的。比如我们通过ATM把现金存进银行,前提是我们相信银行会如实记录这笔交易,将来我们取钱时银行不会赖账。如果银行的系统出现严重的故障或数据被非法篡改,储户的存款就可能会不翼而飞,由于所有的数据都存储在银行系统中,储户甚至无法举证,损失无法挽回。
如果采用区块链来实现这个场景,存钱这个事件会存储在区块链上,网络上任意一个节点都可以查看并验证。由于区块链不可篡改的特性,这样的存储是值得信任的。因此,区块链又被称为“创造信任的机器”,被誉为构成价值互联网的基石。
4、开放性
区块链的数据全部存储在每一个节点之中,除了交易各方的私人信息被加密存储外,区块链的数据对所有节点公开,任何人都可以通过公开接口查询区块链数据,因此整个系统的信息保持高度透明,数据的完整性也易于验证。
同时由于采用了P2P网络,节点的加入和退出是比较自由和方便的。对于公有链来说,节点只要使用了包含正确的共识算法的软件,随时可以接入区块链,无需批准;对联盟链和私有链,节点的加入需要一个批准过程,这个过程往往也是去中心化的。
另外,区块链软件通常是开源的,这是由其去信任特性所决定的。区块链的用户不需要信任软件开发者,开源软件本身就是值得信任的。