区块链最初起源于中本聪2008年提出的比特币,是比特币的核心技术和底层架构,它们相伴而生。区块链技术本质上是一个去中心化的数据库。
一、核心原理和概念
为了理解区块链核心原理,我们首先从拜占庭将军问题说起。传说很久以前,在现在的土耳其境内有一个富饶而强大的拜占庭帝国。在它周围有10个小国,这10个小国受到财富的诱惑准备一起攻打这个帝国。但是要起得成功,必须有6个小国在同一时间统一行动,否则将会被全部歼灭。不幸的是,这10个小国相互猜疑,任何一个国家都可能成为叛徒。那么问题来了,为了统一行动,如何保证信息传递的真实性和及时性。
拜占庭将军问题的实质是讨论在没有可信的第三方机构和可靠的信息传递渠道的情况下,如何让分散的节点建立信任关系,进行安全的信息交互而无需担心数据被篡改。
一个数学家设计了这样一套方案:让小国的将领们在收到它国发来的信息时署上自己的名字和日期。并将签名信息转发给除发给自己信息之外的其他国家。这样,传递的信息就是可以追溯来源的,将领们就很容易做出判断。
这个故事形象的说明了区块链的核心原理:构建前后关联且可相互验证的数据块,并通过时间戳将区块排列,结合密码学技术,形成集体维护、彼此验证、有序链接的网状价值传输系统。
关于区块链,我们还需要理解几个核心概念:
1、区块。所谓区块,是指用于存储数据信息的载体。区块按时间顺序排列,每一个区块记录着它在被创建期间发生的交易信息,所有区块有序链接起来以汇聚成一本“总账”。而每个区块可以看作总账中的一页。每个区块包含三个要素:本区块的ID;若干交易单;前一个区块的ID.
2、时间戳。所谓时间戳,是记录某一事件发生时点的信息。时间是有唯一性,所以加盖了时间戳的区块都是独一无二的。通过时间戳,所有区块有序链接起来,最后形成完整的链条。
3、散列算法。这是区块链中保证交易信息不被篡改的单向密码机制。区块链的散列值能够唯一而准确的标识一个区块。在验证区块的真实性时,只需要简单计算出这个区块的散列值,如果没有变化就意味着区块信息没被篡改。
4、公匙和私匙。公匙和私匙其实是一种不对称的加密方式。在区块链中,信息发送者用私匙信息进行签名,使用信息接收方的公匙对信息加密;信息接收方用信息发送者的公匙验证发送者的信息,使用私匙对加密信息解密。
二、区块链的功能特征
1.、去中心化。区块链上的数据发送、验证、存储等均基于分布式系统机构,而非第三方机构。任一节点的权利和义务均等,交易双方可以自证并直接交易,不需要第三方机构背书。同时,任何一个节点的损坏或者退出都不会影响整个系统的运行。
2、开放性。除了交易各方的稀有信息被加密外,区块链的数据对所有人公开,任何人都可以通过公开的借口查询区块链数据和开发相关应用。
3、自治性。区块链采用一致的规范和协议使得整个系统中的所有节点能够在去信任的环境中自由安全的交换数据。使得对人的信任改成对机器的信任,任何人为的干预将不起作用。
4、集体维护。区块链系统是由所有参与节点共同维护的系统。
5、不可篡改性。经过验证的信息上传至区块链后就会被系统永久存储,并得到所有参与节点的集体维护。除非能够同时控制系统中超过51%的节点,否则单个节点对数据的修改是无效的,因此,区块链的数据具有更高的稳定性和可靠性。
6、匿名性。区块链上的信任体系由程序和算法构建,交易双方无需验证现实中的身份信息。
7、可追溯性。在区块链上,每一个区块都会被加盖时间戳,时间戳为信息追溯找到了很好的路径。
8、智能性。区块链还具备可编程性,可承载智能合约等技术,可根据具体应用场景,实现智能化运行。
三、区块链的模型架构
区块链技术模型自下而上包括数据层、网络层、共识层、激励层、合约层和应用层。每一层分别具备一项核心功能,不同层级之间相互配合,共同构建一个去中心化的价值传输体系。
数据层:是区块链最底层的技术架构,应用了非对称加密技术,利用散列函数确保信息不被篡改,还采用了链式结构,时间戳技术、梅克尔树等技术对数据区块进行处理,让新旧区块相互链接和验证。
网络层:封装了P2P网络机制、传播和验证机制等技术。
共识层:封装了各类共识机制算法。目前成熟且得到广泛应用的有三种:即工作量证明机制(POW),权益证明机制(POS),股份授权证明机制(DPOS)。
激励层:包括发行机制和激励机制,让高度分散的节点能够自觉参与到系统的维护与建设中,让整个系统健康有序地发展。
合约层:由智能合约、共识算法、脚本代码等构成,是区块链可编程性的基础。
应用层:封装了区块链的各种应用场景和案例。