
Web 3.0会是由多种已有技术的集成创新,主要用于实现多方信任和高效协同。
这就要特别分析一下区块链的技术特征,一个成熟的区块链系统具备透明可信、防篡改可追溯、隐私安全保障以及系统高可靠四大特性。
1.透明可信
1)人人记账保证人人获取完整信息,从而实现信息透明
在去中心化的系统中,网络中的所有节点均是对等节点,大家平等地发送和接收网络中的消息。
所以,系统中的每个节点都可以完整观察系统中节点的全部行为,并将观察到的这些行为在各个节点进行记录,即维护本地账本,整个系统对于每个节点都具有透明性。
这与中心化的系统是不同的,中心化的系统中不同节点之间存在信息不对称的问题。
中心节点通常可以接收到更多信息,而且中心节点也通常被设计为具有绝对的话语权,这使得中心节点成为一个不透明的黑盒,而其可信性也只能藉由中心化系统之外的机制来保证。

2)节点间决策过程共同参与,共识保证可信性
区块链系统是典型的去中心化系统,网络中的所有交易对所有节点均是透明可见的,而交易的最终确认结果也由共识算法保证了在所有节点间的一致性。
所以整个系统对所有节点均是透明、公平的,系统中的信息具有可信性。
所谓共识,简单理解就是指大家都达成一致的意思。
其实在现实生活中,有很多需要达成共识的场景,比如投票选举,开会讨论,多方签订一份合作协议等。
而在区块链系统中,每个节点通过共识算法让自己的账本跟其他节点的账本保持一致。
2.防篡改可追溯
“防篡改”和“可追溯”可以被拆开来理解,现在很多区块链应用都利用了防篡改可追溯这一特性,使得区块链技术在物品溯源等方面得到了大量应用。
“防篡改”是指交易一旦在全网范围内经过验证并添加至区块链,就很难被修改或者抹除。
一方面,当前联盟链所使用的如PBFT类共识算法,从设计上保证了交易一旦写入即无法被篡改;
另一方面,以Po*作为共识算法的区块链系统的篡改难度及花费都是极大的。
若要对此类系统进行篡改,攻击者需要控制全系统超过51%的算力,且若攻击行为一旦发生,区块链网络虽然最终会接受攻击者计算的结果,但是攻击过程仍然会被全网见证,当人们发现这套区块链系统已经被控制以后便不再会相信和使用这套系统,这套系统也就失去了价值,攻击者为购买算力而投入的大量资金便无法收回,所以一个理智的个体不会进行这种类型的攻击。
在此需要说明的是,“防篡改”并不等于不允许编辑区块链系统上记录的内容,只是整个编辑的过程被以类似“日志”的形式完整记录了下来,且这个“日志”是不能被修改的。

“可追溯”是指区块链上发生的任意一笔交易都是有完整记录的,我们可以针对某一状态在区块链上追查与其相关的全部历史交易。
“防篡改”特性保证了写入到区块链上的交易很难被篡改,这为“可追溯”特性提供了保证。
3.隐私安全保障
区块链的去中心化特性决定了区块链的“去信任”特性:
由于区块链系统中的任意节点都包含了完整的区块校验逻辑,所以任意节点都不需要依赖其他节点完成区块链中交易的确认过程,也就是无需额外地信任其他节点。
“去信任”的特性使得节点之间不需要互相公开身份,因为任意节点都不需要根据其他节点的身份进行交易有效性的判断,这为区块链系统保护用户隐私提供了前提。

区块链系统中的用户通常以公私钥体系中的私钥作为唯一身份标识,用户只要拥有私钥即可参与区块链上的各类交易,至于谁持有该私钥则不是区块链所关注的事情,区块链也不会去记录这种匹配对应关系,所以区块链系统知道某个私钥的持有者在区块链上进行了哪些交易,但并不知晓这个持有者是谁,进而保护了用户隐私。
从另一个角度来看,快速发展的密码学为区块链中用户的隐私提供了更多保护方法。
同态加密、零知识证明等前沿技术可以让链上数据以加密形态存在,任何不相关的用户都无法从密文中读取到有用信息,而交易相关用户可以在设定权限范围内读取有效数据,这为用户隐私提供了更深层次的保障。
4.系统高可靠
区块链系统的高可靠体现在:
(1)每个节点对等地维护一个账本并参与整个系统的共识。
也就是说,如果其中某一个节点出故障了,整个系统能够正常运转,这就是为什么我们可以自由加入或者退出比特币系统网络,而整个系统依然工作正常;
(2)区块链系统支持拜占庭容错。
传统的分布式系统虽然也具有高可靠特性,但是通常只能容忍系统内的节点发生崩溃现象或者出现网络分区的问题,而系统一旦被攻克(甚至是只有一个节点被攻克),或者说修改了节点的消息处理逻辑,则整个系统都将无法正常工作。
通常,按照系统能够处理的异常行为可以将分布式系统分为崩溃容错(CrashFault Tolerance, CFT)系统和拜占庭容错(Byzantine Fault Tolerance, BFT)系统。
CFT系统顾名思义,就是指可以处理系统中节点发生崩溃(crash)错误的系统,
而BFT系统则是指可以处理系统中节点发生拜占庭(Byzantine)错误的系统。
拜占庭错误来自著名的拜占庭将军问题,现在通常是指系统中的节点行为不可控,可能存在崩溃、拒绝发送消息、发送异常消息或者发送对自己有利的消息(即恶意造假)等行为。
传统的分布式系统是典型的CFT系统,不能处理拜占庭错误,而区块链系统则是BFT系统,可以处理各类拜占庭错误。
区块链能够处理拜占庭错误的能力源自其共识算法,而每种共识算法也有其对应的应用场景(或者说错误模型,简单来说即是拜占庭节点的能力和比例)。
例如: PoW共识算法不能容忍系统中超过51%的算力协同进行拜占庭行为; PBFT共识算法则不能容忍超过总数1/3的节点发生拜占庭行为; Ripple共识算法不能容忍系统中超过1/5的节点存在拜占庭行为等。 |
因此,严格来说,区块链系统的可靠性也不是绝对的,只能说是在满足其错误模型要求的条件下,能够保证系统的可靠性。
然而由于区块链系统中,参与节点数目通常较多,其错误模型要求完全可以被满足,所以我们一般认为,区块链系统是具有高可靠性的。


