以比特币的工作原理来彻底理解区块链和数字货币的本质和价值

论坛 期权论坛 区块链     
Hyrik   2018-11-20 23:28   5222   0
            大家好!我是hyrik老师(hyrik2018),七年虚拟货币玩家,大牛谈不上,但是也带着一千来号学生做了几年投资了,没错过比特币,没错过以太坊,没错过山寨币,没错过ICO,回报在1000倍左右了,现在在做交易所,带学生,也会做些私募,带学生让我很有成就感,他们平均也获得几百倍回报了已经,也欢迎大家随时交流。
你们的hyrik老师又来了,持续了大半年的熊市,韭菜们是不是快熬不住了,那就学习一下出抄币之外的一些东西来充值一下信仰,正所谓熊市好好学习充值信仰、囤币,不割肉,静等牛市才有货出嘛,今天我就好好给大家讲讲比特币的工作原理,让大家也理解一点区块链和数字货币本质上的东西!
这篇文章我将为大家讲解一下问题
第一:比特币为什么会诞生
第二:比特币的工作原理
第一:比特币为什么会诞生

2008年金融危机我想我们带着问题来理解这个概念就会容易一些。
区块链的核心是,分布式账本(分布式数据结构)、分布式网络(p2p网络)、共识机制(信任机构)。区块链最大应用和起源是比特币,而比特币的诞生是为了解决中心化机构对金融的控制以及金融安全与信任问题。所以我们从比特币的诞生说起来讲解什么是区块链技术,什么是数字货币。这样你可能会比较好理解一点。
比特币的基础是密码学,这点可能会让很多不了解的人感到吃惊,不是说比特币是一种货币吗?难道它是一个发送秘密信息的方式吗?
实际上,比特币想要解决的问题绝大部分是关于保护交易的——保证人们不能偷别人的东西或冒充别人等等。在原子组成的物质世界里,我们通过锁,签名,银行保险箱等等来保证安全。在信息世界里我们通过密码学来保证安全性。这就是为什么比特币的核心是密码学的协议。
这一点我们从一个列子中来说明一下:
首先在我们现在生活在的原子组成的世界里,我们的钱(RMB)是这样来的,我简单的说一下。大家知道我们使用的钱是用纸做的,那么他为什么有价值呢?
第一:他有一个政府的背书,由政府统一规定和印发,然后统一执行之后让民众达成共识,共识就是这个样的纸的价值是多少,让民众知道!
当然这里面涉及到很多金融方面的知识,我就不去深究了,这里就是想告诉大家这张纸有了价值是政府让民众达成了价值共识。
第二:比如这张纸的独特性,每一张这种纸是不是都独一无二的。不然在利益的驱使下任何人都偷偷去印刷这种纸怎么办,于是为了防止这种事情的发生,政府选择了特殊的纸。给这些纸印刷了独一无二的编码,以及各种防伪手段,目的就是使这张纸是独一无二的。
但是大家也知道,人性是只要有利可图,就不缺少作恶的人。
所以无论怎样阻止还是有了假钞,为了杜绝这种现象国家用法律来约束了这种行为。
但是每年因假钞背叛死刑的人也不计其数。
就是上面这样一个过程,共识、独一无二、法律、安全保护、政府信用背书等使得一张纸有了它的价值。
通过上面的问题我们可以知道那张纸的价值是这样来的。
之后问题来了,这张纸是不是全世界的人都认呢?
答案大家都知道,美国有美国的纸,韩国有韩国的纸,日本有日本的纸,反正就是各个国家有各个国家的纸。
你拿着自己国家那张独特的纸去大多数国家是不可以直接使用的,要使用你要经过很多兑换和中间机构的参与。
于是人们开始寻求一张可以在多国使用的纸。

首先想成为这样一张纸的必须具备这些条件。
第一:有一个非常大的政府做信用做背书
第二:一个非常强大的国家做后盾
美国符合了这些条件,于是美国的这张纸成为了国与国之间的通用纸和结算纸。
但是一次次的金融危机,使得这张纸也在很多人心里产生了信任危机。
终于在2008年那次金融危机里面让很多人不在愿意去相信这张纸。
于是有这样一个人开始了他大胆而且疯狂想象和行为。
他叫中本聪。他想弄一个参与者认为是公平、公证、安全、所有参与者共同做信用背书的虚拟纸来解决那些一次次被政府信用背书伤害的人的顾虑。但是怎样设计这张纸才能达到以上效果呢?这个时候一个伟大的技术被淋漓尽致的运用了,他就是区块链技术。
第二:比特币的工作原理

