科普 | 区块链的What、Why、How

ViaWallet 发布在 海盗号 24404

作为一种新兴技术,区块链技术经过十年的发展,已经从数字货币开始延伸到数字金融、物联网、智能制造、供应链管理、数字资产交易等多个领域,“区块链”本身也从一个密码极客们口口相传的专业名词一跃成为人尽皆知的新基建技术。但由于具备相当的专业度及复杂度,区块链技术的入门门槛相对较高,许多对区块链怀揣憧憬的朋友难入其门。鉴于此,ViaWallet团队特推出“ViaWallet小课堂”系列科普,力求用最简单易懂的语言为大家带来有趣有料的区块链科普。

今天带来第一篇《导读篇——区块链的What、Why、How》,我们将从区块链是什么、为何而生、如何实现三个角度提纲挈领为大家理清区块链技术脉络,为未来细致的科普内容提供理论基础。


区块链为何而生?


区块链本质上是一个去中心化的数据库。

数据库,相信大家或多或少都曾经听说过。顾名思义,数据库就是一个存放数据的库,几乎每个行业都需要拥有自己的数据库。

比如银行,银行系统是一个记载着我们每个人拥有多少资产以及我们资产转入转出记录的数据库;再比如淘宝,淘宝的背后有一个记载着商品信息、用户信息、交易信息甚至物流信息的数据库;即使是一些传统企业,比如汽车制造商,也会建立一个记载零配件信息、供应商信息、商品售卖信息的数据库。

上述这些数据库都是由某个主体(央行、阿里、汽车厂商)整合数据并存入服务器,数据的更新和维护工作也由这些主体完成,我们将这种模式称为中心化数据库。

那么,为什么需要去中心化的数据库?

毋庸置疑,中心化数据库非常方便,但中心化数据库也存在一定问题。

首先是外部风险,传统的中心化数据库会把数据集中存放在某一个或某几个服务器中,万一服务器有个“头疼脑热”,出现诸如断电、设备故障等意外状况,整个数据库就将无法访问甚至崩溃。

除了外部风险外,中心化本身对于普通人来说也很不友好。

中心化会带来严重的权力不平衡问题,我们平时在各式各样的促销活动中经常能看到这样一句话,“本活动最终解释权归XX公司所有”,翻译一下,这句话基本等同于“我不要你觉得,我要我觉得”。

中心化的数据库同样如此,身为普通用户,我们无法确认传统数据库中的数据是否被损坏或篡改,我们也无法知晓我们的数据是否遭到泄漏。

鉴于此,人们开始思考如何构建一个去中心化、不可篡改、可追溯、公正透明的数据库,区块链为此而生。


如何打造区块链?


从技术层面说,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。

数据层

小学二年级我们就学过,缩句的时候的“字”前面的都可以删掉,“的”字后面的才最重要。因此,想要构造一个“具有XXX特性的数据库”,最底层就是数据层。

数据层需要负责存储数据、规定数据的存储方式,还需要规定一些技术手段来保证数据不可篡改、可追溯、安全透明,主要用到的技术手段包括时间戳、Merkle树、非对称加密、哈希算法等,我们会在以后的文章为大家详细解释,这里暂时不做过多展开。

网络层

当一个数据库具备数据存储功能后,就要考虑数据的传输问题,因此接下来要做的就是在数据层上打造网络层。

既然区块链是一个去中心化的数据库,那么在传输方式上就需要设计成点对点网络,让全网所有参与者都可以自由收发数据信息,并由所有人共同参与数据库的维护。

由于缺少中心化服务器,我们必须在网络层上写入数据的传输方式、验证方式等,确保数据在传输过程中安全可靠。

共识层

在现实中,人们通过政府法律法规或者公司行为规范来防止用户作恶。但作为一个人人平等的数据库,区块链系统中不存在一个可以制定规则的强力机构,我们需要一个人人认可的机制来约束用户行为。

如果存在一个完全没有法律、道德约束的孤岛,人性之恶将被无限放大,世界将充满无序与混乱。毫不夸张地说,共识层是一个区块链网络中最核心的部分。

目前最主流的共识机制是工作量证明机制(PoW)和权益证明机制(PoS),除此之外还有像拜占庭容错(PBFT)、委托权益证明(DPoS)等机制。

共识机制各有优劣,一个区块链系统采用哪种机制很大程度上取决于开发者想要达成什么样的目的,这个我们以后再说。

激励层

有了数据层、网络层和共识层后,一个基本的去中心化数据库就已经构建完成。在这个数据库上,我们已经能保证数据的安全存储、自由流通、更新维护。但这个数据库是不完美的,它要求每个节点用爱发电,自愿消耗资源参与数据库的建设维护。

这种模式显然是不可持续的,所以我们需要向参与网络的节点提供一定程度奖励,让他们有动力继续建设维护区块链,激励层由此而来。

激励层需要考虑比较长远,从区块链诞生的那一刻起,我们就需要明确发行什么代币、代币总量多少、通过什么形式发放、释放速度如何。我们通常将这一系列设定称为代币经济模型,设计经济模型需要慎之又慎,经济模型的好坏很大程度上会决定一个区块链的成败。

应用层和合约层

有了数据层、网络层、共识层和激励层后,我们的目标已经初步达成,“一个人人平等、不可篡改、可追溯、公正透明的数据库”,这样就已经足够了吗?

远远不够,我们在“区块链为何而生”中说过,每个行业都需要数据库,这才是数据库最大的意义。在构建一个我们满意的数据库后,接下来的问题就是如何将之运用到各个行业中,这就是应用层。

但在打造应用层时,我们会遇到另外一个问题,就是每设计一个应用时,我们都需要从头开始设计整个区块链系统,这种做法相当吃力不讨好。就是像我们现在要设计一个类似于淘宝的电商平台,却被告知要自己先做一台计算机一样可笑。

因此,我们需要先打造一台属于区块链世界的“超级计算机”,这台“超级计算机”就是合约层,我们将各种脚本、代码、算法机制及智能合约写入其中。在实现区块链可编程化的基础上,再在合约层的基础上打造应用层。

数据层、网络层、共识层、激励层、合约层、应用层,这六个层级就像是乐高积木,我们可以选择替换其中任何一块,设计各式各样的区块链系统。

接下来一段时间,我们将以每个层级及其相关技术概念为线索进行科普,带大家一窥区块链究竟,敬请期待。

本文链接:https://www.8btc.com/media/662380
转载请注明文章出处

文章标签: 区块链入门
评论
登录 账号发表你的看法,还没有账号?立即免费 注册