区块链的核心概念和原理

  • 发布于 2019-11-21
  • 栏目:大数据
  • 来源:互联网
  • 840 人围观
  • 83 个不明物体

区块链本质上是在多个分布式节点间传递账本(价值/数据归属权)信息并通过一定的共识机制(公共/联盟)达成一致性,建立信任关系的技术。

  区块链从技术上讲其实就是一个数据库。这个是基本概念,就是保存了账本记录的软件。在传统技术领域,完全属于数据库技术的范畴。

  只是因为其附加别的包括金融属性在内的特征才变得更有意义。但是本质上讲,是数据库。所以很多区块链技术包括Libra都会说自己首先是一个数据库。

  我们用这个区块链的定义就可以广泛地去审视所有的区块链项目。首先看它是不是数据库,能不能承载交易数据。很多项目印一个大大金子做的比特币,就说自己是数字货币,区块链都是骗子。

  这样的概念在广大人民群众中90%是没有的,大部分都很盲目。所以需要首先在区块链的定义上正试听。

  区块链在定义的内涵之外,有三个概念的外延:

  1、可溯源、不可篡改:独特的遗传式链状数据结构从本质上保证数据不会被更改。数据块不会被以追溯方式更改以前的时间戳,一旦数据写入不可更改(无论现在发生什么,都不会影响以前发生过的事实)。而且这样的数据链均匀的分布在点对点的节点网络间。

  2、去中心化:区块链技术可以实现去中心的共识机制。公共账本所记录的事务(transaction)可以通过链上参与节点的多少人投票的方式校验并达成一致共识。

  3、信任机器:区块链技术是在彼此不信任的节点间建立信任关系的技术。超越数字货币,区块链是让完全没有信任机制的人民不需要通过集权方式的权威中心授权就可以建立信任并能高效协同达成一致。

  首先,可溯源和不可篡改,是由计算机技术保证的。独特的数据结构能保证,对于对计算机数据结构的朋友可以死记,有计算机技术可以保证不被篡改或者篡改会被抓住就可以了。

  对于有计算机背景知识的朋友可以看下面的图帮助理解。

  区块链底层通过使用哈希指针连接的数据链表。而这个哈希指针是数据加数据本身通过加密产生的特征值在特定的时间产生的唯一的指向下一个链接数据块。

  对于不了解计算机底层技术的朋友可以用这个例子来加深印象:在家族树里,有祖父,爸爸,儿子,孙子这样的结构。任何人想要取代你,必须家族上下全部都认可才可以,否则就会被家族判为欺诈而提出家族。

  我们看上面的图,中心化是左图,去中心化是右图。左图是所有的交易和信息交换都跟中心的计算机(服务器)请求并处理。而右图则是所有的计算机之间彼此点对点进行通讯传递信息。

  我们现在99%的计算机系统,政府、军队、银行、保险、产业都是左边的计算机模式,大部分都是中心化的。

  为什么需要右边的情况?假设我们需要建立一家“朝阳银行”,由于没有国家信任背书,或者大家都不太了解,几乎没有人愿意把钱存到这个“朝阳银行“里。

  所有的银行的账户体系都是中心化的账户体系,各自为政,大家都不相信”朝阳银行“。但是,如果我们采用分布式账本系统,假设北京市所有的银行都彼此共享账本,采用类似右边的计算机组网方式来同步账本,”朝阳银行“只要申请加入这个共享账本体系。存入”朝阳银行“的钱可以在所有的国有银行取出,这样人民就会”相信“这个”朝阳银行“。

  这样就是去中心化(分布式账本)技术给这个例子带来的神奇的效果,也就是说,这样的计算机技术其实是一个“信任机器”。

  这是完全中心化和完全去中心化的系统变换的一张图,而且会在没有完美的中心化和去中心化之前长期存在,这也就是我们传统所说的“分布式”。

  很多人纠结去中心化,其实是一个系统理想状体。也有人过分的“政治解读”去中心化也是没有意义的。本质上去中心化是一个容错机制,是一个信任机器。