什么是区块链技术?
什么是数字货币?
区块链技术和数字货币的关系?
在上文中我们不是说到2008年中本聪想要搞一张虚拟的纸,由所有的参与者来做信用背书,同时要让所有的参与者感到公平、公正、安全等。
那怎样去创造这样一张纸呢?
用区块链技术设计一张虚拟的有价值的“纸”
我们先想一个问题,在传统的纸币里面,因为是由原子组成的物质,我们是看得见摸得着的,所以我们只要保证他的独特性、安全性就可以反复使用了,也就是说同一张钱我们可以让他在流通过程中在不同的人的手里面反复使用,然而对于数字货币来说,或者说对于一串代码一串字符作为钱的话,我们怎样是他有同样的效果呢?如果我们能解决这个问题,我又怎样能防止其他人伪造一串字符,这只是用信息做货币要解决的众多问题中的两个。
我们想办法提供一个字符串来作为钱,并且想个办法保护它不被伪造。
假设有一个人,我们叫他小明要把一个作为钱的串码给另一个人——大明。
需要写下一个消息:“我小明要给大明一个钱串码”。
她然后用数字签名的办法将这个信息和一个私钥(这个私钥是随机生成的一个64位数)一起签下名产生一个结果。
并且将这个签了名的结果字符公布给整个世界。
(整个世界就是指整个分布式网络上的参与者)
世界上任何人都可以用小明的公钥去验证小明确实是那个签了名的人。
其他任何人都不可能产生那个签名的结果(这个签名只可能从小明拥有的私钥产生,这个原理来自于数字签名,不懂的可以自己找资料看看),所以小明不能反悔说“不,我没有给大明那个钱串码”。
这样,这个协议提供了小明确实有意向给大明一个钱串码的证明。
同样,其他任何人都不能产生那样一个签了名的信息,这样防止了任何其他人伪造小明的信息。
当然,当小明已经发布了他的消息之后,其他人是有可能复制这个消息的,但是发布之前不可能伪造。
所以,证明意向和防止消息发布之前被伪造这两个功能是这个协议里真正值得注意的特性。
在这个过程中钱是什么呢?
明确的说:钱其实就是这个消息本身。
也就是说那一串代签了名的代表着“我小明要给大明一个钱串码”的字符。
就是这次交易中的钱。在这里很多人又会有一个疑问,就是钱串码的问题是小明可以重复地给大明发送同一个签了名的消息。
假设大明收到了100份这样的消息“我,小明,要给大明一个钱串码”
这是说明小明给大明了100个不同的钱串码呢?还是小明只给大明一个钱串码,只是不小心消息重复了呢?
或者是小明想要欺骗大明让大明相信小明给了他100个钱串码,而实际上给外面世界发出的消息只证明了小明只给了一个钱串码。
那是不是我就可以无限的花费这种有价值的信息了吗?就像传统世界里面的钱一样,我们得保正每一个的独一无二性。
用序列号来给货币一个唯一的标识

连号我们想要的是让钱串码有个唯一的标识。
它需要一个标签或者序列号。就像纸币上面的编码一样。
小明可以在消息“我小明要给大明一个序列号为874034890的钱串码”上签名。
之后小明如果在另一个消息里签名 “我小明要给大明一个序列号为877043188的 钱串码”,这样,大明和其他人就会知道这里两个是不同的钱串码。
为了让这个方案可行,我们就必须要一个可信的序列号来源。
在传统世界里面,这个产生序列号来源的办法是建立一个机构比如银行。这个银行将会为钱串码产生序列号,记录谁拥有着哪个钱串码,并且验证交易的真实性。
更详细的说,我们假设小明去一个银行,说“我要从我的账户里取一个钱串码”。
这个银行从他的账户里减掉一个钱串码,然后给他一个新的从没用过的序列号,假设是“1234567”。
然后,当小明想要给大明发一个钱串码的时候,她给这个新的消息签名“我小明要给大明一个序列号为1234567的钱串码”。但是大明不只接受这个钱串码,而且他去联系银行,确认两件事。
第一,序列号为1234567的钱串码确实是属于小明的。
第二,小明还没有花掉那个钱串码。然后银行更新它的记录来显示那个钱串码现在是属于大明而不是小明。
在比特币的世界里从这个协议里剔除掉银行。方法是让每个人共同合作成为银行。
尤其是,我们假设每个用钱串码的人保存一份完整的记录,这个记录包括哪个钱串码属于哪个人。
你可以把它想象成一个共享的公开的账本,这个账本记录着所有的钱串码的交易记录。
这个公开的账本我们就将它叫做“区块链 blockchain”,因为比特币里面就是这么叫的。
现在,我们假设小明要将一个钱串码给大明。她在消息“我小明要给大明一个序列号为1234567的钱串码”上签名。
并且将签了名的消息输出结果给大明,大明可以用他自己的那份block chain去检验,“OK,确实那个钱串码是小明给我的”。
如果他检查没问题,他就将小明的消息和自己接受这个钱串码的消息公布给全网络。然后所有的人更新他们的blockchain。
但是这个过程种有一个比较严重的问题就是,假设,小明同时给大明和天天发送了一个“我小明要给大明一个序列号为1234567的钱串码”、“我小明要给天天一个序列号为1234567的钱串码”,而且巧的是大明和天天又同一时间验证了这个blockchain里面的消息,在不知道对方消息的情况下确认了,然后公布在全网上,所有参与者怎么去记这笔账呢?
这也就是比特币里面的双花问题,这个问题目前比特币的解决方案是当大明或者小明接收大信息是不是单方面的去确认,而是先全网公布,然后让所有参与者去验证。
这样所有参与者就会发现小明的这个操作是不对的,就不允许这笔交易达成了,但是呢?假设小明想要在上述的协议中双花,他掌管整个的钱串码网络。假设她用一个自动的系统在钱串码网络上建立很多个不同身份的账户,假设有10亿个。和之前一样,他试图进行双花,将同样的钱串码给大明和天天,但是当大明和天天询问钱串码网络来检验这个交易时,小明的水军们淹没整个网络,告诉大明和天天他们可以通过这个交易,并且可能欺骗他们其中一个或者两个人都接受这个交易。那比特币是怎么解决这个问题的呢?
有一个聪明的办法,用一个叫做“工作证明Proof-of-work”的方法。

