最近,区块链又一次进入大家的视野。让我们聊聊区块链。之前区块链确实没有什么好名声,比如之前的趣步,而它就打着区块链的名头出来行骗。导致现在我旁边的小妹一直以为区块链就是个骗局。
我说,有了区块链,你再也不用担心你男朋友说话不算数了。你可以把他对你的所有承诺都存进区块链,然后这个就再也不能改了。
然后,小妹就这样看着我 ……
好吧,好吧,我承认我没说清楚,那正好借着这次机会,我们就来聊一下那么区块链到底是什么呢?
在聊之前,我们先简单介绍一下会出场的几个专业名词:比特币、挖矿。
比特币是一种电子货币,而挖矿是获得比特币的一种方式。虽然是专业名词,但是别慌,看完这篇你就都懂了。
首先声明,区块链就是一种特殊的分布式数据库。数据库顾名思义,就是用来存放数据的地方。
我们在手机接受和发出的信息都会存放在厂家的数据库。再比较具体一点,比如百度的网盘、苹果的 iCloud ,都是一种数据库。
既然是数据库,区块链的主要作用是保存数据。那小妹又问了,既然已经有这么多数据库了,为什么还要用区块链?
区块链当然有它独特的优势,简单来说就是:去中心化、安全(不可篡改)
这个所谓的去中心化,大概就是说你的信息会被所有人储存,再也不用担心丢失了。
严格的说应该是,任何人都可以架设自己的服务器,加入区块链网络,成为一个节点。而这个区块链里所有的节点都是平等的,每一个人都可以往区块链里写入、读取数据。而最后所有的节点数据都会同步,保证整条区块链的一致。
等一等,如果每一个人都可以看,那我的隐私岂不是都被别人看光了!??
别慌,你的所有信息都会被算法加密,分享出去的不涉及隐私内容。
由于,区块链本身只是一个数据库技术,讲起来难免有些无聊,因此我选取了比特币(简称 BTC )用来当做案例,用具体的应用来解释区块链的优势。
至于区块链和比特币的关系,大家可以理解成安卓系统(或者 IOS )和各种应用(App)的关系:
比特币全称也可以叫做,比特币区块链。并不是说比特币 = 区块链,任何一种电子货币都不能直接代表区块链。
解释一下,之所有选择比特币区块链来当作案例,是因为比特币系统已经比较稳定的运行了近 11 年,也算是接受住了实践的考验。
而后来很多跟风的电子货币,很多只是昙花一现。更有甚者,利用区块链和电子货币进行诈骗,希望大家看完以后都这类骗局可以留个心眼。
这里我们的分析理论主要来自于, 2008 年中本聪(Satoshi Nakamoto) 发表的论文《比特币:一种点对点式的电子现金系统》(Bitcoin: A Peer-to-Peer Electronic Cash System),网上通常也将其称之为《白皮书》,有兴趣的朋友可以在我们微信公众号后台回复“白皮书”获取原文。
提到“白皮书”我又想啰嗦两句,有的骗局利用“白皮书”来行骗,谎称自己有“白皮书”,就有了具体的项目 (App),大家如果看到了要稍微注意一下。
中本聪的这篇论文,将比特币和区块链牢牢的联系在一起。而这篇论文的主要目的,其实是提出建立一种去中心化的电子记账系统。
记账与区块链的形成
在比特币的系统里面,区块链承担了一个十分重要的作用:记账。(在这里“记账”代表,任何需要记录的信息。比如,你男朋友对你的承诺,也是可以“记账”的)
在我们日常的交易过程中,最重要的的一件事,就是记账。这个记账,不是我们每天记下花了多少钱,赚了多少钱。
而是说,我在买东西的时候,首先要查看自己的卡里有没有足够的余额,已经买完之后还剩下多少,这就是记账。
那我们目前的交易都由谁来记账呢?—— 银行
无论你使用哪种支付方式,最后都是由银行来记账。而且,我们也很信任银行,因为在银行的背后是国家的信用体系。这就是中心化的记账系统。
而去中心化的电子记账系统,不在需要某一个专门的机构来记账,我们每一个人的账本都分享出去,让大家一起来记账。
我们举一个例子,假设现在有我、老鸟、老狐狸、小妹四个人。我给了老鸟 10 BTC ,老鸟给了老狐狸 5 BTC ,老狐狸又给了小妹 2 BTC 。
在这个过程中,我们每一个人都对所有人广播交易的消息。如果把这些账单打包起来,就是我们所说的区块。
这个区块打包完了之后,随着时间的推移,又有新的交易在发生,就会形成新的区块,新的区块连接到我们之前的区块。这样,所有的账单就会形成一条信息链,即区块链。
谁的账单说了算?
那么这个系统开始运行之后,我们还有几个问题要解决。其中最重要的就是,我们以谁的账单为准?因为在去中心化的系统中,所有人都可以来记账。
当然,在之前还有一个潜在问题:我凭什么要帮你记账呢?
你广播给我一条账单,我为啥要帮你记下来,毕竟我们本来没有任何瓜葛,我花自己的电脑资源帮你记账有什么好处?
有,当然有。
在比特币系统中,记账是有奖励的。这个奖励主要分两种:一、手续费;二、打包奖励。
我们现在使用银行卡交易,银行也会收取一定的手续费。比特币的交易也同样有手续费。
其次,就是打包奖励。协议规定,每一个区块最终只能有一个人(节点)来打包,这个人会获得奖励。
比特币系统中有这样一个方案:整个系统的账单,每 10 分钟打一次包。
最开始,给打包的人奖励 50 BTC,4 年之后,每打一个包就奖励 25 BTC ,再过 4 年就奖励 12.5 BTC 。也就是说,每过 4 年奖励就会减半。
因此我们可以算出比特币的总数,一共是 2100w 个。而比特币就是通过打包奖励这种方式让它扩散出去。
在这种奖励机制下,每一个人都会想要去打包这个账单。毕竟比特币这个行情呀 ……
这下,我们可以来回答上面的问题了,究竟是谁的账单说了算?因为现在大家都抢着去打包了,所以最终该给谁打包呢?
《白皮书》里提出了一个解决方案:工作量证明。
这个所谓的工作量证明,我们可以简单理解为,做一个非常难的数学题,这个数学题难道什么地步?大概就是没有任何人能解出来,唯一的办法就是一个一个数去试。
比如说这样一个公式:
如果我告诉你,X = 1,你很快就可以知道 Y 等于多少。但是现在,我告诉你 Y = 233333333,请问 X 是多少?
这个“解题”的过程就称之为,挖矿。
如果,你解开了这个题,那么就可以去打包这个块,就可以获得打包奖励,就挖到矿了。
而前面我们也说了,比特币系统每 10 分钟打一个包,而我们如果算出了这个题就可以打包。那如果我运气好,3 分钟就算出来了,我难道不能打包吗?
答案是,可以。
但是 …… 你懂得,凡事都有但是。
在区块中设置有一个难度系数(difficulty),这直接决定了可能的计算次数。而且,这个难度系数采用动态调节的机制,它每两周调整一次。比如,在前两周,区块的平均生成速度是 9 分钟,接下来的这一周难度就会上调。反之,难度下降。
一般来说,我们无法改变自己的运气,但是如果我在相同的时间里,计算的次数越多(简称算力),我就越有可能拿到这个奖励。而随着时间的推移,整个系统的打包时间会维持在 10 分钟左右。
如何防止篡改区块链?
从理论上来说,电子数据都有被篡改的可能。但是如果你要篡改一条区块链的信息要付出的代价会很大。
之前,我们说过,如果要打包一个区块就需要计算一个数学题。而且通过难度系统(difficulty)的调节,大概每 10 分钟就会有人完成打包。
如果,现在有一个坏蛋想要篡改 30 分钟之前的一次交易记录。那么他应该怎么做?
首先,他不仅要篡改之前的记录,还要把后面生成的 3 个区块全部重新打包。否则前后的信息就对不上了,别的用户就不承认这一条链的合理性。
这个过程有点像赛跑,我领先了你 300 米,假设我们速度(算力)很接近,那么你永远也无法超越我。假如,你的速度(算力)一直比我快,那么你才有可能赢了我。
再说回比特币,如果你要篡改交易信息,那么你的算力就必须超过其余所有人的算力总和。这种方式被业内称之为 ,事实上已经有一些区块链遭受过这种攻击(目前为止,遭受过 51% 攻击的著名区块链有 bitGold、Verge、Ethereum Classic )
实际上,对一个庞大的区块链(比如,比特币区块链)发动 51% 攻击,收益远低于成本。毕竟要使用如此多的算力,除了硬件成本,电费也是一笔不小的数目。
而且,遭受过攻击的区块链,其市场价值会受到剧烈冲击,最后只会得不偿失。
有何应用?
其实除了我们上面介绍的这些,区块链还有很多的方法来防止系统崩溃和保护用户的隐私,鉴于篇幅限制,我们浅尝辄止。
我们之前一直都在用比特币区块链举例,那么,区块链还有什么别的作用吗?
当然有啦,就比如说还可以防止你男朋友说话不算话 …
好了,我们正经一点,区块链在未来还是有很多应用的趋势,比如:
1、 数字化身份信息系统;
用区块链记录你的个人信息,就再也不用担心遇到“证明我妈是我妈”的问题了。从你的出生证、毕业证、驾照、房产、医疗信息等等,都可以被记录在区块链上。不仅不用证明“我妈是我妈”了,也不用在 A 医院做完检查再去 B 医院又做一次相同的检查。
2、优化交易系统;
这个交易,不仅是做生意的交易,也包括日常购物等等。如果你想买一块猪肉,在区块链技术下,你可以直接追踪到这头猪的生产、养殖、流通的所有环节,再也不用担心买到的猪肉不健康了。(如果你能买的起 …)
3、 产权保护;
对于抄袭这种事,想必大家都是恨之入骨,那如果我们能把自己的作品都放在区块链上,就再也不用担心被别人抄了去了,毕竟群众的眼睛是雪亮的。
那这样,我只要把我的文章挂在区块链上,等着别人转载,我收钱就行了 ……
(醒一醒,别做梦了,你写的没人看)
当然,区块链的应用也不止以上这些。我这篇文章也不见得有多全面,可能又会有很多朋友说看不懂,但还是希望通过这篇文章,让大家对区块链有正确的认识。
责任编辑:ct
评论
查看更多