区块链技术简介

随着比特币、以太坊等数字货币的暴涨, 数字货币的底层技术, 区块链技术 ,开始进入大众的视野。姚劲波说:区块链有可能和互联网一样伟大。区块链技术比传统互联网技术好在哪里?它的实现原理优是什么呢?笔者希望通过本文,解答大家心中的疑问。

信任问题

信息在互联网上的复制和传播成本近乎为零,这让大家可以很轻易地发布和获取信息。但是资产和信息是不一样的,资产本应是不应该被随意复制的。如果人民币可以被随意复制,那么人人都是亿万富翁了 :-)。

现在的互联网和金融技术,通过搭建中心化服务器,解决了资产传播的问题,但是成本居高不下。原因在于,当今的金融市场是建立在不同的服务提供商组成的庞大网络上的。在这个庞大的网络中,存在着各种互相孤立的数据系统及运作体系,这极大地影响了金融市场效率的进一步提升。在 2012 年欧洲央行的一份报告中,估计除了每个人都支付的直接费用外,间接成本高达 GDP 的 1%,大概每年 1300 亿欧元。在世界银行的报告中,跨国汇款的成本接近 8%。[1]

金融机构之间不能够无条件地信任对方,造成了金融领域数据孤岛的现象,进而导致了数字资产在互联网上流通成本居高不下。如果金融机构能够相互信任,那么所有的资产数据就可以在互联网上自由流通了,也就不存在数据孤岛的现象了,进而降低数字资产的流通费用。从道德上对信用的呼吁很难落到实处,有没有解决信任问题的技术手段呢?区块链技术的出现为解决信任问题带来了一丝曙光。现在区块链技术正在,除金融领域外的更多领域中进行应用,解决着这些领域内的信任问题。

信任机器

利用区块链技术,可以创造出一种信任机器[2]。 比特币系统就是 基于区块链的记账机器; 以太坊就是 基于区块链的智能合约机器等等。而 信任秘诀在于区块链的加密、公开且不可篡改的特性 :

加密

区块链技术是以密码学和数学为基础的,这是信任的根本。包括,椭圆曲线数字签名算法、非对称加密、哈希函数、梅克尔树等等。这些算法是密码学、数学上公认的穷宇宙之力都难以破解的算法。区块链上的数据是公开的,但这并不意味着你的秘密,可以被任何人知晓。利用这些加密算法可以保障你的数字权益,比如你的上网隐私,你的网络文章的所有权,还有你的数字钱包里的 Token。

公开

公开是赢得信任的最好手段。基于区块链技术的系统的规则(程序)和数据都是公开的。任何参与方 都 可以通过运行区块链 的 程序的方式加入进来,进而对数据进行验证。从程序可靠性的角度出发,信任既可以建立在一个黑盒程序之上,又可以建立在一个开源的程序之上。从交易双方的角度看,信任既可以建立在一个值得被信赖的第三方之上,又可以建立在自己亲自验证的基础之上。 在自己能验证,也能依靠第三方进行验证情况下,自己验证更可靠 ;如果自己不能验证,那就只能选择一个值得被信赖的第三方。区块链提供了一个更公开、更透明且 能够自己亲自验证 的机制,因此基于区块链技术的系统比黑盒和第三方更容易赢得大家的信任。

不可篡改

区块链技术不可篡改的特性,是数字资产不可复制的基础。技术上来说,我们可以对任何的数据进行:增、删、改、查。但是在基于区块链技术的系统上,删、改的操作的可行性几乎为零。

核心原理

加密技术是在区块链出现之前已有的技术,本文不详细展开。区块链的最大创新,在于公开且不可篡改。本文接下来会剖析区块链的核心原理,帮助大家理解为什么它是公开且不可篡改的。

状态机

我们先从最简单的区块链记账机器开始,比如以太坊系统(比特币系统的原理稍微绕一些,但本质一样),实际上就是多个节点维护同 一个 账本。记账机器会在账本上记录每笔交易的信息。通过 初始时各个账户的余额和 已记录的信息,就可以推断出任意时刻的各个账户的余额。 也就是说区块链记账机器完成记账功能的基本原理是:状态机 [3]。举个例子:在 state1 时,A B 都有 100;A 发起了一笔交易,支付 100 给 B,而这笔交易会被区块链系统记录下来。我们可以通过 state1 的账户余额和区块链上的交易记录,计算出 state2 时 A B 的账户余额:A 有 50,B 有 150。同理只要我们知道初始化的状态( Genesis ),并将使用区块链系统记录每笔交易,就可以算出任意时刻的任意账户的余额了。

双重支付

在区块链技术出来之前,一直没有很好的方法解决去中心化记账过程中遇到的双重支付的问题。中心化记账指的是,一个节点(比如一台计算机)维护一个账本;去中心化记账指的是,多个节点维护同一套账本。

顾名思义, 双重支付就是同一笔钱可用于两次 支付 。具体的说,就是在同一时间点,A 将 100 元,既支付给 B,又支付给 C。如果出现这种情况,A 就相当于把 100 元钱,当做 200 元钱来花了。但 B ,C 和记账机构三者之一就会因此遭受 100 元的损失。在中心化的记账系统中,双重支付的事情显然是不可能的。因为无论这两笔交易是否同时进行,中心化的记账系统处理这两笔交易一定会有一个先后顺序。 中心化的记账系统 会先处理第一笔交易,并在 A 的账户中扣除 100 元,再处理第二笔交易,如果此时 A 的账户中没有余额,第二笔交易就会失败。

在去中心化的记账系统中,会有多个记录交易信息的节点。在上述例子中,去中心化的记账系统中的一些节点会先收到 B 的交易信息;另一些节点会先收到 C 的这笔交易信息。在去中心化的记账系统中,所有节点都是平等的。不存在一个统筹的节点,来决定是先处理 B 的交易还是先处理 C 交易。这就产生了去中心化记账系统中双重支付的问题。

解决去中心化记账系统的双重支付问题,可以分成两步来讨论:第一步,确定交易信息的先后顺序;第二步,需要一个共识机制,来保证所有节点都认可这个顺序。

第一步,确认顺序的原理很简单,就是给交易排序。 确定交易顺序的数据结构就是区块链 。“区块链 ”中的“区块”,指的是在同一段时间内的交易信息及相关数据的集合。“链”就是把区块按产生的先后顺序连接在一起。

共识机制

共识机制是区块链系统上独立节点们通过遵守一套相同的规则,自发地对区块的先后顺序达成共识。这套规则可以简单的描述为以下 3 步[4]。

所有节点质押成本(如:算力)竞争记账权,由胜利者产出并广播区块(记账信息),并获得收益(如,比特币)奖励。

每个节点独立的对新区块进行验证,并组装进区块链。

每个节点对区块链进行独立选择,选择长度最长的区块链。

这个规则是如何让独立节点们自发地参与到区块链系统的记账之中呢?又是如何规避节点捣乱的问题呢?

第 1 步,保障了每个节点都会出于“自私”的目的,“诚实”地参与到区块链系统中来。“自私”指的是,节点都是为利润(收益 - 成本)而来。“诚实”指的是,遵循区块链的共识机制。但是有利润就会有作弊,如何防止作弊呢?这就要依靠后面两步。

第 2 步 ,保障了每个节点都可以对竞争胜出的节点的记账信息进行校验。即便有“捣乱”节点抢到了记账权,并记了假账,其他节点,包括你的节点,都可以通过验证得知是否作假。区块(账本)做不了假,那么有没有可能在链(顺序)上作假呢?也就是通过颠倒交易的先后顺序,进行双重支付。

第 3 步 ,保障了 颠倒交易的先后顺序在经济上是不可行的。 既然每个诚实的节点都选择的是最长的链,那么捣乱节点能不能制造一个最长的链呢? 当捣乱链的长度,超过诚实链的长度的时候,整个交易的顺序就被颠倒过来了 。在区块链上,父节点只能有一个,但是子节点可以有多个,多个子节点就会有分叉,称为 Fork。 捣乱节点可以在某个节点 Fork 原先的链,再用比诚实节点更快的速度,制造出一个最长 捣乱 链。这有没有可能呢?答案是,在技术上是有可能的,但是经济上是没有可能的。

假设有人用大笔资金买通现有的节点,帮助他弄出一个最长捣乱链,来超过现有的最长诚实链。这个捣乱的土豪要花多少资金呢?我们不妨拿比特币系统来算一笔简单的帐(虽然不完全正确,但可以说明为什么经济上不可能)。买通 51% 的节点才能在制造区块的速度上,超过剩余 49% 的诚实节点。假使捣乱节点只要制造 6 个节点即可成功捣乱,制造 6个捣乱节点需要 60* 60s。 也就是说,捣乱的土豪至少要支付 51% 的节点在 1 个小时内所花费的算力成本。这些算力对应的电费有多高呢?在我写文章时,比特币系统的全球算力为 9211434 TH/s;1 TH/s 算力大概要消耗 0.15 度电,每度电 0.32 元。 这个捣乱的土豪至少 需要 付出 8 亿人民币。 这就是区块链上的数据只能增、查,不能删、改的根本原因,太贵了!

51%* 921143 *0.15* 0.32 *60 * 60 = 811785256

总结

区块链技术的本质是通过公开的、加密的不可篡改的技术手段,为解决多方信任问题提供了一个方案。现在区块链技术离可大规模应用,还有很长的一段路要走。其中最关键原因是每秒确认交易的笔数太少、确认交易的时间又太长[5]。但是,换个角度思考一下,问题即机会。现在的区块链就像 98 年的互联网,未来充满挑战,也充满希望。

参考文章:

中国区块链技术和应用发展白皮书 

http://www.199it.com/archives/526865.html 

经济学人《The trust machine》 

https://www.economist.com/news/leaders/21677198-technology-behind-bitcoin-could-transform-how-economy-works-trust-machine 

How does Ethereum work, anyway? 

https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369 

乔延宏译 《精通比特币( 第二版 )》 

http://book.8btc.com/books/6/masterbitcoin2cn/_book/cn-preface.html 

Fundamental challenges with public blockchains 

https://medium.com/@preethikasireddy/fundamental-challenges-with-public-blockchains-253c800e9428 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容