如何从技术角度理解区块链

前言:自中央政治局24日下午就区块链技术发展现状和趋势进行第十八次集体学习后,“区块链”引起了整个社会的关注。对于这一新兴技术,即使通过大量资料学习区块链技术的特性和细节,往往仍难以建立对区块链的高层次理解。因此,这也是本文的出发点,即从技术角度出发,为读者建立一个完整清晰的区块链技术认知框架。

区块链技术起源于2008年的比特币。传统意义上,区块链定义是:

一种去中心化的分布式账本数据库。去中心, 数据存储的每个节点都会同步复制整个账本,使得信息安全难以篡改。

这种传统方式是通过描述区块链的特性来进行定义的。但区块链是一系列技术的特定组合形式,仅靠特性并无法建立对区块链的真正认知。

换言之,分布式账本、去中心不是区块链的本质,难以篡改亦不是区块链的本质。事实上,随着技术发展,尤其是在许可区块链(注1)这一更具落地价值的区块链形式中,区块链技术包含更多内涵与外延。

区块链的本质是一个“和特定计算设备分离的“冯·诺伊曼架构”,是一个“可向第三方证明的可信计算范式”。

1936年艾伦·图灵提出了图灵机计算模型,而冯·诺伊曼在图灵机的基础上给出了工程上可以实现的冯·诺伊曼架构,开启了信息化时代的繁荣。

直到现在,所有信息处理系统,包括物联网,互联网,服务器,手机等都遵循这种架构设计,其基本原理始终是下图的结构。

如果我们用计算机体系结构的视角去看待区块链,区块链技术是一个冯·诺伊曼架构的延伸。在比特币中,“输入(Input)”是未定序未确认的比特币交易,“输出(Output)”是有序的经过确认的比特币交易,而“内存(Memory)”中则是比特币账本的状态。其“中央处理器(CPU)”执行的是编码在比特币节点软件中的交易逻辑。

而在如今发展中的更具落地性的许可区块链(注1)系统中,“输入”是任意的数据,其“中央处理器”执行“智能合约(注2)”中的任意事先指定的逻辑运算,产生“输出”并存储数据至“内存”。因此,区块链系统在计算机体系结构意义上,可实现与现有冯·诺伊曼架构相同的计算与存储能力。

但是,现有的冯·诺伊曼架构的计算系统,其计算过程始终在一个具有单一的控制方的固定的物理计算设备上完成。

可能是一个手机,一台电脑,甚至整个数据中心。只要做好黑客防范,这个系统的控制者可以相信这个计算系统。

然而,其他人却没有对系统信任的依据,也即系统的控制者无法用任何方式向第三方证明系统是可信的。

而这正是区块链所攻克的问题。区块链将冯·诺伊曼架构的计算架构进一步拓展,使其同特定的物理计算设备分离,这样才能从根本上避免计算过程被单一的控制方掌控,让所有人都可以信赖这个计算系统。

无论是工作量证明(PoW)、权益证明(PoS)或者拜占庭容错(BFT)等共识机制,上述计算过程的实际步骤都在不同的物理基础(节点)上完成。而不同共识算法的本质就是给出一个依次选择这些物理基础的方案,保证其公允,保证其安全。

同时在数据传递层面(提交输入,获取输出),藉由既有的点对点网络技术,使得通信没有唯一固定的接入点,不依赖特定的IP地址。

进而使得这个计算系统能够在所有人的监督下,可信地完成计算过程,很难被篡改,也很难被恶意阻止。

具体来讲,在区块链计算范式中,将是多方企业和机构,共同控制这个计算过程,这一步计算在一家公司的计算机上完成,下一步计算在另一家机构的计算机上完成,各方接力计算过程。

在这个过程中,任何一方,如果篡改计算逻辑,或者恶意修改数据,立刻会被下一个计算接力的公司发现,并且回滚到上一步正确的计算步骤。

这个一旦预设好计算逻辑和规则,没有任何一家公司可以篡改,也没有任何一家公司可以操纵这个计算过程。

此外,一种常见的误解是区块链等于完全透明公开。在比特币系统中,所有的数据都是公开的,但数据公开不等于身份公开,用户间进行的比特币交易行为无法与真实身份有效关联,这是隐私的第一重含义,但此种隐私在联盟链中往往是不需要的。

关于数据隐私,更具现实意义的第二重含义为:随着区块链技术的进一步发展,通过多通道,非对称加密,数据摘要与签名,零知识证明等技术的运用,如今区块链中存储的可以是不同形式的数据密文,从而在保证数据内容隐私性的前提下,数据在约定实体之间可以安全共享。

总体而言,区块链技术通过“和特定计算设备分离的“冯·诺伊曼架构”,实现了与现有信息基础设施同等的计算和存储能力。

通过特定计算设备分离,将计算过程交由“多实体共同完成”,构建“可向第三方证明的可信计算范式”。

在时间概念上讲,对过去,实现了数据的记录与不可篡改;对现在,实现了针对数据和计算过程的共识,从而实现了贯穿过去与未来的系统性信任构建。

因此,区块链技术是一种真实,安全,隐私,可信任的存储与计算的集成技术体系。

注 1:也称联盟链,不同于比特币等公链,是应用于实体企业和机构之间的区块形式。许可链(Permissioned Blockchain)是指参与到区块链系统中的每个节点都是经过许可的,未经许可的节点是不可以接入到系统中。许可链可以没有代币机制,即“无币区块链”。

注 2:“智能合约”可以理解为由程序语言编写,在区块链系统中执行的代码逻辑。

(作者:链博科技,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

微信号已复制,请打开微信添加咨询详情!
-->