02 从比特币到区块链的进阶
中本聪的解决方案是这样的:
· 点对点通信:在将军们的通信过程中,A将军要给B将军下达一条命令,那么派出去的传令兵能准确地把命令传递给B将军。
· 节点传递的信息确定、可执行:所有节点对命令的解析和执行是一样的,这个命令必须是一个确定性的命令,不存在随机性。所有忠诚将军收到相同的命令后,执行这条命令得到的结果一定是相同的。
· 容错技术:如果命令是正确的,那么所有忠诚将军必须执行这条命令。忠诚将军需要判断接收到的命令是否正确。这个判断命令的方法是整个容错技术的核心。如果10位将军同时发起命令,各说各话,势必会造成系统的混乱。为此,中本聪增加了发送信息的成本——将军们将同时收到一道复杂的计算题,只有先解出答案的将军才能获得发起命令的权限。
· 数字签名:所有命令都有数字签名,不可伪造,但叛变者之间可能串通,会相互伪造签名。当某位将军发出“统一进攻”的消息后,其他将军收到发起者的消息必须通过非对称加密技术签名盖章,确认各自的身份。这种加密技术既可以保证信息的私密性、不可伪造性,又能让命令接收方确定发送方的身份,也就保证了将军们的行动一致。
中本聪把这个方案应用到了加密货币上,2008年发表了《比特币:一种点对点的电子现金系统》一文,又在2009年公开了其早期的源代码,比特币就这样诞生了。图2-1是关于比特币原理的示意图。
图2-1 比特币原理示意图
注:Tx代表交易信息。
若要探寻区块链的机制和原理,比特币永远是无法绕过的话题。区块链作为一种独立的技术出现,最早可以追溯到比特币系统。
“比特币白皮书”并没有直接提出“区块链”这一概念,但其解决交易记录真实有效且不可篡改的方案可以被看作区块链系统的雏形:客户端发起交易后向全网广播并等待确认,系统中的节点将若干待确认的交易和上一个区块的哈希值打包进一个区块中,并审查区块内交易的真实性以形成一个备选区块;随后试图找到一个随机数值(nonce)使得该候选区块的哈希值小于某一特定值,一旦找到该数值系统就会判定该区块合法,继而节点会向全网进行广播,而其他节点对该区块进行验证后如果公认该区块合法,那么该区块就会被添加到链上,进而该区块中的所有交易也自然被判定为有效。此后发生的交易则依此类推,不断地链在该区块之后,进而形成一个历史交易记录不断串联的账本链条。任何对链条上某一区块的改动将会导致该区块哈希值的变化,进而导致后续区块的哈希值变化,与原有账本产生出入,因此篡改难度极高。
在比特币系统中,区块通过计算获得信任,通过工作量证明(Proof of Work, PoW)防止信任成本过高、信息混乱局面的出现。比特币以上述方案为基础,由数千个分布式节点7×24小时不间断运行了10多年,迄今为止,未出现过重大的漏洞。
· 2009年,中本聪根据他的理论“挖”出了第一批比特币,共50枚。
· 2010年,第一个比特币钱包被存入了1万枚比特币,换了2个比萨。这是比特币的市场交易首秀。
· 2017年12月,比特币的价格一度逼近2万美元。
· 2019年4月,全球IT巨头思科公司(Cisco)预言:区块链的存储潜力将在2027年超过10万亿美元,占全球GDP的10%;全球著名咨询公司德勤(Deloitte)也在其名为“区块链资产服务的未来”的报告中指出:2025年区块链资产将占到全球GDP的10%左右;还有机构甚至预测:在未来20年内,区块链将存储全球一半的财富。
在传统的电子支付系统(如银行转账和第三方支付等)中,由银行或支付服务提供方来验证并记录系统中发生的交易,账本在中心机构手中,而比特币在人类历史上第一次实现了去中心化的电子货币发行和交易,即不需要一个中心化的第三方认证机构或账务管理系统对交易进行验证和记录,全网共同维护和更新一个相同的账本就可以了。
比特币的出现使电子货币系统从传统的“中心化账本+中介”模式向“公共账本+共识”模式的转变成为可能,而这种转变正是通过区块链技术实现的。
在典型的区块链系统中,数据以区块为单位产生和存储,并按照时间顺序连成链式数据结构,所有节点共同参与区块链系统的数据验证、存储和维护。
新区块的创建通常需要得到全网多数(数量取决于不同的共识机制)节点的确认,并向各节点广播以实现全网同步,之后不能更改或删除,从而实现了区块链对账本进行分布式记录的有效性。
在这种规则下,任何互不了解的人都可以通过加入一个公开透明的数据库,通过点对点的记账、数据传输、认证或者合约来达成信用共识,而不需要借助任何一个中间方。这个公开透明的数据库包括了过去所有的交易记录、历史数据及其他相关信息,所有信息都以分布式进行存储并透明可查,且以密码学协议的方式保证其不被非法篡改。因此,区块链的主要特性包括不可篡改、去中心化、共识机制和机密性(见图2-2)。
图2-2 区块链系统的四大特征
· 不可篡改
区块链的不可篡改特性旨在保证数据的稳定性和可靠性,降低数据被篡改的风险。区块链的本质是一种数字分布式账本(Distributed Ledger),它由一系列加密算法、存储技术、对等网络等构建而成,它以对等访问、不可篡改和可信的方式保证所记录交易的完整性、不可篡改性和真实性。区块链的区块是一种具备一定信任机制、可执行读取和写入操作的数据集,可以存储的是交易的确认、合约、存储、复制、安全等相关的信息。
多方写入,共同维护。多方仅指记账参与方,不包含使用区块链的客户端。记账参与方应当由多个利益不完全一致的实体组成。在不同的记账周期内,应由不同的参与方主导发起记账(轮换方式取决于不同的共识机制),而其他参与方将共同对主导方发起的记账信息进行验证。
区块链系统记录的账本处于允许所有参与者访问的状态,但是公开账本指的是访问权限的公开。为了验证区块链所记录信息的有效性,并不代表信息本身的公开,记账参与者必须有能力访问信息内容和账本历史,因此,区块链需要用到很多加密技术,以解决通过密文操作就能验证信息有效性的问题。
· 去中心化
去中心化特性是区块链分布式计算的自然结果,是以分布式计算的方式集体共享、维护数据体系,体系中每个节点的参与者都可以根据自己的需求在权限范围内直接获取信息,而不需要中间平台传递。区块链应当是一个不依赖于单一信任中心的系统,在处理仅涉及链内封闭系统中的数据时,区块链本身能够创造参与者之间的信任。但是在某些情况下,如身份管理场景,会不可避免地引入外部数据,并且这些数据需要可信第三方的信任背书,此时对于不同类型的数据,其信任背书应来源于不同的可信第三方,而非单一的信任中心。
· 共识机制
区块链的共识机制特性在假设多数区块链参与方是可信的前提下,通过多数参与方参与的共同验证过程达成共识,而实现区块链交易的真实性验证,可在很大程度上防止基于区块链应用的违约现象发生。
· 机密性
信息安全及密码学技术是整个信息系统的基石。区块链的机密性体现在:实际操作中大量使用了现代信息安全和密码学的技术成果。哈希算法、对称加密算法、非对称加密算法、同态加密算法、数字签名、数字证书、零知识证明等技术都是区块链应用中常见的。
从技术构成上看,加解密技术可以分为两大类:一类是对称加密,另一类是非对称加密。对称加密技术的加密密钥和解密密钥相同,而非对称加密技术的加密密钥和解密密钥不同,分别为公开密钥(Public key,简称为公钥)、私有密钥(Private key,简称为私钥)。公钥加密的数据只有对应的私钥可以解开,反之亦然。
区块链在全网传输过程中,都需要传输层安全协议(Transport Layer Security, TLS)加密通信技术来保证传输数据的安全性。TLS加密通信技术的工作原理是:通信双方利用非对称加密技术协商生成对称密钥,再以生成的对称密钥作为工作密钥,完成对数据的加解密。这种加密通信技术同时利用了非对称加密技术不需要双方共享密钥和对称加密技术运算速度快的优点,堪称非对称加密技术和对称加密技术的完美结合。
单纯的TLS加密通信技术仅能保证数据传输过程的机密性和完整性,但无法保障通信对端可信(因为可能存在中间人攻击)。因此,需要引入数字证书机制,来验证通信对端身份,进而保证对端公钥的正确性。数字证书一般由权威机构签发。通信的一端持有权威机构(Certifcation Authority, CA)认证的公钥,用来验证通信对端数字证书是否被自己信任(数字证书是否由自己颁发),并根据数字证书内容确认对端身份。在确认对端身份的情况下,取出对端数字证书中的公钥,完成非对称加密过程。
综上所述,脱胎于比特币技术的区块链是一项全新的技术,它提供了一种去中心化的、无须信任积累的信用构建范式。人们也逐渐意识到区块链技术可能极具应用前景,它不该也不会仅限于在电子货币转账中使用。