信任机器的概念图

  所以我们说:区块链是信任机器,是在完全不信任节点间建立信任机制的技术,是价值网络ValueNetwork,是传递价值的互联网(InternetOfValue,IOV)。

  在上世界90年代互联网的诞生时,机器与机器之间通过HTTP,TIP/IP协议,彼此传递的是信息。今天的区块链,是机器与机器之间因为传递价值而建立起来的信任机器本质上是传递信任。

  区块链交换的是价值,是价值网络,是在不信任节点间建立信任关系,传递的是信任。

  很多人问我,区块链是下一个互联网,而我的理解是区块链意义大过互联网。他是人类社会从蒸汽机开始的工业革命以来从蒸汽机时代,从此进入了“信任机器时代”。超越工业革命和互联网,人类社会已经进入信任机器时代,这就是我们长期倡导并且孜孜以求的数字经济时代的基础动力。

  关于区块链的基本概念,需要大家记住一下的几点:

  1、区块链是分布式账本(数据库)技术。

  2、区块链数据不可篡改。

  3、区块链技术可以用去中心化的方式建立信任机器,如果进入这样的数字经济时代,我们现有99%以上的系统需要重建。包括政府、军队、银行、保险、金融机构等所有的系统。

  4、区块链标志着人类社会从此进入信任机器时代。

区块链核心技术原理

  刚才讲了区块链的基本概念还有震撼的颠覆能力,那到底是什么支撑这样神奇的信任机器呢?

  首先,这三个底层技术发挥了关键性的作用:

  1、数字加密哈希函数:意味着密码通过哈希函数加密后拿到的结果没有人可以反向计算出加密前的密码,但可以校对。

  2、哈希指针数据结构:保证哈希指针链接的数据链一旦产生不可更改。

  3、非对称数字签名:意味只有自己可以签名,任何人可校验但是又没有人能修改,移动或删除。

  这三个底层技术可总结为:加密数字货币技术“三板斧”—数字瞬间变货币。

  马可波罗来到中国感叹中国的纸币是用树皮(做成的纸)做的点金术。今天,在数字经济时代,这三个底层技术就是新时代的“点金术”。

  数字加密技术通过加密操作把信息和交易数据封装在不可修改的数据块中,严格安全加密的数据块在分布式的网络间传递数字货币和数字资产。

  那么,什么是哈希函数?

  本质上,哈希函数是一个独特的数学函数,它保证了这些加密属性。它具有以下几个特点:

  1、任意长度的任意字符串输入

  2、产生固定长度的输出

  3、可以有效的计算出结果

  4、抗密码碰撞

  5、具有隐蔽性

  6、可以迷宫遍历

哈希函数

哈希函数的数据结构

  为什么数据不会被篡改?

  如果攻击者篡改了区块链上的任何数据,篡改过的数据都无法产生正确的(唯一的)指向下一个数据块的哈希指针。就是篡改者把整个区块链的数据和指针,也因为不知道原始输入密码而无法产生第一个头指针,从而导致网络上所有的节点都会探测到这样的篡改企图。

比特币的数据结构

  Merkle树,所有的数据块按配对存储然后哈希指针存储在树结构上的父节点。父节点的哈希指针又再配对作为输入产生新的哈希指针作为父节点,这样一直到把所有叶节点的数据都能存储在这个树结构里。

  这里我要讲一个技术创新点和商业创新点,也是中国人瞬间造富的一个动人“故事”。

  就是比特币的扩容事件。在2017年当比特币扩容事件,原来比特币的代码里,存储交易记录的数据块的大小被中本聪定义时只有1M的大小。单个区块能容纳的交易数量有限,扩容的解决方案首当其中想到的就是增加区块大小。

  纽约共识提出隔离验证的方案加区块大小扩容成2M。比特大陆利用机会,鼓吹创新,提出不需要隔离验证扩容8M的方案。结果制造分叉出BitcoinCash,后来改名成BitcoinABC。结果2017年8月1日20:20开始挖矿分叉比特币,最高价格BCC差不多接近一万美金一枚。

  而这个创新点就是数据结构标注“Data”的那个数据块的大小1-8,瞬间造就比特大陆和吴忌寒的个人财富。

  我们来看看,真正的比特币长什么样。比特币不是一个金灿灿的大金币,而是下面一堆的256字节组成的类似的计算机0101010101的代码。

  上面可以通过区块链浏览器看到区块链的真实数据连接状态就是这个样子的。途中的区块链号101-102-103-104....这样链接着。

  第三个底层核心技术就是非对称数字签名。数学上是下面图表示。

  简单来说,对于非技术人员而言,就是任何事情,加密分两把钥匙,一把只用来加密和校验,另一把只用于加密和解密,最重要的地方就是校验和解密分开。这也导致了在未来数字经济社会里,我们的资产形态发生了变化。也就是,资产可以脱离中心服务器,撒遍全部网络空间。

  最后,区块链底层技术除了前面提到的“印钞术”三板斧之外,就是分布式共识机制。

  分布式共识的含义就是:所有节点同意全网校验过的交易记录。

  如果说印钞术三板斧决定了企业和个人都可以任意印钞,那共识机制就是把这些钞票拿去分发到市场上流通的过程,这就决定了很多区块链下面的形态和本质。就是,你如何让大家相信你印的钞票有“价值”。

  价值共识协议具有以下五个要素:

  1、谁维护(存储/交换)交易记录账本

  2、谁有权限决定一笔交易是合法的

  3、谁是初始数字资产的产生者

  4、谁可以修改系统规则

  5.数字资产交换谁怎么获利

  解决上面五个问题,数字货币印钞后就可以分发到一个市场或经济体了。如果这个经济体还没有对等对抗的技术,就可以形成货币战争“降维打击”。

  技术上的体现,区块链通过不同的分布式共识协议获得自己特有的去中心化结果。区块链通讯协议实现的去中心化通过五个逻辑来实现差异化。

  但是本质上,特别是在货币金融学领域,数字货币本质上讲是当前传统意义国家铸币权被通过开源软件无情的下放到数字经济企业和个人手中的一场运动,引发一场价值革命。类似我们开着一个时速200公里的汽车到宋代大街上一样,当没有交通规则的时候,汽车还可能撞死人,大部分没有见过的人还会认为这是妖魔鬼怪。

