1.2 区块链的特性
区块链可以理解成一个将各个节点连成一个链条的分布式的公共账本,是一种点对点的记账系统,其中每一个节点都可以在区块链上面记录信息。其基本理念是通过建立一个基于网络的公共账本(数据区块),由网络中所有参与的用户共同在账本上记账,在该区块链网络中所有的数据都是公开透明的,且可被用于验证信息的有效性。这样,每一个区块包含了一组网络交易的信息,不需要信任中介就能在技术层面保证信息的真实性和不可篡改。
在区块链系统中,一个节点就是一个数据库(服务器)。任何一个节点都可以记账,而且直接连接另外一个节点(即点对点模式),中间无须第三方服务器。当其中两个节点发生交易时,这笔加密的交易会广播到其他所有节点(记账),目的是防止交易双方篡改交易信息。
区块链进行记账的示意图如图1-1所示。
图1-1 区块链记账示意图
打个比方,在一个100人的村子里,张三买了李四家一头牛,张三向李四支付1万元。普通的做法是,张三可以告知村里的会计赵六作为担保人(信任中介),将自己账下1万元转到李四账下。但在区块链的运行模式下,张三无须再通过总记账人—会计赵六,而是直接将自己账本上的1万元转到李四账本上;同时这笔交易信息也会同步传给全体村民(即整个区块链系统)。当村里的其他人知道并确认了这笔交易,交易才算最终完成。而且,因为这笔交易被加密处理,只有李四才能收到这1万元,而其他98人只能在账户记录中看到有这笔交易信息,但无法对这条交易记录做任何操作。此外系统可以完整记录交易过程,整个交易可以溯源。
假如张三把这1万元误转给了王五,因为交易被加密,王五在没有密钥的情况下无法得到这笔转款。另外,如果张三转完这1万元后又重复转给李四1万元,因为其他98人已经收到过相同信息(即张三已经转账给李四1万元了),便不会再次确认这条重复信息,这种情况下这笔交易便不会成立。还有一种情况,张三发起1万元转款后突然后悔,想私自把转的1万元改成100元,那么他需要将其他98人账户内的之前的交易信息都要由1万改成100元才可以,这实现起来相当困难。如果全网节点足够多(也就知道交易记录的人足够多),这样的修改需要极高成本(远高于交易成本),因而理论上这种修改是不能实现的。
在这一交易过程中,在不通过担保人(去中心化)作为中介的情况下,全村人共同构成一个点对点网络为村民之间的交易提供担保。
看到这里,相信大家对于区块链有了一定了解,上述例子就是一个区块链运作的过程。这个例子也初步揭示了区块链的特性。区块链的特性如图1-2所示。
图1-2 区块链的特性
1.匿名性/Anonymous
由于区块链各个节点之间的数据交换遵循固定的算法,其数据交互是无须信任中介的(区块链中的程序规则会自行判断数据是否有效),因此交易双方无须通过公开身份的方式让对方自己产生信任。
2.自治性/Autonomous
区块链技术试图通过构建一个可靠的自治网络系统,从根本上解决价值交换与转移中存在的欺诈和寻租现象。
在具体应用中,区块链采用基于协商一致的规范和协议(一套公开透明的算法),各个节点都要按照这个规范来操作,这样就使所有的工作都由机器完成,使得对人的信任改成了对机器的信任,任何人为的干预不起作用。
3.开放性/Openness
区块链系统是开放的,除了数据直接相关各方的私有信息通过非对称加密技术被加密外,区块链中的数据对所有节点公开,因此整个系统信息高度透明。
4.可追溯/Traceability
一个区块链系统通过区块数据结构存储了创世区块后的所有历史数据,区块链上的任意一条数据皆可通过链式结构追溯其本源。
5.不可篡改/Tamper Proof
一条交易信息添加至区块链后,就被区块链上的所有节点共同记录,并通过加密技术保证这条交易信息与其之前和之后加至区块链中的信息互相关联,从而对区块链中的某条记录进行篡改的难度与成本非常高。
6.集体维护/Collectively Maintain
区块链系统是由其中所有具有维护功能的节点共同维护,所有节点都可以通过公开的接口查询数据和开发应用。
7.无须许可/Permissionless
区块链系统中的所有节点都可以请求将任何交易添加到区块链中,但只有在所有用户都认为这条交易合法的情况下才可进行交易。
8.去中心化/Decentralization
去中心化,最早指互联网发展过程中形成的社会关系形态和内容产生形态,是相对于“中心化”而言的新型网络内容生产过程。
在区块链系统中,每笔交易信息都会被记录在每一个节点的账本中,而每新增一笔交易,所有节点也都能成为该笔交易的“检查站”,并且使用密码学原理检测其正确性。由此,即使没有交易中心,各种交易仍能安全运行。由于区块链系统中没有中心节点,不仅信息透明度大幅提升,更不会有中心节点出错全盘皆错的安全性问题。