1.5 区块链的关键技术
1.5.1 P2P网络
区块链在网络结构上最大的特点是“去中心化”,采用P2P网络。P2P是一种分布式网络,对等节点(Peer)之间直接访问而无须经过中间实体,以达到共享计算机资源的目的,这些资源与服务包括信息交换、处理器时钟、缓存和磁盘空间等。在此网络中的参与者既是资源提供者(Server),又是资源获取者(Client)。P2P网络具有非中心化、可扩展性、健壮性、负载均衡等特点。P2P网络真正消除了中心服务节点的概念,使得网络上的节点沟通变得更直接,也更方便交互与共享。
图1-4给出了传统的集中式网络和P2P网络的示意图。在现实生活中,依靠集中式网络的管理模式非常常见,购物要通过网上商城,转账要通过银行,房屋过户要通过房屋中介,支付交易要通过支付平台,打车要通过约车软件。这些第三方机构或服务平台作为中心节点记录着交易双方的账目信息和交易数据,也充当着“信任中介”的角色。在这种集中式数据管理模式中,除中心节点外的所有节点都不具有存储交易信息的能力。
图1-4 传统的集中式网络和P2P网络
区块链技术的出现,将替代“中心节点”,采用P2P网络结构,通过各个节点共同参与记账来保障账目信息的公开透明,并且有效地解决了交易双方的信任问题。在P2P网络中,节点之间直接交换信息,发生交易,消除了第三方机构,这种方式更适合现实中人们交流和沟通的方式。
区块链虽然通过P2P网络,替代了传统的第三方机构或信任中介,有效地解决了交易双方的信任问题,但是在P2P网络中,区块链交易是通过节点之间大量的计算建立信任的,多个节点共同确认而达成,分布式节点计算效率和节点之间确认达成共识的时间是制约区块链发展的一个重要问题。
另外,在区块链网络中,节点都需要存储区块数据,节点数据高度冗余,通过各个节点对账本的一致性比对来验证账本的有效性。目前比特币区块链已生成40多万个区块,约60GB的数据。随着时间推移,交易节点的数据存储容量还会不断增加,这为节点数据存储管理、数据的一致性维护带来一定难度。
1.5.2 加密技术
2018年3月,日本最大的比特币交易所Coincheck遭到黑客攻击,价值5.3亿的比特币被盗。人们对比特币区块链的安全性再次提出质疑。比特币系统受到攻击与区块链技术的不可篡改性并不矛盾。其实,比特币区块链从技术层面来讲本身机制是安全的,不安全的是数字加密技术。因此,区块链技术的发展和应用实施,数字加密技术是关键。一旦加密方法被攻破,区块链的不可篡改性将受到挑战。
加密算法分为对称加密算法和非对称加密算法,在区块链中主要应用非对称加密算法。非对称加密技术在区块链的应用场景主要包括信息加密、数字签名和登录认证等。然而,现有的非对称加密机制也将随着计算技术的发展存在被破解的可能性,这也是区块链技术面临的潜在安全威胁。
1.5.3 共识机制
共识机制是节点之间达成共识所使用的方法,是维护区块链正常运行的法则法规。在传统的集中式应用场景中,通过中心节点达成共识,而区块链的共识机制解决了区块链在分布式环境中达成一致的问题。区块链的共识机制有:工作量证明PoW、权益证明PoS、股份授权证明DPoS和Pool验证池。每种共识机制都有其优缺点,例如,PoW依靠节点贡献的算力达成共识,节点通过互相的算力竞争求解数学问题,在整个区块链中,只有获得记账权的节点会获得奖励,其他节点的算力竞争都是无用的,浪费了大量的计算资源和电力资源。如何在分布式环境中将节点耗费的资源用来解决有意义的实际问题是区块链需要解决的问题,研究和设计更安全高效的共识机制也是区块链技术有待解决的问题。