区块链在本质上是一种分布式的存储系统,由于其采用了交易记账式的存储模型,也可以称其为分布式记账系统。
下面讲一下区块链技术的功能特征:
1、去中心化
在传统的平台技术中,中心决策是非常常见的一种数据处理方式,例如银行传统的转账方式中,交易信息要经过银行的中心服务器集群进行处理,通过层层的数据上传和指令分发完成两个账户间的交易。而区块链中的每笔交易都是交易人双方直接进行沟通和交易的,从发起交易到交易完成确认,不经过任何中介机构,所有节点都是平等的,具有完全相同的权限,这种在网络中点对点交易的模式,使区块链应用免于中介交易的风险。
需要注意的是,区块链虽然经常被称为分布式账本,甚至其本质就是一种分布式的存储系统,但区块链与常规的分布式系统不同,它的分布式结构更加特殊。分布式是与中心化相对应的一个概念,中心化结构中的所有分节点都只与中心节点进行数据交互,相互之间没有任何联系,因此中心节点需要承担全部的负载,一个中心化系统的效率基本只与中心节点的处理速度相关,同时一旦中心节点出现阻塞、死锁、宕机等问题,整个中心化系统就会随之停滞运行甚至直接崩溃。而分布式结构中的特点则是存在多个可以与其他节点的进行数据交互的节点,分布式网络存储技术则是将数据分散的存储于多台独立的机器设备上。这听起来有些拗口,但如果对其基于中心化特点进行分类描述就容易理解了,分布式结构包括了多中心化结构与去中心化结构。
多中心化系统是指由多个中心化系统构成的系统,其中每一个中心化系统都包括一个主节点和若干个从节点。在进行任务处理时,由主节点将任务拆解为多个分任务,并分别下发至其下属的多个从节点同时进行处理。从节点将处理结果回传至主节点后,主节点将对各个分任务的处理结果进行整合,最终完成任务。当然这只是一个简化的任务处理描述,多中心化系统可能存在多层主从结构,形成树状的任务分配结构。同时,从节点还可能听命于多个主节点的调配,基于复杂的任务管理机制,实现效率最大化。但多中心化与去中心的根本区别在于是否有一个中心节点控制着各个主节点的运行,如果最顶层的节点是多个节点,那么它就是去中心化,相反,如果顶层只有一个节点,它就是多中心化的。
在去中心化里,还有更为特殊的一种不存在任何中心的结构,可以称其为完全去中心化结构,这也就是点对点网络结构,这种结构在比特币网络中就有所体现。点对点网络结构的相对优点是高容错、节点拓展性强、隐私性强和数据一致等,但相应也存在冗余通信、消息延迟等问题。
一般区块链领域内强调的”去中心化”,大多指的是系统的归属层面。系统归于社区和所有账户是去中心化的,系统归于机构甚至某个人则是中心化的。去中心化是区块链的共同特征,但点对点网络这种完全去中心化结构却在当前的应用较少,只有比特币、以太坊等公有链属于这种结构,因为全世界任何人都可以随时进入到系统中进行读取数据、发送可确认交易、竞争记账行为,这导致了其安全性和系统效率不能得到保障。私有链往往具有一个或多个中心对节点进行管控,所有操作均需得到该中心的许可并受其约束和限制,虽然其进行常规数据处理时采用去中心化的机制,但它在严格意义只是一种分布式的区块链部署模型。而联盟链则可被视为私有链的集合,是公有链在安全性与高效性上的妥协,它采用了多中心的技术架构。
2、去信任化
区块链由于具有不可篡改的天然特点,基于共识算法保证数据一致,系统中的任何节点都无法篡改和伪造交易,所有交易内容都是确定的、没有争议的,交易将不存在信用风险,那么区块链系统也就具备了去信任化特征。
基于区块中承载内容由交易到智能合约的变化,区块链的去信任化有两个阶段,第一阶段是对区块链网络中历史交易行为真实性的信任,第二阶段是以智能合约规则为基础,对未来交易行为的信任。
第一阶段对历史行为真实性的信任,可以简单理解为区块链系统免除了证明历史交易的过程。当我们向别人说明某事曾经发生过时,需要有证据才能让别人相信,而这个证据往往需要一个有公信力的第三机构来证明,并通过验真手段提供信用保证。例如进行网络购物时购物平台提供的电子交易单是证据、在外用餐时餐厅提供的税务局发票是证据、或者在使用夫妻身份购房时机构提供的结婚证是证据。而在接受这些信息的人也需要对这些证据验真才能确信这些事确实是发生过的,与前文对应的,在出现网络购物纠纷时,需要查询购物平台的电子交易单是否真实存在;进行餐费报销时,需要对发票的签章进行核验;确认两人夫妻身份时,需要对结婚证的防伪标志进行核验。但区块链系统的数据被认为是不可篡改和伪造的,因此只要是向链上的其他节点说明一件历史发生的事就不需要任何第三方证明,因为数据块上的信息随时可以被拿出来直接考证,这便形成了区块链的历史交易去信任化。
第二阶段对未来交易行为的信任,因为在理想的状态下,区块链的智能合约是与业务绑定的,即智能合约在区块链系统中具备强制执行力。因为智能代码是完全公开的,且被记录在主链中被所有账户所储存。在智能合约被调用或是被某一机制触发后交易将被强制执行等操作,不存在抵赖的可能性。因此在区块链系统中的用户不必担心对方在未来的信用风险,这边形成了对未来交易去信任化。
3、开放可追溯
在公有链中,每一个节点的账本都完整记录了所有交易,区块链不直接进行账户信息的实时记录,而是通过交易追溯的方式得出账户实时信息,同时由于任何人都可以创建区块链账户以形成区块链节点,那么公有链中的信息可以被认为是对所有人公开的,这就形成了区块链的开放与可追溯特征。且因公有链的代码往往是开源的,那么开放可追溯的不仅是系统中的交易数据,还有整个系统的交易规则,高度的公开透明化使区块链满足了许多需要公开数据的应用场景。
不过区块链基于比特币网络的基础上还发展出多种变体,例如比轻节点,以及私有链与联盟链等,这些变体不能满足严格意义上的开放可追溯。轻节点只能执行和验证交易,没有全部的交易数据可供回溯,因此轻节点不具备可追溯性。不过这一问题只是在于用户的选择,如果具备足够好的硬件环境,用户完全可以选择成为一个全节点而非轻节点,以便掌握全部数据。另外,加入私有链与联盟链是需要准入许可或者被验证的,读取权限是有选择性地对外开放,并非对全网公开,这也就不满足严格意义上的开放性。