查看原文
其他

区块链入门 | 幼儿园版

2018-01-28 托尼托尼·98 创业邦


区块链,作为一个新事物,生来就笼罩着一层神秘的光环,看各方言论,区块链俨然有比肩工业革命和计算机革命的趋势。


奈何网络上的入门教程对文科生都不太友好,笔者每每看到一大堆的计算机术语瞬间头大。


直到最近看到阮一峰老师的《区块链入门教程》才豁然开朗。区块链,其实很简单。


接下来的内容,保证你看得懂,因为连我这个文科生都看得懂。


区块链是什么?


一句话,区块链是一种特殊的分布式数据库


这几个字你可能都认识但未必真正理解。比如,数据库是什么?它具备什么样的特性?分布式数据库又是什么意思?区块链特殊在哪里?别急,请往下看。


数据库是什么?


简单来说,数据库是一个存储数据的“仓库”,既然是仓库,那么它就必须有进货(新增)、出货(删除)这两项基本功能。


为了满足日常需求,比如需要查找某种货品,统计其数量,或者某种货品摆错了位置等等,因此还需要“查询”和“修改”功能。


这就是数据库的最基本的四项操作“增删改查”。


“分布式”数据库又是什么?


分布式即“分开”部署数据库。这里的分开有两层含义,物理的分开和逻辑的分开。


物理的分开很好理解,可以简单理解为数据存储在不同的主机上,在物理上是相互独立的。


为什么会产生这样的需求呢?因为在互联网全球化的大背景下,跨国性互联网公司已经屡见不鲜,而在本国本地部署服务器在改善用户体验上至关重要。


举个例子,比如前段时间苹果将iCloud服务从香港转移到云上贵州,好处之一就是访问速度的加快。


逻辑的分开稍微难懂一些,笔者举一个简单的例子。比如说淘宝,同一个账户可能既是买家,又是卖家,买家身份产生的订单和卖家身份产生的订单在逻辑上是可以分离的。


由于淘宝的订单量巨大,一台机器无法存储所有订单,于是淘宝某程序员灵机一动,将买家订单和卖家订单分别存储在两台机器上。这个完美的解决方案在不失逻辑整体性的前提下,既克服了技术困难,又满足了业务需求,两全其美,当年该程序员拿了36个月年终奖金(本故事纯属虚构)。


分布式数据库虽然可能部署在多个地区,逻辑也可能被拆分,但是归根到底,它是一个化整为零的整体。


所以,分布式数据库可以简单地理解为,将一个数据库按照一定规则部署到多台服务器,对内可以是零散的,但对外必须是一个整体。


区块链特殊在哪里?


说了这么多,相信您对数据库和分布式数据库有了一些基本认知,那么区块链到底特殊在哪里呢?


在具体讲区块链之前,还需要对区块链的结构有一个基本理解,也是非常之简单。


区块链,顾名思义就是由“区块”组成的链。


其结构是一条长长的,首尾不相连的链条,类似下图。



图中每一个圆珠可看作一个区块,区块内则是记录的数据。


由于区块链是和比特币一同兴起,因此区块链还有一个不是特别严谨的别名——“分布式账本技术”。


之所以被称为账本,举个例子,“比特币区块链”所记录的内容都是这样的


B 转给 A 0.5比特币

A 转给 B 1比特币

C 转给 D 2比特币

C 转给 E 1比特币

X 被奖励50比特币


诸如此类千篇一律,像极了一篇流水帐。


有了这些基本概念,接下来我们再看看它的特殊性。


1. 数据人人可查


是的,一般的数据库都是有账号密码才能访问的,可区块链不一样。


任何人可以查询任意区块的信息。比如这里就是“比特币区块链”的第50万个区块信息



区块的信息一目了然,所记录的交易信息也完整具体,没有一丝隐瞒。


不过与传统交易不同的是,我们不知道绿色框线宽选的“比特币钱包指纹”背后的持有者是谁,是一条狗也说不定。


2. 数据人人可写(去中心化)


又是一个无比熟悉的词汇。也许你知道,区块链是无管理员的,无中心的,但是很少有人去介绍它的具体运作方式。


是的,区块链理论上是人人可写的。但写入的前提是要拥有足够的“计算能力”去从无穷无尽的数字海洋中穷举出那个符合要求的数字。


计算数字的过程叫做挖矿,其从业者被称为矿工


“比特币区块链”的设计者中本聪在顶层设计上保证了大概每10分钟才能产生一个新的区块,而一个区块的大小被限制为1MB(1024KB,512*1024个汉字)。


也就是说,不管全球有多少比特币的交易需求,就只能记录1MB大小的账。


这样的数据量对于一家超市来说可能都难以满足。


而且更要命的是,由于区块链的人人可写,那么如果两个矿工同时写入就会产生一个链分叉的问题。


那么,谁写入的数据是真正的区块呢?由于去中心化没有统一的管理员,现在的规则是这样,哪条分支先达到6个区块(称为"六次确认")就是正宗的主链,而其它的区块链将被无情舍弃。按照10分钟一个区块计算,一小时才能确认。




可以看到,即便倾全球的计算能力,交易速率也只能达到每秒钟2次多交易


3. 数据人人备份


前面说过区块链是分布式的,而区块链的设计方式简单粗暴,每个人都有所有人交易的备份。


举个例子,你有一张信用卡,月底的时候想看看自己的账单,结果银行把全球的账单都发给你了。


也许你问,干嘛要把别人的账单也发给我?我只需要自己的呀!


初次听闻确实有点荒谬,有点反人类。


但数据人人备份才是区块链去中心化的根基。试想一下,如果银行的交易系统发生故障,把你的账户金额清空了,如果银行自身无法查出真相,估计你只能血本无归,因为能证明自己账户曾经有钱的人只有你自己。


中心化的好处在于有一个统一的中心,替我们承担了很多不必要的管理工作。对个体而言有诸多便利,可要知道,由于居中的管理者依然是有血有肉有欲望的人,所以难免会有垄断后的各种弊病。


目前看来,中本聪去中心化的初衷是实现了的。从“2009-01-09 10:54:25”创世区块产生,到现在九年多的时间,这个系统在全球人的参与下平稳运行。


最后


你也许听说过,区块链一旦被确认写入,就无法再修改


虽然这九年的时间,从来没有人反映自己的区块被修改了,但并不意味着一定不行。


一个区块所在的链是否为主链,是由“算力”投票决定的。


假如一个矿工拥有全网51%以上算力,那么他将会有一家独大的可能。也就是说,他生成的区块,无论记录的数据多么荒谬,在规则上,其他人必须被迫承认其正统地位。


中本聪的设计初衷是去中心化,可最终却可能得到一个中心化地位无法撼动的怪物。


作者:托尼托尼·98,关注前沿科技领域,寻求报道请加微信:fengyutanjun。(务必注明来意)


- END -

* 创业邦【错别字基金】温馨提示:如果您在阅读过程中发现错别字,请在文章底部留下错误说明+微信号,前五条热情留言将被放出,并由作者发给您1~10元随机红包一个。

 

MORE | 更多精彩文章



商务合作请加微信:bangcbd

推荐邦哥的好朋友“毒舌科技”, ID:dushekeji

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

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