区块链的去中心化是如何实现的?
去中心化的定义
在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统现象或结构,我们称之为去中心化。
——来自百度百科
区块链如何实现去中心化?
核心:解决身份,通信可控,以及账本完整性。
1.解决身份问题
解决身份问题: 非对称加密(ecc密码体系等)的引入,例如签名算法ecdsa等,保证身身份可以被无第三方的公开验证;
2.消息传递完整性
消息传递完整性: 散列算法例如sha2, hmac, keccak等 的引入,其高抗碰撞性保证了个人信息传递的完整性;
3.点对点通信
点对点通信: kad, gossip等p2p通信协议的引入,使得通信双方无需第三方参与,直接可以完成信息的传递;
4.共识技术
共识技术: 共识既要保证区块链出快的有序性,又要保证足够激励,让大家参与到网络中来 。较为著名的有POW(比拼算力),POS(
比拼财力)以及其他比拼某种资源的共识。
5.多副本冗余
多副本冗余: 在前面4点的基础上,使得各自都有一个账本记录了所有交易,谁都不依赖谁,谁也否定不了谁,终极体现去中心。
记录心得
去中心化就是共识机制,就是数据的一致性,分POW和POS,去中心化的关键是分布式账本,我们可以把这些分布式账本看成是分布在不同节点上的数据库,储存着比特币网络的交易记录,如何保证这些分布式账本的一致性就是最为核心的问题,区块链就是用密码学产生的数据块,通过块来记录区块链的每一次交易。