查看原文
其他

当我们谈论区块链时到底在谈论什么

2016-08-17 黄世亮 闪电HSL


0 引言

区块链是什么,如何简单易懂地介绍区块链?

 

第1章 区块链要解决什么问题?

区块链主要解决的是金融领域的问题。

如果你今年关注了一些金融领域的媒体的话,那你一定听说过一个很奇怪的词——FinTech,中文叫金融科技。这是个什么玩意?

京东金融CEO陈生强有以下表述:

凡是以数据和技术为核心驱动力,能为金融行业提供服务、提高效率、降低成本的公司,都可以称之为金融科技公司。

我读了大量,巨量,海量的区块链文章,我发现区块链最适合解决陈生强所讲的。区块链能为金融行业提供服务、提高效率、降低成本的技术。并且区块链就是以数据和技术为核心的。

更准确来说区块链能够让金融产品更透明、更低成本、更高效率、更安全,甚至是更自由地为用户提供服务。

当然这里要提到的是陈生强在康奈尔大学的那次演讲,没有提到区块链。

 

第2章 区块链由什么组成?

上面提到金融科技是以数据和技术为核心驱动力,而区块链也是一样其关键的东西可以拆分为两块:一个是数据;另一个是技术。

区块链首先是一堆数据,更准确一点是一堆有序的数据。下面是引用《Bitcoin Master》一本里的一句话:

区块链是由包含交易信息的区块从后向前有序链接起来的数据结构。它可以被存储在一个文件里,或是存储在一个简单数据库中。

其次这些有序的数据往往会被分布式存储在很多地方,会非常充分地冗余存储。这是有别于传统的金融技术了。

这些数据是什么就取决于你需要的金融服务了。比如比特币区块链的数据就是一个账本,里面登记了从第一枚比特币到现在的所有比特币的所有权和交易记录。如果你要使用区块链来做一款智能合约,那这堆有序的数据就至少需要包含产权登记和触发条件。

 

第3章 区块链的技术

区块链由数据组成,那数据是怎么产生的呢,以及可以做什么样的操作呢?这就可以理解为区块链的技术。

区块链数据只对写入和阅读有效,无法做删除和修改操作。

因为数据就是存放在硬盘里,想删想改只要拥有硬盘的写权限即可。所以区块链就要通过一些技术手段来保证其数据无法删除和修改。其中最重要的就是一种叫“共识机制”的东西。

所谓的“共识”可以理解为,哪个版本的区块链的数据库为有效的、正确的。

就是说,每一个人可以拥有对自己硬盘的写入权限,你可以修改自己硬盘里存有的区块链数据,但你无法修改他人存储的备份。因为区块链数据是分布式的,充分冗余存储。就可以使用某种技术来保证大家共认的某个版本的数据是有效的和正确的,以踢除那些私下不按规矩去修改的数据备份。

比特币区块链使用的是一种叫POW(工作量证明)的技术。约定一个数学题,谁先解出这个题,就拥有此次往区块链上添加一个区块的权力。而那些没有解出题的人是无法做写入的。当然完成比特币区块链的架构,还需要更多的技术,比如随机函数,hash函数,公私钥验证,椭圆加密曲线……这都是些技术细节,有兴趣的就可以自己去查阅。


第4章 一个区块链的简化模型

想象这么一个场景,有100个网络节点,且每个人的节点数据都是一样的,即完全冗余。并且所有的节点都是处在广域网中,换句话说这100个节点之间是不信任的,又不存在一个实体对这100个节点拥有绝对的仲裁权。

在这个场景中,采用什么样的算法(共识模型)能够提供一个可信任的环境,达到:

  1. 每个节点交换数据过程不被篡改;

  2. 交换历史记录不可被篡改;

  3. 每个节点的数据会同步到最新数据,且承认经过共识的最新数据;

  4. 基于少数服从多数的原则,整体节点维护的数据本身客观反映了交换历史。

这个场景及其共识模型就可以是一个简化区块链模型。区块链本质上就是解决这么一个场景的技术方案。

(本节模型案例引用陈浩文章《如何用区块链构建一个价值流通网络》,原文请参考 http://blockchaindev.org/article/build_money_internet.html) 


第5章 结束语

区块链能够让金融产品更透明、更低成本、更高效率、更安全,甚至是更自由地为用户提供服务。

(想第一时间阅读我的比特币科谱文章,请关注我的公众号: 闪电HSL)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存