区块链作为新一代信息技术,已逐步从金融领域延伸到实体领域,包括政务数据共享、征信、医疗、教育、电子信息存证、版权管理和交易、产品溯源、数字资产交易、物联网、智能制造、供应链管理等领域,正在迅速成为驱动各行业技术产品创新和产业变革的重要力量。我们将从区块链的起源开始,挖掘区块链的底层架构,剖析区块链的重要技术。
▍诞生背景
人类社会交易是个体或组织的价值创造、价值交换与价值记录的过程。在这个过程中,所有环节的“可信”是有效社会交易活动的前提与基础,信任是确保人类社会交易甚至生产关系得以维系发展的核心要素。
第三方信任是当前人类社会的主流信任服务模式,构成了现代社会经济活动的基础框架,但第三方信任体系仍有其局限性,主要表现在构建成本高昂和信任风险广泛存在。区块链作为一种创新的只依赖于软件算法与机器系统的无中介陌生人信任服务体系进入了学术界和产业界的视野。
2008年10月31日,中本聪在其发表的比特币系统技术白皮书《比特币:一种点对点的电子现金系统》中,提出了一种基于无中介陌生人信任服务体系的分布式账本技术的数字加密货币系统方案,并对这种用于记录交易账本的数据结构取名为“区块链”。
2009年1月3日第一个序号为0的“创世区块”诞生,2009年1月9日出现序号为1的区块,并与序号为0的“创世区块”相连接形成了链,标志着区块链的诞生。因此,目前普遍认为区块链技术最早起源于比特币开源项目。
比特币系统通过区块链在一个由陌生主体构成的开放网络中,生成和维护统一、可信的分布式账本的技术方案,用事实证明构建一个基于区块链的无中介开放信任服务体系,不仅在理论上可行,在实践上也是可行的。
▍基本理解
区块链就是互联网的一部分,它是集合了密码学、分布式存储、智能合约、共识算法等多种新型技术的数据传输方式,并对现有的互联网进行了升级和创新。
区块链本质上是一个不可篡改的数据库,在数据上传的过程中,数据会被打包在一起形成一个个数据块。就像工厂将水果打包到玻璃瓶,生产水果罐头一样,被打包好的数据块称为区块。将每个罐头也就是区块按照时间顺序连接在一起,就形成了链式的网络。因为整个网络是由区块和链构成的,所以我们叫做区块链。在数据结构中,链是由多个节点相互连接构成的一种最基本的数据结构。区块链从字面上理解就是由多个记录数据的区块构成的链式数据。
区块链的运行原理就是人们在互联网中达成共识彼此信任的过程,区块链的实质是一个人人都可以参与记账的大账本。每个人还有一个小账本,可以将大账本里的全部数据备份下来。当一笔交易数据产生后,会有人将这笔数据进行处理,然后同步到每个人的小账本中,交给大家进行确认。当大部分的人认为这笔数据真实可信的时候,这笔数据才会记录到整个区块链网络的账本中,所有人再去同步更新新的数据。好处在于解决了信任问题,像我们平时社交、购物,数据都是掌握在中心化巨头手中,数据很容易泄露或者被篡改。但是在区块链世界中,一旦有人想要修改数据,就会跟其他人手中的小账本产生冲突,很快就会被人发现。
一般来说如果你想要修改数据达成共识,至少需要控制全网50%以上的节点,这是不可能办到的事情,从而保证了数据的安全性和信任问题。区块链运行原理就是一个大家共同记账、互相验证、达成共识的过程。
▍区块链特点
1、去/弱中心化
区块链不依赖中心化或第三方管理机构及硬件设施,去除或弱化中心管理,通过P2P网络构建分布式的结构体系和开源协议,让所有的节点都参与数据的记录和验证,再通过分布式传播发送给各个节点,即使部分节点受到攻击或者发生故障,也不会影响整个分布式账本数据的一致性和完整性,各个节点实现了信息自我验证、传递和管理。去/弱中心化是区块链最突出最本质的特点。
2、数据不可篡改
信息一旦经过验证并添加到区块链,就会被永久地存储起来,在系统任何节点上对数据的修改都是无效的,除非有人能同时控制超过半数以上的系统节点,但是区块链系统的节点是由多方公共维护的,要控制超过半数以上的节点,需要付出的代价可能远远大于篡改数据获得的收益。
3、数字价值唯一性
在信息世界中,最基本单元是比特,数字比特序列是可复制,但是数字价值不能被复制,数字价值必须是唯一的。
4、智能合约
区块链通过可编程的智能合约,让机器系统自动执行双方所达成的契约或一些无法预见的交易模式,排除了传统交易过程中人为单方不完全履约或毁约等干扰因素,从制度上确保合约的全面执行,防止任何一方的抵赖。
5、开放性
区块链技术基础是开源的,除了对交易各方的私有信息进行加密外,区块链数据对所有人公开,任何人都能通过公开的接口,对区块链数据进行查询,并能开发相关应用,整个系统的信息高度透明。
6、去信任
传统的互联网应用系统是通过可信任的中央服务器节点或者第三方信任平台(如微信)进行信息的匹配验证和信任积累。
区块链基于自身去/弱中心化、数据不可篡改、数字价值唯一性等特性,系统所有节点都能在去信任的环境中自由安全地交换数据,交易各方不用通过公开身份的方式让对方对自己产生信任,让“人”的信任改变为对机器系统与公开算法的信任,更有利于由陌生主体构成的开放网络环境中信用的积累。
▍区块链类型
1、公有链
公有链中的“公有”就是任何人都可以参与区块链数据的维护和读取,数据完全开放透明。公有链即区块链共识建立的范围是面向全社会,公共账本及软件代码完全公开,任何个体与组织均可在赞同公有链相关共识机制的条件下,自由参与公有链网络的建设与运营,参与区块数据的产生、传播与维护,以及各类区块链应用的开发、部署与服务运营。
公有链由于完全开放,参与主体众多,特别是对具有应用开发支持能力,即支持智能合约的区块链而言,就具备了围绕相关主题,构建自治、闭环生态系统的能力,这对打破垄断型的互联网生态系统而言,具有特别重大的意义。
目前全球最有影响力的公有链是比特币和以太坊系统。例如比特币系统,使用者只需下载相应的客户端,就可以创建钱包地址、转账交易、参与挖矿,这些都是免费开放的。
2、联盟链
联盟链即区块链共识建立的范围及公共账本的公开对象为有限主体,如行业联盟成员之间,联盟成员平等参与区块链网络构建、公共账本创建与维护。联盟链使参与主体的共识边界由原来主体私有范围扩展至整个联盟范围,由于共识边界扩大,联盟成员之间具有了共同的信任基础——联盟链公共账本,因而联盟链成员之间在无须第三方中介参与的条件下,相互的价值交换效率将获得极大的提升。
联盟链通常应用在多个互相已知身份的组织之间构建,比如多个银行之间的支付结算、多个企业之间的物流供应链管理、政府部门之间的数据共享等。因此,联盟链系统一般都需要严格的身份认证和权限管理,节点的数量在一定时间段内也是确定的,适合处理组织间需要达成共识的业务。区块链典型的联盟链代表技术是开源的超级账本系统。
3、私有链
私有链与公有链是相对的概念,所谓私有就是指不对外开放,仅仅在组织内部使用。私有链即区块链共识建立的范围及公共账本的公开对象为单一主体,单一主体对区块链的网络运行及数据处理、交换与存储具有全部权利。显然,除了利用区块链的技术特性来增强数据的安全性与网络运行的可靠性外,私有链应用与传统的中心化技术相较并无特别优势,反而由于区块链技术自身固有的一些性能弱点,如同步时延较大、高并发处理能力不强等,使私有链的应用场景受到限制。
私有链也可以看作是联盟链的一种特殊形态,即联盟中只有一个成员,比如企业内部的票据管理、账务审计、供应链管理,或者政府部门内部管理系统等。私有链通常具备完善的权限管理体系,要求使用者提交身份认证。