您现在的位置: 网站首页 /全部文章/ 正文

老罗英语培训【视频】究竟什么是比特币?-长春考试

作者: admin  发布: 2019-10-20 分类:全部文章 阅读: 684次

【视频】究竟什么是比特币?-长春考试



Hi 大家好知艾家园。今天我们来聊一个最近火的一塌糊涂的话题:数字货币。
提起货币,你可能觉得再熟悉不过了。你的钱包里放着现金警网雄风,银行里有储蓄,还有各种理财、投资。生活中的方方面面,似乎都离不开货币。
从人类发明货币那天至今,它的样子发生过许多重大的变化,从原始粗糙的贝壳、金属块,到工艺精美的铜板、金币,再到印刷考究、凝结着无数现代科技的防伪纸币,这些都是看得见摸得着的实体货币。
而到了科技日新月异的今天,货币早已摆脱了实体形态,成为了一串虚拟的数字,也就是数字化的货币。比如早晨买早点,你用微信扫码,付给卖早点的大妈 12 块 8;再比如上个月你借给小张两万二买数码产品,中午支付宝提示你收到了小张的还款,还附言说周末要请你吃饭;下午银行发来短信,说你本月的房贷已经扣除下课了要雄起,这个月又要吃土了呢。
数字化的货币凝结了现代科技的诸多成果,然而它仍然只是传统货币的一个替代品。自从人类政府取得了货币的铸造权,大部分货币本身的价值和它代表的价值就不再是一个概念了。例如,一张100美元纸币的生产成本大约是7.8美分,而数字化货币的成本则可能更低。
在传统的货币体系里,实体货币的价值由中央银行的信誉来保证。例如在金本位货币体系里,你相信政府的承诺,用你的纸币可以兑换等值的黄金。而数字化货币的价值则和实体法定货币挂钩,你相信你在银行、支付宝、微信里的账户余额,可以在相应的服务机构里兑换成实体的法定货币。也就是说,传统货币,包括数字化的传统货币,其价值基于人们对于中央银行这种权威中心机构的信任。
然而信任,并不是一件很容易达成的事情呢。如果没有一个可信的中心机构,除了靠人品,还有什么办法来达成信任呢?
答案就是:多年以来,一直没有太好的答案……
直到 2008 年,一位化名中本聪的神秘人士发表了一篇论文:《比特币:一种点对点式的电子现金系统》,提出了一个基于区块链技术的"去中心化"数字货币系统,它就是今天大名鼎鼎、人气爆棚的比特币。
比特币不是世界上第一个不依赖权威中心机构的,所谓"去中心化"的货币系统,但它绝对是迄今为止世界上最成功的一个。从 2009 年比特币系统正式启动,到今天(2018年1月),它已经成为一个总市值超过两千亿美金的巨大体系了。
讲到这里,可能很多朋友脑子里已经冒出了一大堆关于“比特币”的问题。比如:
没有一个权威中心机构,你拥有的比特币保存在哪里?
如何确保你的钱不会被别人拿去花?
如何保证你的账户余额不会被黑客篡改呢?
比特币怎么发行,如何避免比特币数量暴增带来的通货膨胀呢?
带着这些问题,可乐带你来探索比特币系统巧妙的设计和背后的技术。
事实上,在比特币系统中,并不直接记录每个账户的余额,而只是记录交易流水。
例如,你的账户流水显示,从古至今,你收到过一笔来自小 A 的 10 比特币,以及一笔来自小 C 的 20 比特币,并且这两笔交易的收入都没有被你花掉。那么你就拥有来自小 A 的 10 比特币和来自小 C 的 20 比特币这两条记录。只有把这两笔交易收入加起来,你才能知道自己总共拥有 30 个比特币。
而假如你打算使用 25 个比特币买套房,并且付出 0.001 比特币的手续费。那么你需要创建这样一笔交易,它的输入为来自小 A 的 10 比特币和来自小 C 的 20 比特币,输出为付给房主小 D 的 25 比特币,以及付给你自己的 4.999 比特币找零。
现在你已经在自己的账本上记录下的“支付25个比特币给小D”,那小D认不认可这笔交易呢?当然不认可。要知道,所有比特币的参与者都可以保存一份账本副本,如果你无法说服所有的人都帮你记这笔帐,那么这笔账不会受到大家的认可。
在比特币系统中脊骨土豆汤,所有参与系统的人通过网络互相连接,以平等的身份组成了一个错综复杂的网络,称作点对点网络。你要做的,就是把你的交易进行签名,并且广播到这个网络里去。
那么,问题来了。该如何给交易数据签名,来证明这笔交易是你本人发出的呢?
在日常生活中,一个独一无二的签名可以证明你对一笔交易做了授权,除了少数天才,很少有人能够精确仿制出一个签名;而在数字的世界,复制是一件及其容易的事情,如何保证你的签名不被别人复制,从而被用于伪造你的授权呢?
这里可乐给大家介绍一下,计算机世界里的数字签名是如何进行的。首先,数字签名技术基于一种被称为"非对称加密"的技术。在使用这种技术时,你拥有两个钥匙,一个称作公钥,一个称作私钥。在计算机的世界里,公钥和私钥其实是两个数字,这两个数字是配对使用的。公钥,顾名思义,是可以公开给别人的,而私钥则是需要使用方严格保密的。
使用私钥,可以对一块特定的数据进行一个计算,得出一个独一无二的数字签名。数据不同,输出的数字签名也不同。使用公钥,可以对的消息,进行验证。如果公钥和私钥是配对的,那么验证通过,否则验证不会通过;通过私钥可以很容易计算出配对的公钥,而只知道公钥却极难推导出私钥;正是由于公钥私钥这样的性质,才使得我们可以用这种机制来进行数字签名。
私钥是你务必要妥善保存的,因为任何人掌握了你的私钥,就意味着掌握了你的钱包,以及里面的资产。而你的公钥,事实上就是你的比特币收款地址,其他人需要知道你的地址,才能转账给你。由于公钥是一个又长又难记的数字,因此比特币系统使用了一系列的编码转换,将公钥表示成类似这样(1NE5ZK9H4TBopmbq3jwin8uCjo1ZKZQNGx)的钱包地址。尽管仍然很难记,但是比原始的数字短了很多呢。
在真实的比特币系统中黄细花,使用私钥为一笔交易的输入进行签名,并且交易的输出要绑定收款人的公钥。例如,你之前收到来自小A 的10比特币收入,小A使用了你的钱包地址,也就是公钥来绑定这10比特币,要求必须用这个公钥对应的私钥进行签名,才可以花这笔钱。
当你打算花掉这10比特币时,必须使用你的私钥为它签名。这样,当网络中的其他节点收到你的交易信息,就可以用这10比特币上绑定的公钥,来检验你签名的合法性老罗英语培训。而你指定你的交易输出为房主小D,也就意味着你使用小D的公钥绑定了付给他的25比特币。另外还有一笔找零,当然是绑定上你自己的公钥了。
制作出一笔合法的交易记录,然后签名之后,需要广播到比特币网络中。那什么又叫广播到网络里去呢?简单地说,就是把你的交易发送给网络中和你相邻的计算机节点,然后这些节点验证了你的交易签名,又把它发送给他们相邻的其他节点,一传十,十传百,最终你的交易就会被传遍全网。
如果全世界都知道了这笔交易,那你就无法赖账了。
这时,如果你再试图创建一笔交易,把已经花掉的10比特币和20比特币当作输入付给别人,网络中的所有人都会拒绝接受。不过,聪明的你可能会想,如果把买房的交易发给网络中一部分节点,而又用同一笔钱创建另一笔交易买豪车,发给网络中另一部分节点,那会产生什么样的结果呢?
首先,有一部分节点先收到了你的第一笔交易,他们会记录下来,传播出去;另一部分节点收到了你的第二笔交易,他们也会记录下来,传播出去。随着时间的推移,有一些节点先后收到了你的两笔交易。怎么办呢?很简单,他们把先收到的交易记录下来,然后认为后一笔收到的交易是不合法的,直接丢掉。
这时,网络中的节点出现了不一致:一部分节点认可你的第一笔交易,另一部分节点认可你的第二笔交易。作为一个货币系统,比特币当然只会承认其中一笔。具体怎么做呢?比特币系统引入了一个竞赛,让节点们互相竞争,最终达成一致。
说到这里,可乐有必要为大家介绍一下比特币的底层技术--区块链,是如何工作的。
在比特币系统中,节点是这么组织交易的:发生时间相近的交易会被放在一起,形成一个"区块",然后每个区块按照时间顺序首尾相接,后一个区块里会写着前一个区块的编号,所有区块组成一个链条的形状。这个链条从第一个区块(也就是创始块)开始,到最新的一个区块为止,记录了比特币历史上所有已经确认的交易记录。
回到刚才的问题。网络中一部分节点认可了你的第一笔交易,把它放在了新生成的区块里;另一部分节点认可了你的第二笔交易,也把它放在了他们新生成的区块里。那么,谁说了算呢?
画外音:人多的说了算呗?
嗯,一定程度上是对的,不过比特币系统还要更复杂一点。实际上,把一个区块打包加入到区块链里,也被设计成了一件非常困难的事情。
当一个节点收集到一批交易信息,制作出来一个区块,它还需要先把这个区块合法化,才能把它加入到区块链里,被整个网络认可。中本聪在设计比特币系统时,要求一个区块必须满足一个非常苛刻的条件陈梦吉传奇,才能被认为是区块链里的一个合法区块。
简单地说,所有新产生的区块,除了交易记录、上一个区块的地址等数据之外,还必须添加一个(称作 nonce 的)小块数据天狐劫,使得整个区块经过一个(称作哈希计算的)数学运算之后,得到的结果满足指定的条件。而找到满足这样条件的小块数字(nonce),至少对于现在计算机的计算能力来说,是一件非常困难的事情星际种田记。
这里,比特币对区块做的数学运算称作哈希计算。在计算机科学里,哈希计算是一系列计算的统称,这类计算能够将一块数据,映射成一小串固定长度的数字,我们称作哈希值。
哈希计算有几个特点:
一是,给定输入数据,可以很快计算出来它的哈希值;反之只给出哈希值,则几乎不可能算出原始数据;
二是,输入的数据哪怕只是改变一点点,算出来的哈希值也会发生翻天覆地的变化。
也就是说,通过哈希计算,我们的区块(包含交易记录、上一个区块的地址以及额外的 一小块数据),会算出一个固定长度的哈希值来。比特币系统要求合法的区块计算出来的哈希值小于某一个阈值,因此,比特币中的计算节点们就需要不停尝试不同的数字,使得整个区块的哈希值满足条件。
由于计算产生新区块是一件非常困难的事情,为了鼓励网络中参与区块链建设的节点,比特币系统协议允许生成合法新区块的节点得到两种收益。
一种收益是交易手续费,还记得你的买房交易里有一笔 0.001 比特币的手续费吗?这个手续费就是奖励给把你的交易打包进区块链的节点的。这个手续费是可选的,不过包含适量的手续费可以使得你的交易更快的被打包进区块链。
另一种收益来自一种称作 coinbase 的交易,这是比特币系统中一个特殊的交易,也是唯一一种无需包含输入,而只有输出的交易。比特币系统中的所有节点都认可这个规则,计算出合法区块的节点,可以在区块中包含一笔这样的交易,写上自己的钱包地址,奖励给自己一些比特币。最初这个奖励的金额是 50 比特币,大约每四年这个奖励金额就会减半,按照系统设计,2140年这个奖励就消失了,目前这个奖励大约是 12.5 比特币。
由于 coinbase 交易"凭空"创造出了比特币,它也是比特币发行的唯一方式。
参与比特币记账的节点要通过复杂而费力的计算工作来添加新区块,从而得到交易手续费和系统奖励,因此这种工作也被人们形象的称为"挖矿",参与挖矿的计算机节点被称作"矿机",控制矿机的人们则自称“矿工”。
在比特币系统中,并非所有参与者都会选择成为矿工。事实上,大多数参与比特币交易的普通人,只需要读取数据或者发起交易。
有了经济上的利益诱惑,所有参与记账的矿工节点,在组成一个新区块之后,就开始不停的计算,寻找这个能使整个区块合法的数字。所有的节点都参与竞争柳希龙,每当有一个节点率先算出来了合法的区块,它就会兴奋地通知周围的节点,把这个新的区块广播给大家。
而当一个节点收到了别人传来的合法区块,它就会先去校验这个区块是否满足合法条件。如果校验通过,也就意味着自己在刚才这场竞争中失败了,于是它就放弃自己正在进行的计算,把别人传来的区块加入到自己的区块链中 ,然后重整旗鼓,参与下一个区块的计算。
再回到前面的情况,当你把用同一笔钱 买房的交易和买车的交易都发送到网络上之后:一部分节点可能先收到了买房这笔交易,于是尝试把这笔交易加入到它们的下一个区块里,金柳妍而 这些节点稍后再收到买车这笔交易时,就简单地忽略掉它;而另一部分节点则可能刚好相反,它们尝试把买车这笔交易加入到它们下一个区块里。在绝大多数情况下,只有一方能够先胜出。假设买房的交易先胜出,那么当包含这笔交易的区块迅速被网络上所有节点都认可之后,买车这笔交易就再也没有机会被人接受了。
此外,由于在产生新区块非常困难,想篡改区块链中的交易记录(造分叉)也成了一件很困难的事情。假设你付给房主小 D 房款之后,你的交易被打包到了一个最新的区块 X 里,而 X 的上一个区块是 W。如果你想赖账,抹掉这笔交易,那么你需要把区块 X 里的交易拿出来,去掉你的交易,重新计算一个新的区块 X_1。如果你成功了,那就意味着你在w之后制造了一个区块链的分叉。
这时比特币系统有一个简单的策略来弥合分叉这种不一致的情况。那就是:所有比特币网络中的节点,都只在当前最长的区块链分叉上计算新块,而忽略较短的分叉。
此时网络中所有其他的节点都在尝试往 X 之后构建新的区块 Y,你必须赶在他们之前构造出区块X_1,然后在其他人算出 Y 之前,计算出X_1 后的新区块 Y_1,这样才能说服所有人放弃 X,切换到 X_1 和 Y_1 这个分支上来。除非你的计算能力爆棚,超过了全网计算能力的 50%,否则这已经是一件几乎不可能完成的任务了。
那如果你想篡改的交易 X 之后,已经被计算出来若干个新区块了呢?你必须从 X 开始逐一重新计算,试图制作出来一条更长的区块链分支来说服大家。这不仅是几乎不可能的事情,而且会让尝试做这样事情的人损失巨大的能源、计算机节点资源。有这个能力,你完全可以做个正常的矿工,赚取每个区块产生的收益。因此,你的交易在区块链里时间越久,前面产生的新区块越多,你的交易也就越安全。
虽然由伪造导致的分叉在实际情况中不常发生,但因为不同节点收到交易的先后顺序不同、选择策略不同,而网络则又不总是可靠金盆洗脚城,比特币偶尔也会出现分叉。
产生区块的过程称为工作量证明方法,这种方法使得篡改、伪造区块链变得代价高昂,从而确保了在没有中心权威的情况下,参与系统的各方出于保障自己的经济利益的目的,去遵守和维护系统规则。这样就使得人们对系统产生了信任,从而赋予了比特币价值。
怎么样,是不是非常精巧和神奇呢?
来源:可乐编程

« 上一篇 下一篇 » 原创文章,转载请注明出处!标签:

我不去想,是否能够成功,既然选择了远方,便只顾风雨兼程。 我不去想,能否赢得爱情,既然钟情于玫瑰,就勇敢地吐露真诚。 我不去想,身后会不会袭来寒风冷雨,既然目标是地平线,留给世界的只能是背影。 我不去想,未来是平坦还是泥泞,只要热爱生命, 一切,都在意料之中!
文章归档