工作证明Proof-of-work1:人工的让检验交易的过程花费较大的计算开销;
2:奖赏他们帮忙检验这个交易。用奖赏的办法激励在该网络上的人去验证交易。
加大交易验证开销的优点是验证不会再被那些拥有很多账户的人控制,而是只会被他能提供的总共计算能力控制。我们将会看到,通过一些聪明的设计,我们可以让欺骗者必须花费非常大的计算资源来达到欺骗的目的,让它变的不切实际。这就是工作证明的要点。
我用最通俗解释一下就是说,在验证每一笔交易时都由所有的参与者的算力去验证,当小明向全网公布他的交易时,所有人都先去做一个数学难题,这个数学难题就是哈希函数SHA-256,这个题有一个特点就是他与智商,情商,灵活度完全无关,只由算力决定,你的算力越大,你得出正确结果的概率越大。
这个数学难题还有一个优点就是我们可以通过规定需要零的多少来控制工作证明难题的难易程度,也就是说他的难度是可以调控的。具体为什么会有这样的函数你可以去找资料详细了解一下哈希函数SHA-256,这样一来,当一笔交易在全网公布出来之后大家就一起去解这道数学难题,谁先解出来正确结果谁就有记账权利。
这时候疑问又来了,那就是参与者为什么要贡献自己的算力来争取这个记账的权利呢?
为了让工作证明这个方案的运作起来,网络的参与者应该需要一个激励机制来帮助验证交易。没有激励机制的话,没有人会愿意花费自己的计算机算力来帮助检验交易。如果网络参与者不愿意花费算力,那么整个系统就不会运转。因此,我们可以通过给他们一些钱串码的方式来奖励任何成功验证了交易的人。若给他们提供的钱串码奖励足够的多,可以激励他们来参与验证。在比特币的协议里,这个验证的过程被称作“mining” (挖矿)。每一个交易区块的验证成功者都会获得比特币作为奖励。最开始的时候,是50个比特币的奖励。但是每格21万个验证的区块(也就是大概每4年左右),奖励会减半。
解释:为什么每格21万个验证的区块也就是大概每4年左右这个时间的来历。比特币协议通过对上述的工作证明稍加修改,可以对难题的难易程度有更良好的控制。不再是规定需要多少个开始的零,而是规定block的hash输出结果要小于或等于一个目标值,这个目标值是自动调节的,用来保证比特币的每一个区块(block)平均要花10分钟来解。)
现在为止只发生了一次,也就是说现在验证一个block获得的奖励是25个比特币。 减半的过程会持续发生,直到大概2140年。那时候,挖矿的奖励的将会降低到10-8个比特币。而10-8个比特币是比特币最小的单位(被称作一个Satoshi),因此到2140年,总共的比特币将会停止增长。然而,这并不会消除验证交易的激励机制,比特币可以允许参与者加入验证交易的费用,用来奖赏验证交易的人。早期的比特币,交易费几乎为零,但是随着比特币的普及,交易费会逐渐升高,现在已经成为除了25个比特币奖励之外的额外激励了。
你可以将工作证明(proof-of-work)看做一个竞相验证交易的过程。每个参与者会花费一部分的计算机算力。一个挖矿者获胜的机会大概等于他们控制的计算计算力的大小和整个网络的算力的比例。比如说,一个挖矿者控制着整个网络算力量百分之一的计算能力,那么他的获胜的概率也大概是百分之一。所以提供大量计算能力是支撑竞争能力的因素,一个不诚实的挖矿者只有很小的机会去破坏验证过程,除非他们花费巨大的计算机资源。
通过上面的这个工作量证明算是解决了双花问题的一点了,为什么说是一点了呢?因为当你的算力达到50%以上你还是可以对全网进行双花攻击的,不要觉得不可能,中国人的能力是不可忽视的,谣传比特大陆就有过超过50%的算力。
挪去分支,任何情况下,挖矿者只在最长的那个blockchain上工作来解决交易的顺序就不清楚问题

