哈啰,你好。我是家源,很高兴在简书里开始书写自己的新旅程,也很开心你点开了这篇文章,在这里,我将会尽量用最简单的方法让你明白:这个近年来比较火爆的,所谓的区块链(Block Chain)到底是个什么东西。
不要担心,不要害怕,在技术上理论上我和你一样,也都是个小白而已。自己之前搜索了很多网上的相关资料,觉得搜索的文字还是有些繁复,需费好些气力才能真正打开这扇大门,所以希望借机与大家一起分享讨论,让你和我都可以踹开这扇门,在里面好好走一走。
闻道有先后,谨以此篇文章献给那些对科学技术,或者对比特币感兴趣的同学们,还有那些昨晚没有来听讲座的人儿们。OK,那就让我们开始吧~
比特币(Bitcoin)
比特币(Bitcoin)和区块链(Block Chain)
谈及区块链的时候,就必须谈及比特币了。想必比特币大家都已经耳熟能详了,说不定你已经有一些在自己的比特币钱包里面了。
下图呢,就是比特币的标志啦。你需要知道的就是,比特币是个非实体的东西,并不是一个硬币或者纸币。
那么区块链和比特币是什么关系呢?就像是炒菜要用锅一样,炒出来的
一盘菜就是比特币,那么这个锅就是区块链。
比特币的产生,以及流通啊交易啊所有乱七八糟用到的工具就是区块链,而且是绝对重要的工具。区块链的想法是2008年时,一个日文名叫作中本聪的人提出来的,并且在2009年推出了比特币这么个玩意。
说到这里大家也可以猜到了,一口锅不光可以用来炒菜,也可以用来炖鱼,用来煲汤,可以煮鸡蛋,或者方便面。这就是以太币,莱特币,还有哈皮币,当然,最后一个是我瞎编的。总之,用区块链这个技术,或者说工具,可以做很多事情。
这两年,金融系统,会计审计,医疗病历都在探索这个领域,也在寻求和区块链公司的合作。所以就像是昨天讲座上Brian Behlendorf讲到的,现在的区块链就像是1994年时的互联网一样,很有可能在未来改变很多东西,可以Make The World A Better Place。
比特币(bitcoin)又是什么呢?
好的,聪明的你可能已经发现上一行的Bitcoin小写了B。没错!是小写了没错。
你真聪明。
通常腻,我们用Bitcoin来表示比特币用到的科技啊网络啊,bitcoin用来单纯滴表示这个货币本身的。那么我已经说出来了,比特币是一种货币,一种虚拟货币,一种互联网货币。既然是货币,就会流通啦,从一个人的账户里到另一个人的账户里,从一个国家到另外一个国家。
就像是软妹币一样,你出国了旅游呀,消费呀,逛夜店呀,泡吧啊,去外国夜总会时总要换成外币吧。以下就是人民币(XXX中国),港币(某XXXPRO香港平台),美元(XXXDesk)兑换1比特币的价格(截止3月9日凌晨03:33)。就是你要花这么多钱才能买到一个比特币!天了噜,太可怕了。
客官且慢,看完这吓人的价格之后先不要急着离开,这里还有一个为您准备的好消息。
比特币的最小单位是小数点之后八位。也就意味着,你可以只买0.00000001(小数点之后七个零不要数了)个比特币,具体的平台购买可能会有不同的要求。但是意味着,你不用花很多钱就可以去一趟夜总会,啊呸,我是说不用花很多钱,可能就是晚上出去潇洒的钱就可以拥有比特币啦。
开心么?嗯,很好,先别着急去买,让我们先来娓娓除去覆盖在比特币上的衣物。
比特币好在哪了?
既然提到了,比特币是虚拟货币了,不妨我们把它形容成Q币吧,他们一个相同点,就是都是虚拟货币,你看得到但是摸不着。
最重要的不同点就是,比特币暂时不能用来充qq会员。
其次呢,还有几个不同点,Q币是由腾讯,或者说是麻花腾发售并提供一种担保的,“啊,我保证,只要我们腾讯公司一日不倒闭,那么你的Q币就可以一直买买买了啊吼吼吼哈哈哈哈哈。”
但是呢,问题就随之来了。假如有一天,麻花腾的小姨子想要买一套绚丽的qq秀,她找到麻老板,说:“腾啊,我想要,一套qq秀。”麻花腾一口应允,但没成想,自己口袋里的钱全部都被拿去开发王者荣耀了。
肿么办呢,于是善良的麻老板也是动了点私心,直接叫技术人员从数据库中随便找一个会员的账号转入了10个Q币到小姨子的账户里。本以为腾讯的会员都很是大方,不会察觉也不会在意这10Q币的存在,但是这位尊贵的会员还是告发了这一可恶的行径。
于是,东窗事发,大家可能再也不相信这个虚拟货币了,老百姓们和公司都成了输家。以上的例子可能是有点极端,但是比特币就可以做到完全不让此类事情发生。
于是,重点来了!!大家看黑板。
比特币的好就体现在了这里!!
在比特币的体系里,不存在一个“中心”。
中心是什么呢?之于Q币就是腾讯,之于人民币就是央妈。
在比特币的世界里不存在一个中心,这就是比特币的核心价值之一。去中心化(Decentralization)。
去中心化(Decentralization)是怎样实现的嘞?
问得好!去中心化去中心化,说得容易,怎么做啊。
过情人节了,你给另一半转521元钱(没有另一半的,可惜啊,但是我有,啊哈哈),网上转账,两分钟到账,贼方便。背后的原理大家也都知道,银行知道你的请求,在你的账户上扣除521块钱,并通知另一个银行在你对象的账户增加521元。
银行知道你的账户里有多少钱,他也听你的指令进行入账出账,那么比特币没了银行这样的“中心”,他该怎样运行呢?
我就需要用到之前提到的锅了,区块链(Block Chain),他是怎样炒出比特币这道菜的呢?
在这里我也想问你一个问题,当一个货币没了中心,就是说,没了一个组织来发行并流通这个货币,会发生什么呢?
对!第一个问题就是,谁来记录你的钱呢?谁知道你到底有多少钱呢?没人能证明你有多少钱,你又怎么和别人交易呢?
所以在这里不得不惊异于中本聪伟大的设想:那就把所有交易记录都公开呗,知道了大家所有所有的交易记录,不就可以推算出你这个人现在有多少钱了嘛。
看到这了,你可能不禁地暗暗在心里骂道,这人是不是sb啊。啊,我公开了,大家岂不都看到我的交易记录了,幸好我现在没有几个钱,如果我哪一天中了五百万,那大家岂不都看到了我的账户有多少钱,万一来问我要王者荣耀的皮肤可怎么办呢?
莫慌,此时,中本聪也听到了你心声,不紧不慢地从裤裆里掏出了两样法宝!并宣称,每个人都将有自己独家专享,独一无二,特有的,属于你自己的一个印章,还有一个,就是可以扫描别人的印章的印章扫描器。
一乃 私密之印章,简称印章
二为 无敌之印章扫描器,简称印章扫描器
就拿你要从村口王屠夫那里买二两猪肉来举例吧。
下图为你俩的交易收据
每当你交易时,你都要在你和对方交易的收据上,盖上自己的印章,好处有二。
1. 你需要加盖你自己的印章,而不用写你的真实名字,而你的名字在比特币的世界里是一串独有的,尊贵的,专享的一串代码。而同时印章的图案很诡异(如上图所示),可能是一个在三亚的papi酱,或者一棵在加拿大的枫树。
图案诡异不是重点,重点是,没人知道你是谁,没人知道你竟然花了这么多钱买了村口的注水猪肉。(假定王屠夫和你并不会见面,你买的是超现实的,高科技的黑猪肉,是通过网络传播的,不需要你露面,王屠夫也不知道你是谁,只知道你的代码)
2. 王屠夫怎么确定是你本人进行的交易呢?王屠夫那边,他需要用自己印章扫描器来扫描你的印章,如果显示的代码,就是付款人那一栏里的代码时,就可以确定是你啦~
依次类推,全世界的这种交易都可以完全公开化,就意味着比特币的交易完全公开化,这便是比特币体系的另一大核心价值,透明化(Transparency),需要注意的是,这里的透明指的是交易透明化,你的资产和身份还是被隐藏地很好的,这就是为什么比特币平台可以作为一个很大的洗钱平台,这也是为什么各国政府的政策在打压平台或者说对比特币平台加大监管力度的原因。
因为它保护交易的人儿们的信息,确实保护的很好呀。。。
区块链(Block Chain)
区块(Block)是什么?
还记得我们文章的题目么?人人都可以懂的区块链,之前聊了很久比特币,现在终于引出了这个boss,区!块!链!
别看它有三个感叹号,还被加粗了,但是其实它一点都不难懂。让我们先从区块入手。
你还还记得你和屠夫之间那不可描述的交易么,你还记得你俩之间的交易收据么。没错!区块(Block)的最主要的主体就是由交易收据组成的,基于全世界挖矿的算力(下文会解释挖矿到底是个什么鬼,其实就是寻找一个block,就做作挖矿;那挖到block了呢,那就挖到了呗,厉害了)和仍存于世可以被挖粗来的矿,比特币协会(Bitcoin Association)会根据算法自动调整挖block的难度(Target,或者直接就说成Difficulty),详见Currently Difficulty,界面简单地简直就是程序员作风。
伟大而神秘的中本聪先生早在开天地之始,就已经设定了,每产生2016个block,也就是区块之后,就会调整一次block被挖出来的难度。按照中本聪的设想,大概两周会挖出来2016个block。
也就是维持差不多十分钟的样子,全网的矿机可以挖出来一个block。
但是事实上,挖矿的难度在两周内的值是设定不变的,但是人类的科技是在进步的,人类计算机的算力是在不断进步的,所以理论上2100万个比特币会在2140年被全部挖出,现在可能要提前个26年,到2114年被全部挖出。这些都是题外话了,反正我是等不到那会了。
到目前为止,你可能在心中会问很多问题,关于挖矿的问题下文会继续解释,希望你能够坚持看完我的文字,么么哒。
关于区块是什么样子,来,我来带你看它的样子,并为你解释哟。
区块的组成如下图所示
以上,关于第一部分,交易清单:
很很很很粉粉粉粉重要的一个小概念就是,!!!交易清单指的是,两个区块产生的时间间隙中,这个世界上发生的所有的比特币交易!!!还记得你和王屠夫的交易么,就是那个,但是十分钟,这个世界上千千万万个像你和王屠夫这样的的交易收据都会被记录在上面。
你可能会问,他怎么知道我们那不可告人的秘密(交易)的?
很简单,比特币的一大特点就是交易透明化,当你完成了交易之后,你俩的交易收据会向全网广播,告诉大家你这里有一张收据,也告诉了大家上面的内容,之后所有的矿机都会稍稍稍稍微停下手头的工作,为你来推算你的历史交易记录,来看看你到底有没有足够的比特币来支付这二两猪肉。如果有至少51%的矿机认证了你俩的交易,那就可以了,王屠夫就可以确认你俩之间的PY交易了,他拿到比特币,你拿到猪肉。
关于交易清单,就如前几行所说的,中本聪理想的情况是全网10分钟挖出一个block。也就是说,上图这个block和它前一个block被挖出来相差大概10分钟,而上图这个block被挖出来后就要记载这10分钟内,这个世界上发生的所有比特币交易。
很神奇是不是。我也觉得是,希望我拙劣的解释你能明白。
第二部分,上一张账单(区块)编号:
就是上一张账单(区块)编号。。。
第三部分,幸运数字:
这是一个随机产生的一个数字,我暂时也不知道他具体是做什么,我猜可能是为了加大挖矿的难度的吧。也希望聪明的你和我继续在评论区来讨论,話畀我知。
第四个,本张账单(区块)编号:
暂时你只需要知道,这个编号是一个经过密码学的方式算出来的编号。
区块链(Block Chain)
讲完区块,建在我们就要来到最激动人心的环节了,就是我们的主题了,!!!区块链(Block Chain)!!!
到此嘞,我要从雪球上面盗一张图,相信大家会更加地明白,大家有兴趣也可以点开链接去看一下。
区块链是什么呢?它就是上一条接着下一条的区块(Block),它们连在了一起,像链子一样,所以就,boom!成了区块链(Block Chain)。
That's it, 就是这么简单。
所以!!!这里有一个很重要的知识点,我也是昨天才知道,因为block上的东西是跟据时间线来记载的,所以bitcoin的世界里只有一条Block Chain。
矿机 & 矿池
现在,随着我们不断深入,现在我们就要进入整个比特币体系最最最核心,最最最隐秘,最最最害羞,最最最xx的领域了!
没错!你猜对了!那就是挖矿!
看了上文,你已经知道了,挖矿=寻找block,成功挖出来矿=产生一个block。
so,你也知道全网挖出一个block需要用时大概10分钟了,那么你也一定猜到这个叫block很难产生吧,那么他是怎么产生的呢?
哈希函数(Hash Function)
问得好,这个问题,我打算好好地和你说一说。来,过来,宝贝。
看这里。给你介绍一个神奇的东西,它的名字叫做哈希函数(Hash Function)。
如果你是OS的系统请跟我来操作,不要怕。Windows先等一等。
1. 打开你的终端(terminal)
2. 然后输入md5,按回车(return)
3. 输入任何任何你想输入的信息,比如,我的英文名叫John,所以键入John,然后回车(return)
4. 按ctrl + D
当你低头看着自己辛勤的双手时,当你细细品味你美丽而纤细的手指时,你会意识到那上面的指纹,你手指肚上那一圈圈美丽的弧线是这个世界上独一无二的啊,是你的专属特权。
我猜你也知道我想要说什么了,0f36f95c7f1ddfc81ea827400c4a7c2c,这一串我输入John之后显示出来的字符,也是我的名字,John的独一无二的ID,这就是哈希函数,运用了密码学中乱七八糟的加密方法我也不懂,反正就是很屌就是了~
你需要明白,哈希函数的输入(M)(message)的任何改变,都会引起哈希值H(M)(Hash Value的改变)。我把我的名字变成 John. ,H(M)的值也会大相径庭。
提到了密码学,你可能会想,难不成我们网上的那些账号的密码,都是这样加密的么?
是的,但是具体方法可能没这么简单,但是当你输入了一串字符之后,就会产生一串字符,网站就会验证你的字符串,而不简单是你键入的密码。
这样的东西怎么被解密啊?
不会的,哈希函数屌的地方就在于,你无法从哈希值H(M)追溯到键入的信息M的内容。你会觉得这也太神奇了吧,是啊,可不是咋地,我当时知道的时候也觉得贼神奇。
那我的账号为什么还是会被盗?
我现在就可以立刻查出来123123的哈希值是d2fde576f44a6601b73201234b491904,password的哈希值是286755fad04869ca523320acce0dc6a4。所以重要的东西以后还是设置一些很复杂,最好最好是没有意义的密码,但是大前提还是要能记住的为好。。。
挖矿?
所以我已经知道哈希函数能做什么了,但是哈希函数和比特币,和区块链有什么关系呢?
好的,你问的问题越来越深入了!虽然可能你并没有问这个问题,但是,whatever。我们马上就要触碰到比特币体系中最柔软的部分了,也是最让人激动人心的部分。
天才中本聪设计了一套解密方法,矿工必须解开这个谜题,才可以产生一个block,这个谜题的解谜方法如下
以上的SHA-256代表的就是哈希函数的加密方法,会加密出来拥有256个字符的X,X必须满足一定条件才能成功生成新的block。这个条件可以是前20位字符必须为0,这就导致了矿机需要大量计算和大量舍弃,才能满足256个字符的完全匹配,从而生成一个new block。
值得一提的是上图绿色的256个字符,也是一种随机产生的数值。具体产生的规律,谁来控制它随机产生数值,我还不吉岛。。。但是我会努力在未来弄明白的!嗯!
为什么要把挖矿设计地这么难?& 为什么会有人挖矿?
如果不出意外的话,这应该是这篇文章的最后一个topic了,而且我也很偷懒地就一次性讲了两个问题。我很感激你一直坚持到这里,在这里等着我。谢谢你。
你也看出来了,是中本聪一手把挖矿的条件设置的如此复杂,以至于要消耗矿机大量的电力来日以继日的计算。但是,为什么呢?或者这么问,这么复杂庞大的工程,为什还有那么多的人选择辛勤地挖矿呢?难道他们都姓雷么,是共产主义的接班人么?
当然不是,有着那么高尚的品格和动机的人少之又少。
天下熙熙,皆为利来;天下攘攘,皆为利往。很简单,挖出来一张block之后,你可以在上面写上支付给你自己的比特币账户一些bitcoin,不错,比特币就是这样创造出来的,挖出了一个block之后,你可以写上系统支付给你了多少比特币。然后再广播全网,等待各个矿机认证。
这个系统支付的数量是多少呢,这也是我们伟大的中本聪老师规定好的,一定数量的比特币被挖出来之后,这个挖矿的奖励将会减半,再挖,再减半,再挖再减半。
从2016年开始,现阶段的挖出一个block的奖励是12.5个比特币,奖励还是蛮多的,外加上对于block上每一笔的交易收的手续费:大概是998K*1024*125/10^8≈1.27744个bitcoin,挖出来一个block大概会得到12.5+1.27744=13.57744个比特币,大概是11.58万人民币,12.87万港币(截止2017.04.12 14:37)。
所以,对于一个矿池(就是很多矿基(机)在一起)来说,真可谓一分耕耘一分收获。
看来你和我终于明白,这一切的一切的比特币的来源就是靠着矿工挖出来一个block,然后给自己账户自动加上一定数量的比特币。
这就是比特币的根源啊!
在这里我很愿意和你分享一下,中本聪大人当年创造出来的第一个block
中本聪是不是很聪明啊,这个日本人还是蛮屌的嘛。但是,这里有一个问题,从来没有人见过中本聪本人,中本聪只是一个化名而已,没有人知道他是谁。网上对于他身份的猜测很多,好像是因为他在他最开始向世人介绍比特币金融系统的那篇论文中英文太好,太流畅,所以被怀疑不是日本人。
去年,有个澳大利亚企业家,向世人宣称自己就是中本聪,但是仍伴有很多疑点,具体轶闻有兴趣的同学可以去搜索一下中本聪查一下哦。
赘述
这篇文章写得略显粗糙,我也仍在研究比特币的路途中,更为详细的工作原理和算法,我也还在摸索,以上内容哪里并未描述准确,或者描述错误,希望你直接给予我更正建议。谢谢。
对了对了!截止现在,据文章开头的比特币汇率已经过去了大概六个小时了。我们闲来无事,来看看现在比特币的表现吧~
XXX中国(btcchina.com)
某香港平台
XXXdesk.com
就在我们在这里瞎扯淡的时候,比特币这一天的的表现算不上很好,也不算太差。
anyway,bitcoin有风险,入币须谨慎。
另外外!如果想知道bitcoin之所以为什么叫做bit-coin,bit又是咩意思嘞。此处有个宝贝链接,来自台湾的天龙人Victor Lee老师为你详解bit开关。
这个链接就是中本聪阐述比特币的原始论文地址:https://bitcoin.org/bitcoin.pdf
还有一篇经济学人详细分析bitcoin的文章:http://www.economist.com/news/briefing/21677228-technology-behind-bitcoin-lets-people-who-do-not-know-or-trust-each-other-build-dependable
如果你觉得本文有些帮助,欢迎在简书里打赏啦。
那么,写了这么多,也有点口渴啦,咱们休息一下,择日再聊。亦欢迎在评论区批评斧正,杯杯~