【图文科普】从原始货币到比特币
如果将Vitalik创立以太坊的时间作为行业大规模发展的初始,从2013年开始到现在也只有5年时间。
要知道互联网的基础协议诞生时间是上世纪七八十年代,将区块链理解为初期并不为过,早期的信仰者现在算是小学毕业了,所以在下自封为幼儿园大班班长(也是本幼稚园的话事人),和各位新老韭菜一起,争取混个幼儿园毕业证先!所以之后的一系列文章,咱们就称之为——区块链幼稚园~
姜汁链盟-区块链幼稚园第一课:从原始货币到比特币
各位看官要说了,你丫不是说要号称要做区块链科普第一课嘛,怎么又扯到货币和比特币了……因为,想要说清楚,真绕不开啊 ↓
只要说起区块链就一定会说到比特币,但是说到比特币又不一定能回到区块链上,比如:凭什么这个什么都不是的东西值那么多钱?现在买还赚钱吗?是骗局吗?等等,小队长总结了一下,按照比例大概可以分为下面几种:
第一种叫不听不听型
常用话语:比特币就是传销啊!比特币和庞氏骗局一样?比特币是不是郁金香泡沫?虚拟货币还是非法集资呢!比特币的价值就是洗钱!
这部分占比达到70%。
第二种叫有个朋友型
常用话语:我朋友以前挖了后来丢了!我朋友赚了!后来全赔了!我听朋友说矿机才是赚呢!朋友说显卡涨价就因为它!
这部分占比为20%
第三种叫鲜嫩韭菜型
常用话语:我电脑可以挖伐?去那里买比特币?现在买还包邮吗?区块链就是未来!知道,去中心化!厉害!
这部分占比为8%。
第四种理智学习型
区块链是什么?底层协议如何实现?网络内的共识如何达成?如何解决拜占庭将军问题?Token经济?
这部分占比2%,而在这2%中,真正理解这些问题的人可能不到10%,因为赚钱的热潮和百倍币千倍币的财务自由神话已经代替相关知识占据了大家的认知,一个巨大的盲点就这样被忽略了。所以咱先来个小面积的抽丝剥茧,争当着百分之二里的百分之十,有用吗?
有啊,至少以后可以装逼呀亲!
首先,一句话说一下比特币和区块链是什么:
比特币
互联网上复制原始货币交易的尝试中最接近成功的一个!也是区块链的第一个应用
关于比特币的一句话解释,其实真的有很多种,上面这句话是小队长最赞成的一种,也许不会完全正确,但就中本聪(比特币系统创建者)的本意而言 ,因为也是最接近的。
区块链
一个不信任环境中的去中心化分布式加密账本共识!也是比特币的底层构架
如果要更专业一点,应该说是:区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生产和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。(工信部《中国区块链技术和应用发展白皮书2016》的定义。)
个人认为上面的这个定义并不准确或者说并不完整,因为完全没有提及Token激励,无币区块链充其量其实只是一个中心化的分布式账本(一种完全没有必要的产物!和太阳能手电筒一个级别的东西)
个人赞同这句话: 区块链是一种人类大规模协作的工具,它通过经济的正向和反向激励来实现人与人之间的强协作(客观说,第一次听到是应该是CSDN蒋涛说的,而是不是他第一个讲出来就不知道了)。
那么区块链和现有互联网的关系是什么呢,先看下面这张图↓
这张图我做了很久,因为你很难真正去定义这些东西的位置,先这样表达吧:
比特币的底层构架是区块链,基于区块链发展出的区块链应用,将通过TOKEN(代币)激励的方式,在原有的信息互联网上构建价值互联网和TOKEN经济,并形成新的生产关系。
(也许你会看到很多“专家”说,区块链有价值的,但是比特币是泡沫!这句话只能说明他们也许并不懂相关原理,说句实在的,二者是不能分家的,激励(TOKEN)和惩罚才是区块链去中心和交易安全的本质,离开了激励,连伪中心都做不到。)
当你理解了第一句话,就将遇到了第一个问题:如何在虚拟世界中传递价值?所谓的价值互联网如何实现价值?
再简单一点来说:在互联网环境中,数字要怎么值钱?
所以,这就是为什么这篇文章标题是从原始货币到比特币。我想从价值、从货币的历史和属性说起,也许能更容易理解比特币,也更容易理解区块链和其背后的东西。
首先,货币是什么?
虽然大家在中学的课本中就学过,货币就是充当一般等价物的特殊商品,但即使现在的经济学界,依然没有一个定论,他们说货币是 特殊商品,是劳动时间的体现、是支付能力的表达、是一种债务关系的承载 等等。
似乎每个人说的都有道理却又差着一点,但是可以肯定的是,货币和一般等价物并不是完全对等关系,所以这里我们不用去争论它是什么的问题,先看看一般等价物有什么样的属性:
一般等价物的特性包括:价值尺度、价值储存、支付手段、记账单位以及流通手段,同时也具有上图右的几个特点:区域内的普遍共识、稀缺性、难以复制、可以保值、有可信基础。
如果说特性是从广义来说的本质,那么这几个特点就可以理解为,能成为货币或者一般等价物的商品/物品所必须具备的条件。
当我们将上述的所有属性套入曾经充当过一般等价物的商品后,你会发现,牛羊在流通、保值、储存、记账四个方面似乎并不合适,贝壳/贝币在共识、稀缺、保值、难以复制似乎也存在弊端, 唯一有黄金几乎满足了上述所有的需求 。
从上图,我们发现了一个更加有意思的事情:从牛羊到贝壳到黄金,看似是从物物交换到了币物交换, 实质上是一般等价物从商品的使用价值到商品本身价值的转换,而这样的转换产生的背景是社会大分工的转变也是生产关系的转变 :
第一次社会大分工
是指原始社会末期农业部落和游牧部落从狩猎、采集者中的分离
这个时候,农业部落和游牧部落用牛羊改变了物物交换(比如石斧换浆果),算是初步解决了“双向一致性”(问题就是我要你的果,你要我的斧,可惜我只能给条鱼)。
第二次社会大分工
是指手工业和农业之间的分离
第二次大分工推动了商业的产生,而更频繁的商品交换催生了最早期的货币形态,比如我们所说的贝币,插个有意思的,我们商代的贝币,5贝为1串,两串为1朋,各位一想,朋友朋友,不就是以“朋”友之的意思吗,所以,为啥你的微信朋友圈全是各种晒的,不就是这个意思嘛,所以各位幼稚园同学们!欢迎来和小队长做朋友哈~
第三次社会大分工
是指原始社会晚期商人阶层的产生
第三次分工当然也意味着更加频繁的商品交换,所以,商人出现了,随之出现的刀币、机铸钱、白银黄金等等。黄金这个时候才算是真的成为货币。
第四次社会大分工
抱歉,估计也没谁能说清楚,现在我们是否已经经历过了是第四次,或正在经历第五次的大分工, 但如果我们以改变生产关系和货币存在方式作为标准的话,也许比特币或者区块链资产就是个开始 ,前文也说过区块链广义上也是种人类大规模协作的工具……这个说起来太长,我们就不再做延展了。
说回到黄金,诚如马克思所说,黄金天然是货币,货币天然不是黄金,但是我们依然要问一个为啥呢?为啥就是黄金呢?从化学角度上来说,因为黄金几乎不和其他元素产生反应,稳定!可以分的很小,可流通;自然界居然有单质金的存在(狗头金,路边一捡就一坨);总量可控,就20米的一个立方体;
最最重要的是,黄金好看啊!人类几千年的审美观居然在黄金上达成了一致,神奇的不可思议!黄金的底气居然来源于共识。黄金的本质居然是共识!
所以,在 1880-1914年间,世界各国都形成了金本位货币 (最早牛顿提出,老兄是神盾局,哦不,英国铸币局局长哦)制度,简单来说,“金币”真的有金子在里面哦~这也是最早“汇率”的产生(不同国家货币的含金量),虽然金本位保证了货币的发行,但却失去了对黄金输出的控制,更多的黄金流通到了美国,所以在一战期间,各国都发行了不兑现黄金的纸币,阻止黄金输出,金本位制随之嗝屁。
二战后(1944年),占据全世界黄金储备70-80%的美国请大家参加鸿门宴,成立了 《布雷顿森林体系》 。
简单说就是, 让美元成为黄金的等价物 (35美元1盎司),起到世界货币的作用,因为大家都穷,抱着吃大户的想法就都同意了,于是就形成了以美元和黄金为基础的金汇兑本位制,这种制度一直持续到了1971年,在那个悲伤逆流成河的时代,由于逆差、越战等原因,美元危机持续爆发、人们已经不再信任美元,黄金出逃,尼克松政府实行“新经济政策”,宣布不再兑换黄金,固定汇率也瓦解了,布雷顿森林体系也名存实亡。其实这个体系最大的问题就是,除非美国经济持续向好并保证美元不增发,但在国际环境中,谈何信任?
在金本位&金汇兑本位崩溃后,纸币本位制延续至今,纸币本位不再规定货币含金量,也没有黄金/白银的兑换(买可以,换不行),纸币本位本质上来说是一种信用货币,一个可信任中心以债务方式发行的信用账本/价值尺度。(所以前面我也提到,货币是债务的承载体)
拿刷卡交易来说,银行转账并非我们的账本之间发生关系,而是在各自的账本上分别进行了增减记录,纸币本位利于国家进行市场调控,也更利于流通,当然,弊端又回到了30年代的通胀和货币超发等等问题上,但不得不说,在一个稳定发展的国家,纸币本位确实王道。
废话说了那么多,XX本位制这种东西和比特币又有毛关系呢,恩,毛关系没有,对,比特币并不是现代货币体系下的产物!它更像是贝壳黄金哪一类的一般等价物概念。
(PS:加一句,注意我再前面不断提及的两个词,一个是共识,一个是信任,他们分别代表黄金和纸币,但是,个人认为,还有一个词应该加进来你,就是虚拟货币所代表的“流通”,共识、信任、流通他们三个在一起才是未来~)↓
如果你仔细看了上面的内容,我想让你试着问自己一个问题: 当一个虚拟货币满足一般等价物属性时,它是否会成为互联网世界中的贝壳与黄金?
回到我们最开始的那句话:比特币是在互联网环境下,复制原始货币交易体系的尝试中,最接近成功的一个。
辣么,如何接近于成功呢?
请看下期!
……
……
算了,不用看下期了,一起说了吧……本队长就是这么随意……
首先,比特币究竟是啥,从哪儿来,到哪去!
2008年化名为中本聪Satoshi Nakamoto的一个人或者几个人给一个密码学社区(密码朋克)的成员发了封邮件,邮件内容是: 《比特币:一种点对点的电子现金系统》 (注意关键词“系统”,具体历史什么的我们以后再说)
社区成员打开邮件要看!
卧槽,大呼NB
我猜的哈……
但如果大家深入了解(即看完本文,哈哈哈哈)后确实应该大呼NB才是,这篇论文确实不是什么发明创造,里面所涉及的理论和观点全部来自于已有理论。
NB吧,这篇文章将密码学,博弈论、经济学、分布式系统、编程等等巧妙的融合在一起,好吧,首先还是给大家打个底,比特币区块链怎么运作?在下是这样理解的:
每个人都可以有一本账本,每笔交易都在账本上记录,每个账本同步更新 ,账页都链接在一起,愿意记账的人每记一页就能奖励50块(比特币),每记完一本笔记本,奖励减半。但是每次记账都只能由一个人先记,然后广播给其他人更新,奖励也只能给一个人,所以记账者要争夺记账权,这个过程就叫挖矿,争夺的方式就是做一道数学题,谁先做出来谁有权记账,所有的记账者都只承认第一个算出题的人合法,并放弃当前账页的争夺,并基于该页记录进行下一次记账权争夺。
大概就是这样,看似好像很简单啊,为什么有人说中本聪应该获得诺贝尔经济学奖和图灵奖呢?至于吗……
还真至于,下面我们详细说说,从很多同学津津乐道的去中心化开始。
实际上所谓的去中心化并不是个新概念,即使是在自然界都有去中心的生物,比如个体去中心的水母就是没脑子的典型,他们只有神经系统,再比如蚁群和蜂群,还有一会儿排成个S一会儿排成个B的雁群,再再比如,我们刚说过的原始的货币系统。
相对的,有去中心化系统就一定有中心化系统,咱们来对比下:
典型的 中心比如主权政府下的银行等机构 ,但是个人其实很烦对中心化的贬低和对去中心化的神话,中心化最被诟病的就是权利、信息等的过度集中,但是 中心也意味着更加高效的反应和处理速度 ,不然,国家怎么产生的?去中心那么流弊,人类不是应该被水母淘汰了吗,现在行业内鼓吹的各种上链,链上资产如何神圣不可侵犯,食品上链保证溯源,但谁又能保证上链的过程又是诚实的呢?额,又偏题了……
以上图为例理解
中心化是:全系统同步唯一节点;
弱中心是:多个主要节点共同维护系统;
去中心是全部节点共同维护系统;
虽然我们总觉得我们生活在中心化的系统中,但是仔细想来, 互联网本身的存在就带有浓重的去中心和乌托邦色彩 ,不然你每访问一个网站也许都要向发明了WWW的博纳斯·李付费。
因为网络的出现,我们的信息来源也不仅仅局限于广播报纸等中心化机构,虽然信息的发布依然要基于弱中心的天涯猫扑,当然,现在的微博、头条等UGC平台中心化的意味要更多些。比特币虽然最大的特点是去中心,但其发展到今天,所谓去中心也只是弱中心罢了,比如矿工社区之争,权利的游戏只要在有人的地方就会上演,上图中,我将原始货币放在了去中心的位置,但如果要深究,谁又能说的清楚呢到底合不合适呢。
闲言少叙,书归正传,客观的来说,去中心式的自由主义看起来依然是美妙浪漫的,但真想实现这种系统,并且,在互联网的虚拟世界中实现这种系统,真TM不容易!
为啥,看下图:
A说我有番茄土豆等一堆东西,经过多个节点后,可能最后的信息表示他只有一个番茄,而且这个信息可能又会多次传播,让假话变真话,最重要,别的节点凭什么帮你传输帮你记录呢,简而言之:去中心化系统,首先要假设的就是这是一个充满恶意的地方……(想想八九十年代的金三角…)
上面这些都还不是重点,我们说的是这是一个在互联网中的去中心系统,啥意思,不是两个人喝茶饮酒共叙未来,也不是几个人建群聊天,建立共识,而是机器与机器之间的交流,无数的科幻片都证明过,系统只会按照逻辑和命令执行,你看钢铁侠不也控制不了奥创灭绝人类的决心吗。
所以,从现在开始,你需要从惯性思维中先跳出来,以节点的方式来思考,比如下面将会说到的两个计算机领域的无解问题:
两军问题 和 拜占庭将军问题
两军问题 ↓
两军问题,简单说就是,在一个不可靠通道内,通过通信的方式达成一致存在的困难和问题。原问题咱就不说了,反正就是上图说的那样:
A:我有一个苹果!
B:我知道你有一个苹果!
(好了,你以为这个信息已经传达完成?是,信息是传达完成了,但是他们消息一致了吗?没有啊,A依然不知道B已经知道了这个苹果属于自己,那么↓)
A:我知道你知道我有一个苹果了~
B:我知道你知道我知道你有一个苹果了呢~
A:我知道你知道我知道你知道我有一个苹果!
B,A:……
你说,这不是扯呢么,这段对话中永远都存在一个回执,基本无解……
这个问题其实很多关于比特币的讨论中都不会说,因为这个是互联网早就存在问题,在TCP/IP协议中,这个问题通过“三次握手”解决,什么是三次握手不用深究,但三次握手并不是能解决两军问题,不能解决信息的一致性,而是去验证信息通道的可靠性,于是,我告诉你我有一个苹果,当你告诉我你知道的时候,那我就不管你知不知道我收到你的信息了,反正通道可靠,咱继续深入交流就好……
所以,叽歪那么多,最终这个问题还是解决不了,解决不了先放着呗,反正还有更加难以解决的:
拜占庭将军问题 ↓
大意是这样,上图左边要打右边,但是右边NB,单挑必输,所以左边的拜占庭将军们要合体组成战神金刚……
好像也不用,反正要至少5个将军一起上才有希望,于是,在不同城堡里将军们必须要商量个群殴的时间,于是他们的找来传令兵去其他将军那里传递消息,但是他们的传令兵不都是菲迪皮茨(马拉松纪念的那哥们),也许有传令兵被收买了传假消息,也有传令兵心情不好走一半不去了,于是有的将军收到了假消息,有的将军没收到信息,当然可能某位温香软玉在怀的将军已经叛变,故意传递假消息……
咋办!咋办!
其实也不是没有解决办法,上图中可以每个将军都派出5个传令兵到不同将军哪里,去收集每个将军的意见,也就是说,每个将军都将面对5个传令兵,并告知同样的消息,那么,每个将军手里都会有5份其他将军决定的5种进攻时间,加上自己的一共6种,那么,下一轮,大家如果大家就要在这6个进攻时间里选一个,再次派出信使,只有当大家刚好都选了一个时间的情况下,这个问题才能解决……这是不是更加扯淡!几个将军约个地方开个会多好啊!但是,各位,非信任环境啊,等下你设个埋伏搞掉我,我到哪哭去。
好吧,即使大家终于做下了这个决定,但是现在我们说的将军只有6个,极限是100个,如果把这个数目扩大到一千?一万?
这个就又牵扯到了分布式系统中的CAP理论:
CAP即:
一致性(consistency)、可用性(availability)和分区容错性(partition tolerance)
一个分布式系统中不可能同时满足CAP,“可用性”是必备,但是一致性和可用性不兼容,所以只能牺牲一部分的一致性,实现可用和容错 (这里的容错即允许网络中有恶意节点和失效节点,但是这些节点并不影响整个系统的正常运作)
结合上面的两军问题和拜占庭将军问题,是否,也许,我们可以干点中心化的事情,我们从我们的整体系统中选一个节点,其他的点同步它可以不?如下图↓
A:来来来,各位小点点,我们以前来同步中间那个小红点,然后信息就能保持一致了哦!快赞我!
B:赞你妹,凭什么我要同步小红点!
C:因为它是牛逼闪闪的红色啊!
D:那我也想当小红点,你们同步我嘛,我诚实善良大方有内涵!
E:Too young too naïve,万一小红给我们错误的东西呢?
F:我就想问,当小红有啥好处没?
……
所以!为了解决上面这些问题,选出一个真正诚实善良大方有内涵的小红,比特币采用了POW工作量证明:
POW:proof of work,工作量证明
小红在系统中证明自己付出了一定代价,并发出正确的信息,如果大家验证无误,系统将给予小红一定的奖励(比特币),如果验证错误,小红则不会获得奖励,付出代价而没得到奖励等同于处罚。这样,诚实节点和恶意节点的博弈将被利益左右,当一个吃力不讨好的恶意节点明显不如排排坐吃果果的诚实节点。,
这个就是比特币系统中的POW共识(在其他种类的共识中,比如POS共识中,不诚实节点还将收到额外惩罚)
在很多比特币科普中,都会举一个村中喊话的故事,在下也举个:
村里没村长没银行,治安靠狗,交易靠喊,王铁根给张狗蛋100村币买了个斧头,全村人一起念绕口令,李大嘴念的最快最好,于是李大嘴获得得了这个斧头交易的记账权,并且可以大喊一声,我赢了,我记账,我有10块钱奖励!全村人检查李大嘴有没有记错,恩,正确,于是大家同步了李大嘴的账本,同时认可李大嘴有10块钱!如果李大嘴记错了,那么李大嘴就没有10村币了,你想啊,大嘴天天啥也不干,就练嘴皮子等记账了,所以李大嘴必须诚实啊……
这个例子里,练嘴皮子说绕口令就是POW,李大嘴就是村中矿工,不要忘记了,大嘴的权益是得到10块钱,大嘴的义务是记录和保证斧头交易(大嘴还要验证铁根的100块是不是真钱呀)。
那么,在比特币的系统中,这个绕口令/代价是啥呢?
复杂点说是进行哈希运算(哈希运算基本贯穿了真个比特币系统,后面我们说),说简单点,就是让系统中的所有全球节点,来一场“24点争霸赛”
24点大家都玩过吧,反正把这个游戏的复杂程度提升个几千万倍就差不多了,OK,争霸赛开始!全世界的比特币节点/矿工,开始疯狂运算24点,10分钟后
某潇洒矿工:算完!请各位检查结果,记账权归我!这段时间的交易记录我已经打包记账了,各位请同步我的账本!另外,我在账本上给自己加了12.5块的合法收入哦~
众矿工:检查检查!确实是24点哦,好吧,这轮是在下输了,我赶快同步他的账本,好尽快开始下一局!啥,为啥那么赶,因为我们这是区块链啊!我要在他的基础上才能进行下一轮呢!
比特币网络中的24点争霸赛全天24小时不间断进行,每10分钟1场,上面已经说了,争夺记账权即是挖矿,谁的算力大,谁赢得记账权的几率就大,于是比特币挖矿主力也从CPU到了GPU然后再到现在的ASIC,因此,比特币全网为了争夺记账权所花费的电力也饱受诟病,当然,出于电费等问题,多数比特币矿场都开在电力过剩的区域,哎呀,又开始闲话跑题了……
咳咳,正传哈,这个,算24点嘛,当然也会存在两个人同时算出来的问题,而且如果这两个人分别位于地球的两端,他们播报的广播分别被离他们比较近的两拨人验证承认了,那不是就出来两本不同的账本了?
下图↓
图X
这个就是我们在比特币网络中常常说起的“分叉”(分叉我们以后说),所以,除了POW(工作量证明)共识,比特币网络中另外一个重要的共识就是: 最长链共识!
如上图所示,当黄色矿工和绿色矿工同时计算出基于账本#12的数学题后,他们同时获得了记账权,这个时候账本就分成了黄色区块和绿色区块,这两个颜色的阵营开始扩张,先接收到他们信息和账本的矿工开始基于他们的账本/区块结果进行下一轮的算术争霸赛。
这个时候,突然,人群中一个大光头,哦错了,绿色阵营的的小黑突然成为了新一轮争霸赛的冠军,全网节点一看,原来小黑最长啊!!我们要以小黑的账本/区块开始下一轮啊!黄色阵营纷纷放弃小黄的账本/区块,因为小黑是在小绿基础上完成运算的,那么绿色阵营也成为事实。
最终结果就是,
黄色矿工:实际并没有得到记账权及奖励,最后同步黑色账本并开始新一轮计算
绿色矿工:得到账本/区块#123的记账权及奖励
黑色矿工:得到账本/区块#1234的记账权及奖励
POW(工作量证明)和最长链共识,帮助比特币系统解决/避免了两军问题、拜占庭将军问题、CAP问题(可用性和容错性的统一)以及下面要说到的双花问题。
“双花”即双重支付问题 ,在上述的描述中,我们可以想象这么一场场景:
如果我是一个恶意节点(恶意矿工)同时也是一笔交易的付款方
↓交易:我和A进行了一笔交易,我给他10个比特币,他给我了一个披萨;
↓传播:这笔交易向左边这一半网络传播,并且已经有矿工B记录了这个区块;
↓作弊:同时我在右边这一半网络(还未收到B区块消息的网络中)中将这10个比特币发送给我的另一个账户;
↓变身:我变身矿工,并迅速计算,和矿工B在同一时间得到一个区块的记账权(如图X),于是现在比特币网络分叉,形成两条不同的账本链;
↓算霸:然后我再接再厉!在我的这条分叉上,继续得到24点争霸赛冠军,下个区块记账权依然是我的!
↓作废:于是,全网认定我才是合法的最长链,矿工B记录的区块被抛弃,继而,我给A了10个比特币这件事情也被否认!
↓结果:我免费得到了一个披萨!耶~
看完上面例子,是不是觉得好像比特币的网络中,貌似、好像也不是那么的安全,再看一遍上面的例子,这样做的前提是,我需要在整个比特币网络中连续两次得到记账权(成为24点之王~),
这个也就是我们常常听到的51%攻击,即只要掌握全网51%的算力,基本所有的记账权都是你的了,甚至都不需要51%,可能30%都行,而在现实的比特币挖矿圈子里,国内矿池曾经占据过80%以上的算力……(所以曾经有人说比特币是美帝的阴谋,同志,在这个圈子里,我们才是反派……)
所以……我们可以随心所欲的控制全网啦?
亲,矿工也是人,也是要养家糊口的,先别提我如何才能得到51%算力,即便我得到了51%以上的算力,我是神经病啊我,按照现在比特网络状况,每10分钟有12.5个比特币(后面我们说怎么),每天有144个10分钟,我可以得到1800个比特币,按照写这篇文章的时间,现价55598元/个(5月啊,不是发文时间啦),我一天有1亿……所以,我为了一个“披萨”,放着1亿不要,就和A玩过家家吗……
当然,一定也会有无利益攻击的情况,一心就想搞垮这玩意儿,想想为了理想献身的灭霸同志!但这种情况目前来看是越来越不可能了,矿工越多,系统则越稳定,而矿工的利益和比特币涨跌挂钩,他们不会搬石砸脚,而攻击者只能通过更多的算力加大占比,这个投入……完全没有产出比啊,反派其实也不是那么好当的……但是话说回来有没有这种可能,有!很小!(而且另外需要说明的是,比如你有一个比特币账户,这种攻击对你其实也没什么影响……后面会说为什么你的账户在密码学保护下是安全的,即便遇到51%攻击)
矿工/记账者无疑是比特币系统中的重要一环,上面也说了那么多,大家应该对矿工这个角色已稍有了解, 下图让我们继续来整理下,矿工这个角色的权利和义务究竟有哪些,或者说矿工的共识是什么?
即:验证、传播、打包、奖励
1、验证
每个比特币全节点,都将对每个交易进行独立验证;选择并验证区块链中的工作量证明,并将新区块组装进区块链中;
2、传播
全节点将随时监听全网的新区块,收集并传播未确认的交易记录
3、打包
按照时间顺序建立交易池memory pool(谁给的交易费高先确认谁);完成工作量证明算法,并将交易记录打包进新区块;
4、奖励
以工作量证明得到记账权,并给自己奖励,同时收取当前区块中所有交易的交易手续费(即矿工费)
通过上述的4点,整个比特币网络将由所有拥有共识的自由节点,自发的形成一个可信、公开的交易链条or总账,这个总账将保存在每个全节点上,也就是只要还有1个全节点存在,这个账本就不会丢失,由此,斩草除根比特币的最优方式就是黑掉全世界所有电脑~
好啦,关于共识大概就是这些内容了,最后再提两个问题,其实前文也一直提到,区块是每10分钟产生一个,这个比较好理解,比特币网络中的24点算力大赛,将自动调整难度,以保证这道题10分钟才能算出来。
而这个难度调整,每2016个区块进行一次,就差不多一天半,系统一看,哟,最近9分钟不到就算出来了,难点!又过一天半,一看,呦13分钟才出一个,那再简单点,大概就这么个道理。
然后,系统又一想,这个没有稀缺性也称不上虚拟黄金啊,得总量控制啊,那这样,我们再规定个减半法则。
于是,比特币系统中,挖矿/记账得到的比特币, 每210000个区块后开始减半,按照每10分钟一个区块,每年产生52560个区块,所以比特币的发行(奖励)每四年奖励减半一次,直到2140年将挖出最后一批比特币,于是比特币的总量将恒定在2100万个 ,顺带一说比特币的最小单位是“聪”↓
那么问题又来了,当挖矿得不到奖励的时候,谁来维护这个网络呢?
交易费啊亲,人家帮你记账也是有代价的。(关于具体交易的内容等下又说)另外,从所谓的产业发展来说,最有可能的是会派生出一堆基于比特币的侧链(可以理解为一个基于比特币的支付通道的代币),当然,也可能几年后,挖矿的方式/共识机制也可能有所升级也说不一定呢……
好啦,关于共识、挖矿什么的就说到这里,好吧,恭喜各位幼稚园同学,在我叽叽歪歪中,咱们幼稚园的同学们已经耐心看完1万字了,各位再坚持下!看完下面的7000字你就能上咱们幼稚园的大班了!
前面我们所说的基本都是大方向和大概念,其实这些东西和我们也没啥关系,除了装逼也没啥用,接下来要讲可能和我们有那么一点点关系:
在比特币系统/网络中,我们交易的究竟是什么,所谓密码学到底是怎么加密的?
先弄清楚第一个问题:
我拥有一个比特币,我拥有的到底是什么?一串字符?一个代码?
都不是,其实:
我拥有一个比特币≈我拥有比特币系统/网络中数字“1”的使用权
各位也应该注意到了,前文中说起比特币都会说比特币系统(比特币网络或比特币区块链),也在前文图中特别划过重点,为啥不直接说比特币呢,其实吧,“比特币”是把一个抽象的概念具象化以后的称呼,只有加上系统、网络、区块链的后缀才能算是个正确的叫法,并不是在下要傲娇的维系正统,而是因为如果只是具象化的称呼为比特币,就很难去理解你真正拥有的是什么,而这一点真的少有人提及,恩,找个也许不那么恰当的比喻:
在某个魔法世界中,我是黑暗魔法师,当我需要召唤个骷髅兵时,首先我要念出咒语:“隐藏在虚空中的存在啊,以我姜汁小队长之名召唤你,现世吧~”然后,我通过自己的魔力牵引,从虚空中,召唤了一个骷髅兵……
我召唤出来的骷髅兵就是比特币,我念的咒语就是密钥,我的魔力就是比特币系统,其实我并不拥有这个骷髅兵,但是我能通过魔力和咒语召唤它,用完了它还是会回到虚空中,但这个骷髅兵和我建立了一定的契约关系,这个契约也可以转让给别人,没有人能真正拥有虚空,因为它是很多魔法师共同维护的空间……大概就这个意思……
所以,如果要完成一笔比特币网络中的交易,首先要确认的就是你对“1BTC”的所有权:
按照比特币白皮书里的观点,目的就是在非信任环境中建立不需要信任的信任关系, 第一重信任是节点共识,已经通过POW共识和最长链共识达成,现在就是第二重共识的建立,即:凭什么我要信任“1BTC(比特币)”属于我,别人拿不走(除非我允许)这件事情。
So,我们 通过比特币地址、数字密钥和数字签名三者确认和验证所有权 ,三者虽然都是密码学的产物,但是核心仍然是数字秘钥,所谓加密,也并不是加密交易过程,而是数字的所有权,So,比特币的匿名匿的仅仅的谁拥有密钥这件事儿,所有的交易,转入转出甚至都能追溯到这笔钱的诞生(首次被矿工“挖出”)。
理解交易从理解秘钥开始,理解秘钥从私钥公钥开始, 简单来说, 私钥用于付款,公钥用于收款 。
私钥将基于特定交易(即每笔交易)生成特定的签名, 此签名可以在不泄露私钥的情况下,通过公钥进行验证 (其实公钥和私钥并不像银行账号和密码的关系,交易过程更是个很抽象的过程,我们下面在具体说吧)。
私钥、公钥、地址三者的关系如上图所示, 私钥生成公钥,公钥生成地址 (地址更像银行卡账号), 这个过程通过密码学生成,整个过程基本不可逆 ,至少以目前的地球技术不可能逆推(如果拿到5颗无限宝石或者7颗龙珠也许可以)。
来,我们现在以下图来告诉你为什么过程不可逆,中间涉及的运算什么的你不用知道是什么,反正很NB就是了……
开始了哈(下面这段内容可以直接忽略,直接看图就行,我保证没有人理过这样一张图):
1、找随机数
私钥的本质其实就是在1到2^256(2的256次方)之间随机选一个数字,这个就是比特币私钥的本质。
(位(bit)是计算机的最小单位,表示2进制中的0和1,1 Byte(字节) = 8 Bits(位),1个16进制数=2 Byte(字节)=4 Bits(位))
这个随机数的选取会在比特币系统中完成,2的256次方看起来好像不怎么大,但你要知道,双色球的中奖概率大概是2的25次方,反正就算你连中好多好多亿次双色球,也拿不到两个相同的私钥随机数。
2、随机数变私钥
将随机数进行哈希运算(散列函数),生成256位的2进制数,通过64位的16进制数表示,这个就是我们能看见的私钥,私钥是唯一的所有权证明,所以如果你要进行区块链资产投资,一定要记住,私钥很重要!丢了找不回!不能给人看!
3、私钥变公钥
私钥会通过一个很牛逼的-椭圆曲线乘法得到公钥,反正你只需要知道有这么个东西就可以了……
公钥就是椭圆曲线上的一个坐标点,这个坐标点的X,Y加一起,然后再加上一个前缀04(表示非压缩格式,压缩格式是02/03前缀),组成了04XY的格式,这个就是最原始的公钥:
x = F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A
y = 07CF33DA18BD734C600B96A72BBC4749D5141C90EC8AC328AE52DDFE2E505BDB
(来源《精通比特币》中案例)
公钥= 04F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A07CF33DA18BD734C600B96A72BBC4749D5141C90EC8AC328AE52DDFE2E505BDB
全部加起来就形成了一个130位的16进制数(上图中请不要将“位”单纯的当做单位哦,你懂的)
4、继续哈希
将上面的结果继续哈希运算,得到一个64位的16进制数(这里需要特别说明,哈希运算的特点之一:输入任意长度的字符串,运算后输出的字符串长度统一)
5、换个方式继续哈希
取上一步结果,计算RIPEMD-160 哈希值,哇,这次不是SHA256哦,反正我说不明白您也看不懂,反正我们又得到了一个40位的16进制数。
6、加入版本号
在上面的40位16进制数前面,加上地址版本号,当前的比特币主网版本号是” 0x20”(特别再说下” 0x”表示后面接的数字是16进制数哦),得到一个42位的16进制数到这一步,我们的地址就算完成大半了。
7-8、再算两次哈希
取上一步结果计算SHA256得到64位的16进制数,得到结果再次计算SHA256,然后得到的还是一个64位的16进制数。
9、提取校验位
取上一步结果的前8位16进制数。
10、拼装原始地址
找到第6步的那个42位的16进制数,把第9步得到的的校验位加在第6步的后面,然后我们就能拼出了一个原始地址——一个50位的16进制数。
11、转码最终得到比特币地址
最后一步!用base58再来转换一下!最终就得到了我们常见的以1开头的比特币地址(当然现在一些比特币钱包生成的地址也有3开头的,可以理解为更安全一些…吧)
以上的 1-11就是从私钥→公钥→地址的过程,这个看似复杂的过程,不仅保证了我们对资产的所有权,同时也让整个网络中的交易可信可追溯。
下一个问题:
比特币的交易就是地址到地址,通过私钥公钥转让所有权的过程。
这个所有权的转让过程中,比特币的单位是-未花费交易输出(UTXO)。
我有1比特币,大概意思是:我有1单位的UTXO,而且我还有上一笔交易输入的证明。
在中心化的账本中,比如你的银行卡或支付宝,可用的钱即是余额,当我需要刷卡支付100块时,银行/支付宝会验证我账户余额里是否有100块,但是在比特币系统中,却需要用更加轻巧且可靠的方式达到验证余额的效果,即UTXO(未花费交易输出)。
再次拿魔法世界举例,召唤兽(比特币)悬浮在虚空中,我可以通过咒语(秘钥)调用它们,所以魔法师并不需要每个人都有个精灵球用来存放召唤兽,虚空中的所有召唤兽都是有血统和战斗记录的,所以我也不用担心召唤到假货。
了解了吧, 我有1比特币,并不等于在我的地址账户里有个“1”,而是在整个比特币网络/系统中,被我锁定的未花费交易输出有“1”,而这个1单位的未花费交易输出是上一个人给我的。
再换句话,UTXO实际上就是低资源占用的余额体系,验证余额的目的是为了确保目标账户有实际可执行的资产,UTXO也是同样的目的,每个人都有总账很科学,但这个账本一定会很大,中心化甚至弱中心化的系统没问题,但在纯粹的去中心系统中,即使账本的同步都会成为很大的问题。UTXO保证了目标账户可执行资产的合法性,又节省了空间,大写的漂亮!
一句话总结: 拥有历史记录的UTXO就是比特币系统中合法的“钱”
在一笔交易中:
支付:支付者将解锁一定数量UTXO给收款人,并在这笔UTXO上使用收款人的秘钥加锁,使得收款人能拥有这个UTXO。
找零:支付者创建新的UTXO重新加锁,即找零,作为下一笔交易的支出。
通过解锁和加密,实现比特币系统中的价值转移,当然,不要忘记,为了能让系统承认这笔交易,我需要让矿工记录该笔交易,所以支付者也必须要再解锁一定数量的UTXO作为矿工费支付给记账人/矿工
如下图↓
OK,现在让我们再深入点,看看B和C交易背后,他们各自的账户究竟做了些什么事情:
事件:B给了C一笔钱。
概述:B创建了个B→C的交易,并在交易上加上了C的公钥,然后在这个交易里用自己的私钥签了个名。C用B的公钥解锁签名,验证后就可以用这笔钱咯(因为里面有C的公钥啊~)。
具体一些,B和C分别做了什么事情呢?继续看图说话 ↓
B要做的事
1、B找到自己的上一笔交易来源(这笔交易是A给B的,交易里有B的公钥,所以B可以用这笔UTXO);
2、B给这笔交易加上C的公钥,计算他们的的哈希值,得到“锁1”;
3、B用自己的私钥对“锁1”进行加密;得到一个“签名”;
4、B创建交易B→C(包含C的公钥),加上上面得到的“签名”,一起发送给C,即交易单+签名;
C要做的事
5、C收到了B给自己的交易单和B的签名(第三步);
6、C用B的公钥解密B的签名,得到“锁2”;
7、验证“锁2”和“锁1”是否相等,如相等,则证明这笔交易有效;
8、终于!C拥有了这笔来自B的钱~ (呼,有耐力的同学请自行参悟,多看两遍就明白,没兴趣的了解概述内容就OK)
看到这里,无论是否理解,至少也会有种不明觉厉的感觉吧,中本聪将博弈论、经济学、密码学等一系列东西等近乎完美的融合到了比特币系统中,从分布式系统到POW共识、哈希函数等等,所有的东西都并非他发明,但这一系列的东西组合后,我们得到了开篇说过的那句话:互联网上复制原始货币交易的尝试中最接近成功的一个,甚至可以加一句:没有之一!
恩,吹嘘先到此打住,这个似乎很NB的东西难道就没有什么弊端吗?
比特币区块链当然不是完美的,甚至现在已经暴露出了很多问题,所以迭代版本的区块链2.0、3.0层出不穷,都号称是在解决区块链1.0(比特币)的痛点,比如以图灵完备著称的以太坊,完善的就是比特币系统中的脚本系统(虽然现在以太坊实际的最大价值变成发币,作为Vitalik粉,心痛他1分钟),而比特币系统中最大的问题还是其交易速率的问题:平均每秒只能处理7笔交易。
那么这个 每秒7笔的交易是咋来的呢 ?
因为爱情,不,因为区块大小啊!这个包含着交易记录的区块!这个众多矿工们争夺其打包权的区块!每个只有1M大小啊,什么概念,还没有这张图大啊……你问为什么,因为这是系统规定的啊……为什么规定是1M呢,你想啊,假如是100M,就和你去饭馆里吃饭一个道理,本来大家点的都是家常菜,上菜速度都差不读 ,现在你偏要说:大家都点满汉全席吧,敞亮!结果就是有的桌菜都没上,有的桌汤都喝完了。
100M的区块在网络里传播,离得近的收的快,人家都算出下一个区块了,你还在同步数据,这不是逼大家掀桌子嘛(关于比特币里注明的区块扩容之争以后说咯)。
那这个1M的区块里有啥呢?
每个区块都分为区块头和区块体,我们所说的链即是区块头组成的链,而区块头包含了
版本号:
用于跟踪软件协议更新(当前版本号0x20)
父区块哈希值:
应用上个区块的哈希值
Merkle根:
区块体的摘要
时间戳:
该区块产生的时间
难度目标:
即工作量的证明
随机数:
用于变更区块头的随机数,为满足难度目标
我们通过对区块头的两次哈希,得到区块哈希值,这个哈希值将成为下一个区块所引用的父区块哈希值,新区块不断添加在老区块后,我们将之称为区块高度。
区块体稍微单纯点,该区块内所有的交易,都会在区块体内,通过Merkle树表示,目的是用来归纳区块内的所有交易,让验证变的更加方便高效,简言之就是两个相邻交易串联后计算哈希值,直到最后生成一个顶点,即Merkle根,Merkle根归纳了该区块内的所有交易,并储存于区块头。
区块头是80字节大小,区块体是1048496字节,那么加加减减一下↓
一笔交易的平均大小是250字节,1048576字节约等于4194笔交易,一个区块的出块时间为10分钟(挖矿难度保证10分钟内出块),4194笔/600秒,约等于每秒7笔交易,所以比特币网络中每秒的交易速度仅有7笔。
每秒7笔交易是个什么概念呢?看下图:
2017年双十一,支付宝公布的交易峰值大概是25万笔/秒,信用卡品牌VISA,2017年公布的交易峰值是每秒处理6.5万笔交易,对比比特币网络的7笔……
这个交易速度意味着,如果想快速完成一笔交易,将会支付高额的交易费,比如当B和C交易时,如果B所设置的交易费(矿工费)较低,矿工会优先记录交易费高的交易,而B和C的交易可能会被放在交易池里很久才会确认,所以完全的去中心化必定会有一定的代价,现在号称区块链3.0的EOS利用更先进的技术和DPOS共识达到每秒百万级(号称哈)的交易速度, 但也放弃了一定的去中心化。
当然按照网络目前的传输速度,将区块大小扩容到2M,并不是什么问题,什么隔离见证(已在2017年8月激活)、闪电网络等等都是解决方式,但是这里又涉及到了比特币社区(松散组织)和矿工团队的意见冲突、分叉(比如因为不接受隔离见证分叉出来的原教主义——比特币现金(BCH))……
所以如此NB的比特币也有很多问题,比如我们前面说过布雷顿森林体系,其奔溃的原因之一,就是通货紧缩,比特币同样有这个问题,当然,电力浪费也饱受质疑(虽然,多数比特币矿场用的电其实是富余电量,亲,电不是快递,输送也是有损耗的,一些水电站在丰水期的电其实很多浪费了)。
个人觉得最大问题还是:认可度
这个东西实际很复杂,而99.9%的非从业者是没有耐心去了解学习的,连知乎上关于比特币的反对声音都层出不穷,小队长个人其实都很不理解为什么类似这样的话:“我不了解比特币,但是不妨碍我评价它”都能得到赞同,你们好歹多了解点,要黑也能黑到点上啊,非要扯上郁金香和庞氏骗局……
但是!但是!但是!请分辨利用比特币和区块链概念做传销和资金盘的垃圾!所谓币圈是什么,就是一个集合了天才!圣人!韭菜!诈骗犯!传销头子!假大师!骗子的地方,几乎每个微信群QQ群里都有这些人,什么假爱次偶、假带投,有人前一秒还在询问什么是比特币区块链,后一面就发朋友圈宣称发个XX币了,为什么知道,因为这人问的问题就TM是我解答的,还有做假矿机的,做假关系的……所以这里也和大家提醒下,只要是:承诺收益!分级奖励!拉下线!预投资!都是骗子!
如果你能将这篇长文看到这里,应该,可能,也许对比特币有所了解了吧,其实本来只想从货币价值来谈谈比特币,但做下来才发现,其价值还是由整个系统所保障,所以有了这篇炒鸡长的图文,希望对你有所帮助。
洒脱西那卡摩托(假装):无论比特币的定义是不是货币,它实际已经成为了互联网上的一种资产,无论你对区块链的态度是支持还是反对,它实际上已经成为了人类大规模协作的方式。(区块链价值咱们下次说吧)
段子1:
假如你是一位女性,你男朋友每次跟你说一句肉麻的话或者承诺给你买东西,你都立刻录下来并且发给你的和他的所有闺蜜、同学、同事,还有各种群和朋友圈,让他再也无法抵赖,这叫区块链。
存在问题:
第一,信息可信度问题,这个假设的环境是所有人都信任女朋友,而区块链假设的是一个不可信环境,所以男朋友同样可以加录一条“其实是开个玩笑”然后传给所有人,听谁的信谁的?
第二个问题是记录者权益的问题,段子里的闺蜜、同事、同学凭什么要帮你记录并证明这句承诺,如果天天都在承诺,岂不是所有人什么事清都不干,就帮你记啥时候男朋友买包包了,而且还没有收益……
第三,信息同步问题,朋友圈里,有人看到有人没看到,如果有部分人只记录了男朋友一年前说要买包的话,这句话现在是否可以再次执行?
第四,这是链吗?这是分布式账本,而非区块链,承诺和承诺相连也许可以,但问题谁帮你记录?女朋友和男朋友分别发出的承诺链,就变成分叉,朋友圈信那条链?
段子2:
麻将是中国传统的区块链项目:四个矿工一组,先碰撞出13个数字正确哈希值的矿工可以获得记账权并得到奖励。不可篡改。因为说服其他三个人需要消耗太多算力和体力。
问题来了:
第一:奖励?麻将是零和游戏,所获得的奖励是别人的投入,比特币矿工获得奖励是系统发放,即比特币发行过程;
第二:区块及记账权问题,矿工有获得奖励的权利,同时也有记录10分钟内所有交易内容的义务(矿工获得奖励也算交易),传播、接受、验证交易信息的义务,而麻将并没有交易记录;
第三:不可篡改,不可篡改不是因为说服消耗,而是要保证在前一场和后几场麻将中都要赢才能改变当前局的交易,并且不可篡改的不是奖励,而是该局/区块内的交易;
第四:共识的问题,每局麻将的结果是下一局麻将的开始,也算链的概念(就前几幅图我们说了区块头收尾相连哦),共识是当前麻将的规则,但是这个共识每个地方都不一样,多种共识就等于多种分叉……好吧,这个不算问题,好像说得通……
好啦好啦~姜汁链盟的区块链幼稚园第一课,咱们就上到这里吧
之后讲什么呢,等我想想先,总之还是开始那句话:把我知道的告诉你,用我学习的启发你~
제니시스 CEO "공매도, BTC 하락 원인 아니다"
제니시스 CEO "공매도, BTC 하락 원인 아니다"암호화폐 전문 미디어 AMB크립토(AMBCrypto)에 따르면, 글로벌 최대 암호화폐 장외거래(OTC) 시장 중 하나인 제네시스...
블록체인 미디어 블록인프레스, BTC Media와 지분스왑 글로벌 미디어 기업과 파트너십 체결 - 신생 미디어 스타트업과 글로벌 미디어 기업간 이례적 파트너십 - 블록인프레스, 한국 시장 넘어 글로벌 진출 계기 마련
국내 블록체인 전문 미디어 블록인프레스와 세계적인 블록체인 미디어 BTC Media가 손을 잡는다. 양사는 14일 지분 교환(스와프)을 통해 파트너십을 맺고 국내외 독자들에게 블록...
중국 암호화지수에서 비트코인(BTC)이 17위로 추락한 이유는?
암호화폐 매체인 크립토베스트(Cryptovest)는 중국의 블록체인 평가단 리더와 만나 비트코인(BTC)의 순위가 왜 그렇게 낮은 순위에 있으며, 이오스(EOS)가 갑자기 30개의...