区块链的分类

  因为共识协议的不同,分类也不一样,去中心化和分布式共识机制–常见类型:公有链,私有链,联盟链和许可链。

  公有链:所有人可访问,完全去中心化,任何人任何时间都可以访问系统读数据确认交易并竞争交易记录修改权。

  私有链:严格限制的参与节点,指定的组织控制区块数据写权限。高效,高私密性,低成本减少被攻击的可能,很多大型的金融机构偏好这种类型。

  联盟链:由多家机构管理,管理机构运营的多个节点,只有这些特定节点可以有读写交易数据,数据在这些节点间传递,共同记账。

  许可链:每一个参与节点都必须得到许可,没有许可不可以访问系统。私有链和联盟链属于许可链,许可链上的可以不需要指令牌。

  当然也存在混合链,所有的节点根据情况有不同的许可和权限,(EnterpriseBlockchain就是一种)。

  下面,来看看这个共识机制的重要性和革命性。习近平总书记倡导的自主创新区块链技术大部分情况发生在这个环节,也就是共识算法和共识协议的创新。而且需要自主安全可信。

  假设有n个节点每个节点都有一个输入值,有些节点是存在故障或有意进行恶意攻击一个有效的分布式共识机制必须做到:

  1、价值共识是由所有的诚实节点做出的

  2、价值必须是由诚实节点产生

  正是因为比特币的这个共识,导致了比特币到今天为止依然的成功。为什么比特币共识机制有效?因为它成功的防止了如下几种攻击:

  1、StealingAsset

  要花掉币必须有所有权产生合法的交易记录。需要篡改持币人的数字签名。只要数字签名模式足够安全,外人无法通过篡改数字签名来盗窃数字资产(比特币)。

  2、DenialofServiceAttack

  如果Alice收到Bob签名并支付的数字货币而拒绝接受并将认可的数据块写入自己广播出去的区块链中,那Bob只需要稍微等一下,所有诚实的校验过Bob合法签名和支付的节点广播过来接受的数据块就可以确保支付被记录,广播和接受传递。

  3、DoubleSpendingAttack

  同一个币被同时花在两笔不同的交易中的时候,只有一个交易记录会被合法写入区块链中。比如如果Alice成功的将已经支付给Bob的货币在支付给自己,那它支付给Bob的交易记录就会通不过校验而添加不到再新一轮追加的数据块中,原支付就会成为孤链而被摒弃。

  比特币,超级账本、以太坊、职能合约,都是在飞速发展。以太坊Ethereum和超级账本Hyperledger是一个开源的区块链底层系统,

  提供各种API和接口快速开发区块链应用,另外还有R3(Corda)、Ripple等。以太坊Ethereum和超级账本Hyperledger都是是一个开源的区块链底层系统技术构架,就像安卓一样,提供了非常丰富的API和接口,让许多人在上面能够快速开发出各种区块链应用,而以太坊和超级账本很大的特色就是能够实现智能合约。另外还有银行联盟R3(Corda)、跨境资产转移Ripple。

  区块链为智能合约提供可信执行环境,智能合约为区块链扩展应用。智能合约一旦设立指定后,能够无需中介的参与自动执行,并且没有人可以阻止它的运行。而在以太坊和超级账本上的智能合约,能够控制区块链上各种数字资产进行复杂的操作。

作者:加拿大北美区块链基金会主席、著名OpenLibra项目Violas技术社区领袖、ibank.io和creditchain.org创始人、著名区块链核心技术专家和数据库技术专家覃文延

标签: