区块链的起源、发展与繁荣

缘起

区块链技术的出现是一个意外。2008 年全球金融危机引起很多人的讨论和思考,在互联网上有一个匿名为“中本聪”的人提出了一种叫比特币的技术(比特币的出现是否和金融危机有直接关系不得而知)。他以《比特币白皮书:一种点对点的电子现金系统》为标题写下了一段文字,开头部分这样写道:

我们无法实现完全不可逆的交易,因为金融机构总是不可避免地会出面协调争端。而金融中介的存在,也会增加交易的成本,并且限制了实际可行的最小交易规模,也限制了日常的小额支付交易。

中本聪的这篇文章其实够不上“论文”的标准,这段文字有点颠三倒四。这里试着归纳一下:

  1. 希望交易不可逆。如果发生了 A 转账到 B, 那么数据库系统就应该记录下这件事情,并且无法篡改。
  2. ​希望交易不依赖于某个金融机构的数据库系统记录。金融机构的 IT 能力、公司制度会影响交易的实时性(数据可能要经过审核,数据库还可能崩溃);经过金融机构也会被抽取一定的“交易费”(金融机构的管理费,IT 系统的支出)。

同时中本聪还编写了一个简单的 Demo 放到 SourceForge 上(这是早起的开源软件聚集地,地位相当于现在的 Github)。他希望能建立起一套自治的系统自动记账以实现上述两点——交易记录不可篡改和数据分布式存放。读者如果对最早的代码感兴趣可以在 Github 上看到这份代码。

关于中本聪本人究竟如何思考我们不得而知,但是我们可以仔细思考一下。中本聪所描述和编写的比特币的核心技术是什么?是数据库系统或者叫存储系统,因为记录交易的是数据库,传统数据库是可以进行修改的;因为金融机构是用 IT 系统、用数据库、存储系统记录交易,而这些系统是可能出现故障的。在比特币中解决的本质问题是用一个不可逆的、分布式的数据库去代替传统数据库。

发展

最开始的时候没人把比特币当做“真实的货币”,比特币能有今天的价格也实在是匪夷所思。当然始终对它感兴趣的人还是有的,比如一个名叫 Vitalik Buterin 的 俄罗斯 90 后,他就对比特币非常感兴趣,并且一直在为比特币社区做一些事情。2013 年的时候比特币社区的一些开发者开始讨论比特币的核心技术,也就是后来被称为“区块链”的技术。他们希望可以把这个技术单独剥离出来用在更多的场景中,Vitalik Buterin 就提出了可以运行任意形式(图灵完备)的应用程序而不仅仅是脚本。

比特币的脚本是指 Pay-to-Script-Hash(P2SH),它是为了解决多重签名的问题。Vitalik Buterin 强调的图灵完备性其实是针对 P2SH,P2SH 是基于堆栈的简单虚拟机,只有简单的堆栈指令;缺少结构化程序设计的分支、循环。而图灵完备性就是指结构化程序设计所必须支持的顺序、分支、循环。

Vitalik Buterin 这个想法没有让比特币社区有足够的兴趣,所以比特币并没有实现这个想法。2014 年 Vitalik Buterin 招募到开发者成立了以太坊项目,并且把上述思想写到白皮书中,称之为“智能合约(Smart Contract)”。这个名字带有强烈的“数字货币色彩”,或者说它的出发点还是为了解决“多重签名”的问题。

这个时期的区块链已经脱离比特币,成为一种独立的技术。如前文所述,比特币的核心技术就是一种数据存储技术或者叫数据库,但是这个概念还比较模糊,因为缺少数据访问接口(就像关系型数据库和 SQL)。无论是否有意,以太坊的智能合约都为解决这个问题提供了足够的思路和火花。

繁荣

无论是比特币还是以太坊它们本质上还是数字货币,都是为了解决“金融问题”,所以它们都属于币圈。把比特币、以太坊的核心理念提取出来除了用于数字货币还可以有更加广泛的应用场景,这就是 Hyperledger Fabric 的历史使命。

Hyperledger Fabric 是 IBM 贡献给 Linux 基金会的商用分布式账本系统,自项目创立伊始就吸引了金融、银行、互联网、传统行业领域的巨头们的眼光。

Hyperledger Fabric 是基于 Golang 实现的可插拔的区块链系统,它主要面向企业之间或者企业多个部门之间提供服务。

主链侧链开发数字货币交易所白皮书区块链浏览器跨境支付场内场外宠物挖矿游戏基金会牌照 181-4069-6008 微信电话同号

上图是 Hyperledger Fabric 的逻辑架构图,垂直方向划分为三部分。

  1. Membership 即成员管理服务,提供身份管理、证书校验。在 Fabric 中每个通讯组件都必须提供身份证明,每个事务的发起者会被永久记录在区块链上,审核人员可以追溯事务。
  2. Blockchain Services 即区块链服务,提供分布式一致性算法,维护全网数据一致,提供账本存储服务,基于 P2P 网络实现节点之间的通讯。
  3. Chaincode Services 即链码服务,智能合约在 Fabric 中称为链码。链码是操作状态数据库的唯一方法,大部分事务都是通过链码完成的。该部分提供链码的部署和运行环境。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Rainbond开源「容器云平台」

区块链2.0-从比特币跳水说起

2016
来自专栏区块链大本营

区块链常用架构是什么?它和保险业又如何结合?

3379
来自专栏极客编程

以太坊的3个重要项目:Casper(POS共识机制)、Plasma(子母链)、Sharding(分片)

在过去的几年里,以太坊已经成为加密货币领域最重要的项目。 作为市场中大多数代币的 底层基础设施,以太坊网络的健康对于加密数字币生态系统中的其他环节至关重要,以太...

1313
来自专栏Ksher

ELI5:“区块链免信任机制”究竟是何意?

原文链接:https://medium.com/@preethikasireddy/eli5-what-do-we-mean-by-blockchains-ar...

4917
来自专栏区块链入门

【易错概念】区块链的侧链/跨链,硬分叉链/软分叉链,主链/子链

侧链,是对于某个主链的一个相对概念。英文为sidechains。侧链协议是一种实现双向锚定(Two-way Peg)的协议,通过侧链协议实现资产在主链 和其它链...

1983
来自专栏汇智网教程

决定以太坊未来的三个关键扩容项目

1743
来自专栏申龙斌的程序人生

比特币分叉在即,你会被重放攻击吗?

前几天BIP91被锁定,大家以为比特币不会分叉了,没想到这几天杀出来一个比特现金Bitcoin Cash(前身是Bitcoin ABC),忽悠了一些矿池的算力来...

3707
来自专栏申龙斌的程序人生

共读长铗10天笔记之三:区块链进阶

今天是第三章”区块链进阶“的笔记,说实话,这一章技术细节太多太多,确实难,我也读不下去了,就谈些与这三个技术相关的内容。 简单支付验证SPV 学SPV这个概念,...

2916
来自专栏FreeBuf

浅谈最近流行的三起区块链51%算力攻击

很多人可能早就听说过 51% 算力攻击,但更多的可能源于各种媒体渠道中“比特币的缺陷”文章之流。实际上,这个说法并不准确,根据比特币百科上所描述,这种攻击被称为...

1103
来自专栏华仔的技术笔记

让价值流动——区块链跨链技术

4916

扫码关注云+社区

领取腾讯云代金券