挖矿者只在最长的那个blockchain上工作想必大家马上想到另外一个问题,就是真正的交易开始时会有成千上万笔交易在发生,我们怎么保证谁在哪个特定的时候有哪个钱串码呢?所以我们想怎样让钱串码网络能够统一交易发生的顺序呢?
比特币是这样解决的。新的区块(block)必须要包含指向上一个区块的指针,这个指针也其实就是上一个block的哈希(hash)结果。因此,区块链 (block chain)本身也就是一个线性的一串包含着交易信息的区块(blocks),一个接着一个,每一个block都包含着指向上一个block的指针哈希结果。为了避免有时候两个挖矿者几乎同时验证出来一个区块的交易。他们同时公布到网络里,有些旷工用一个方法更新他们的blockchain,另一些旷工用另外一个方法更新他们的blockchain。这就造成了交易的顺序就不清楚了,而且谁有哪个钱串码也就不清楚了情况。办法是挪去分支,规则是这样的:如果分支情况出现,那么网络上的人们继续保持两个分支,任何情况下,挖矿者只在最长的那个blockchain上工作。
通过上面比特币的工作原理讲解大家应该对区块链和数字货币有了一个简单的了解了,就是区块链这个分布式数据库是为了解决信任、公平、公证、透明,安全等问题的,而数字货币,也就是Token的存在是为了奖励在整个生态中做出贡献的参与者的,当然,比特币在区块链中的应用直接走向了货币的方向,后面的区块链加入了智能合约,比如以太坊,EOS,Neo等都将区块链技术带入了2.0时代。
好了今天关于用比特币的工作原理来彻底理解区块链和数字货币的本质和价值和大家分享到这里了,有想进一步了解其它区块链或者数字货币原理的的或者对区块链投资感兴趣的都可以联系我交流分析,无论是区块链投资,还是区块链技术都可以。当然我主要还是一个投资者,我这里有最新的一手资讯和内幕消息可以分享给大家。对于区块链投资来说2018年区块链领域的投资会变得更加混乱,闭眼投就能赚钱的时代已经过去了,随时欢迎大家联系(hyrik2018)一起交流,我也为大家总结了1000份中文版区块链白皮书,联系(hyrik2018)免费获取1000份中文版区块链白皮书:BTC、ETH、EOS、XRP、USDT等(影响数字货币价格的核心因素)。最后还是那句话,2018年是区块链发展元年,未来年区块链会是一个新的发展趋势,错过了这个风口,你将会像当年错过互联网时代一样,错过整个区块链时代。联系送区块链行业词典。
写文章总要有结束语,最后用一段话来做结束语:
1、关于区块链发展:短期是底层技术,中期是应用场景,长期是改造社会。
2、关于区块链参与各方:币圈看到流量,链圈看到共识,玄学圈看到革命。
3、关于区块链怎么改造社会:短期是通证和激励,中期是货币和经济,长期是社会。
4、关于应用落地:前期是比特币和炒币工具,短期是公链,中期是轻应用,长期是去中介化场景。
5、关于炒币:长期看人口,中期看供求,短期看监管。
6、关于区块链本质:一边是技术,一边是通证,一边是社区,链币社区不分家。
7、关于技术模型:短期看共识机制,中期看操作系统,长期看DAPP生态。
8、关于通证模型:短期看发币上市,中期看总量机制,长期看生态使用,终极看通证经济体的参与各方利益平衡。
9、关于社区治理:短期是自发自理,中期是社区政治,长期是代码法治。
10、关于通证社区经济体:以前是公司制,现在有非盈利组织,以后是通证社区,终极是人的自由联合。
         
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:10
帖子:8
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP