Hi!请登陆

比特币突破34000美元一枚,一文了解比特币是如何运作的!

2021-1-4 30 1/4

原标题:比特币突破34000美元一枚,一文了解比特币是如何运作的!

2020年下半年以来,比特币就开始出现了持续暴涨,从3月份的低点3800美元至今已经上涨近10倍。当我的些朋友正在享受比特币上涨的红利的时候,令人惊讶的是,只有很少一部分人了解区块链内部机制。本文通过最通俗的说明,让普通人也能够了解比特币的运作原理,以及为什么如此受追捧。

对大多数人来说,区块链只是一种技术。但无疑目前它正在改变世界,并且在未来的很长一段世界持续改变世界。中本聪(Satoshi Nakamoto)在他的文章《比特币:对等电子现金系统》中首次引入了区块链的概念。在仅8页的时间内,作者解释了基于区块链算法的整个比特币加密货币系统。

区块链是一个区块连成的链,换句话说,它是一个链表。此链表中的每个条目都链接到前一个条目,依此类推,它可传递地连接到第一个条目。可以将其视为类似于火车车厢的类比,其中每个人都链接到下一个。

举例:比尔的朋友不断向他借钱。比尔很善良,也很健忘。一周后,他不再记得谁没有归还债务,并犹豫要他的朋友提醒他。因此,在那段日子里,他最终决定进行组织,并将其全部记录在他方便的黑板上。

从现在开始,比尔不再忘记麦克斯已经归还了一切,鲍勃的债务超过700美元,而且还在继续增长。星期六,比尔邀请鲍勃到他的地方喝一杯。当比尔转身去混合一杯美酒时,鲍勃抹去了“借给鲍勃:200美元”的条目,并在空行中填写了“鲍勃带回了500美元”。

因此,他忘记了债务,损失了700美元。比尔很失望。他决定锁定他的记录。

去年,比尔在编程课程中学习了密码学。他仍然记得,任何字符串都可以变成无法识别的字符集-哈希。更改该哈希中的任何单个字符将完全弄乱整个加密内容。

假设在序列末尾仅添加一个点将使最终的哈希值无法识别。它给了他一个主意!

Bill将众所周知的SHA-256哈希应用于他的黑板上的每个记录。然后,他在未加密的对应部分旁边乱写结果哈希。现在,他知道自己的记录没有被更改,因此可以安然入睡。如有疑问,他可以随时解密它们并与原始图像进行比较。

但是伊万也熟练使用SHA-256,并且可以使用其哈希值更改信息。尤其是如果散列在其未加密原件旁边的木板上草了。

因此,为了获得更好的保护,Bill不仅决定对记录本身进行加密,还决定将其链接到上一个事务的哈希中。现在,他的所有后续条目都取决于先前的条目。如果更改单个点,那么注定要重新计算下面的整个哈希级连尾部。

现在,比尔有了个人链接列表。

有一天,伊万在晚上潜入,更改其中一项记录,并将整个列表的哈希值更新到最底端。他花了很多力气,但比尔睡得很香,不知道发生了什么。早晨,比尔发现了一个完全正确的列表-所有哈希都匹配。但是他仍然感到受骗。在地球上他还能如何保护自己免受噩梦伊万的影响?

比尔决定让伊万的生活变得更加复杂。现在,在将新条目添加到他的列表之前,Bill将求解一个复杂的数学方程式。然后,他会将解决方案链接到最终的哈希值。

比尔是一位出色的数学系学生。但是,即使对他来说,添加唱片也需要大约十分钟。但是,这次值得!如果Ivan再次闯入,他将必须解决以下每个交易的所有方程式。可能有几十个。这将使他三思而后行,因为每个记录方程式都是唯一的,并且在逻辑上适合原始内容。

但是,关注列表仍然很简单。首先,比较散列,然后通过简单的替换检查方程的解。如果两端相遇,则列表未更改。

实际上,这些方程并不总是平滑的。计算机很快就能轻松破解它们。在哪里存储大量独特的方程式?考虑到所有这些,区块链发明者提出了一个更加优雅的任务。应该有一个数字(随机数),整个记录的最终哈希将以10个零开始。随机数很难挖掘,但始终可以用裸眼检查结果。

散列小游戏

手动搜索以十个零开头的哈希值太累了,因此让我们尝试搜索以两个零开头的哈希值。在Nonce字段中写任何东西。一旦您的输入的哈希值以两个零(00)开始,游戏就会停止。

将任何字符放在Nonce字段中,直到其哈希以两个零(00)开头:

随机数:

哈希: bd4aeafc255acfa9df974dd3e68795e6ac7f198856a9d12c922cd0577b6c564f

尝试:0

现在,精明的Bill会验证所有哈希,另外确保每个哈希都以指定的零开始。即使是一台功能强大的笔记本电脑,噩梦伊凡(Ivan)也将没有足够的时间和耐心来根据规则计算所有哈希值。

Bill发明的这种财务机制是区块链的简单模型。它的安全性由数学家保证。他们确保无法通过搜索每个单独的记录哈希来计算哈希。这称为采矿。让我们仔细看看它是如何工作的。

经典:信任的集中化

我们的朋友喜欢保留“谁欠谁”的防伪清单的想法。他们也不想打扰自己记住谁在酒吧为谁付出了钱,以及他们还欠对方多少钱:一切都写在板上。他们讨论了这个想法的起伏,并达成共识,现在他们需要将所有列表合并在一起。

但是,可以委托谁来进行如此重要的登记呢?在金钱方面,信任成为主要标准。我们宁愿不相信陌生人的钱。为此,我们的祖先发明了整个银行业务。后来,它在中央银行的执照,法律和保险的支持下变得可信。

朋友们互相信任。他们选择最负责任的人进行登记。但是,如果我们与陌生人打交道怎么办?一个大城市,一个国家或整个世界,例如在比特币采矿中?在这种情况下,没有人可以信任任何人。

分权化:没有人信任任何人

因此,他们提出了另一种方法:每个人都保留列表的副本。攻击者不仅需要重写一个列表,还可以潜入每所房屋并重写每个人的列表。事实证明,有人在家中保存了几张没人知道的清单。这称为权力下放。

这种方法的缺点是,要进行新的输入,您必须与所有其他参与者保持联系,并不断地为新变化而倾听他们的意见。但是,如果参与者不是人类,而是经过反复锻炼的计算机制,那么困扰他们根本就不再是问题。

该系统没有单一的信任点,因此也没有贿赂或欺诈的可能性。所有网络参与者都遵循严格的规则:没有人信任任何人。每个人都只信任个人拥有的信息。这是任何分散网络的主要法则。

交易次数

当您购买午餐时,您可以输入借记卡PIN码,以便食物链询问银行您的帐户中是否有5美元。换句话说,您用PIN确认一笔$ 5的交易,银行会确认或拒绝该交易。

我们的记录,如“借给鲍勃:$ 500”,也是交易。但是我们没有银行授权发起他们的人。我们如何才能证明鲍勃在狡猾的情况下没有在清单中插入新条目“最高欠款$ 100,500”?

为此,区块链使用公钥和私钥机制,IT人员很长时间以来一直使用它们在同一SSH中进行授权。

简而言之,这个复杂而美丽的数学是如何工作的:您在计算机上生成了一对大质数-公钥和私钥。私钥被认为是超级秘密,因为它可以解密公开加密的内容。但是它也可以很好地向后移动:如果您向您的朋友公开公钥,他们将能够使用它加密发送给您的任何消息,以便只有作为私钥持有者的您才能打开和阅读它。此外,使用公钥,您可以验证数据是否已用私钥加密,而无需解密数据本身。

我们生活在分散式互联网的世界中,没有人可以信任任何人。使用私钥和公钥一起签名的交易将被发送到一个特殊的地方-未确认交易的存储处,以便网络上的任何成员都可以验证是您发起了该交易,而不是其他人试图窃取您的钱。

这种机制可以保障网络的开放性和安全性。如果在现实世界中,银行通常是负责保证资金安全的银行,那么在区块链中,此功能将委托给数学。

您的公共密钥是您的加密钱包的号码。这意味着您无需离开网络就可以为任何加密货币创建钱包。

普通用户对学习私钥不感兴趣,总是可以从在线钱包服务中获得帮助。发明了方便的QR码以复制长公钥。

缺乏平衡

如您所见,Bill的黑板和区块链都仅包含交易历史记录。他们不会跟踪每个钱包中的余额。如果他们这样做,我们将不得不寻找其他保护措施。

钱包持有者的身份仅通过私钥进行验证。但是其他网络成员怎么知道我有足够的钱购买?

由于我们不跟踪余额,因此您必须证明这一点。因此,区块链交易不仅包括您的签名和您想花多少钱,而且还链接到您之前收到相应金额的交易。就是说,如果您想花费400美元,就可以查看所有收支记录。您将收入证明附加到您获得100 + 250 + 50美元的交易记录上,从而证明您有400美元。

该网络的每个成员都会仔细检查您是否没有两次附加收入,以及您是否没有花费Max上周给您的$ 300。

在区块链中,这些与交易相关的收益称为投入,而所有这笔钱的接收者称为产出。由于输出之一通常是您,因此所有输入的总和很少与您一次要传输的完全相同。换句话说,区块链交易看起来像“我收到了3个BTC和2个BTC,我想花掉其中的4个BTC,剩下的1个BTC要发回我自己”。

往前走,您还可以为交易指定一些小额佣金,以便矿工更积极地将其添加到区块中。在这种情况下,矿工将获得一些零用现金,而您的零钱更少。采矿将在下面详细讨论。

区块链的好处是输入不一定来自同一钱包。除了密钥外,什么都没有隐藏。如果您知道所有输入的私钥,则可以轻松地将它们附加到交易中并用这笔钱还清。好像您一次在超市用几张卡付款。

但是,如果丢失私钥,硬盘驱动器死机或笔记本电脑被盗,则您的比特币将永远被锁定。没有人可以再将它们用作新交易的输入。就像您已经烧了一捆钞票一样,这笔款项将永远无法在全世界范围内使用。网络上没有“银行”,您可以投诉并获得丢失的加密货币退款。如果有的话,那么“银行”将不得不创造一定数量的新比特币。

双花问题

我提到过,交易被添加到特殊的“未确认交易存储库”中。如果我们签署所有交易,为什么需要某种中间实体?为什么不将它们直接写入区块链?

因为从A点到B点的信号总是延迟传播。两个事务可以选择两个不同的路径。较早启动的事务可以较长的时间到达较晚的收件人。这就是双重支出的发生方式。相同的金额一次发送到两个收件人。他们甚至都不知道!这不是常规纸钞的工作方式。

对于一个没有人可以信任任何人的分散网络,这个问题尤其严重。您如何通过这种方式确保一项交易恰好发生在另一项交易之前?请发件人在上面加上发送时间,对吗?但是请记住–您不能信任任何人,甚至发件人。不同计算机上的时间始终会有所不同,并且无法进行同步。区块链的副本存储在每个参与者信任的网络上的每台计算机上。

那么,如何确保一项交易早于另一项交易呢?

答案很简单:这是不可能的。无法确认分散网络中的交易时间。随之而来的是中本聪发明的第三个重要概念区块链。

区块作为区块链基础

网络上的每台正常运行的计算机都从公用存储库中选择任何首选的交易。首选通常是提供的最高佣金。计算机将收集交易,直到其总大小达到约定的限制。在比特币中,该块大小的限制等于1 MB(SegWit2x之后为2 MB),而在比特币现金中为8 MB。

在以太坊这样的网络中,一切都有些复杂,每个区块的交易数量取决于所包含的智能合约的计算复杂性。但是想法仍然是一样的–有一个限制。

实际上,整个区块链都是一个区块列表,每个区块都取决于前一个区块。它可以跟踪整个历史记录中的任何交易,从而将区块链缩小到第一条记录。该列表重达数百GB,应复制粘贴到所有参与的计算机上。但是,拥有副本并不是简单地创建新交易并转移资金所必需的。它会从网络上所有最近的计算机上下载,就好像您正在从torrent文件中下载系列一样。唯一的区别是新系列每10分钟出现一次。

在存托处收集交易之后,您的计算机开始将它们整理成Bill董事会上相同的清单类型。但是它的结构是一棵树–哈希记录成对出现,结果再次配对,依此类推,直到只剩下一个哈希为止–树的根已添加到块中。我没有找到为什么必须要有树形的答案,但是我想它更快。

树结构使得可以从块中删除不必要的(花费的)事务。假设有两个通过哈希连接的事务,并且不再需要其中之一。他们所拥有的全部都被其他事务放弃了,因此可以删除这些旧事务,并保留其哈希值,结果,不会破坏结构。

由于已经下载了实际的区块,因此我们的计算机确切地知道其最后阻止的内容。它需要做的只是将链接添加到该块的标题中,对其全部进行哈希处理并通知网络上的其他计算机“看,我做了一个新块,让我们将其添加到我们的区块链中。”

其他人则应检查该区块是根据规则构建的,并且我们没有潜入不必要的交易。之后,他们将其添加到自己的链中。现在,当所有传入交易都经过验证后,区块链增加了一个区块,一切进行得很好,对吗?

并不是的。数千台计算机同时在网络上工作。一旦他们组装了一个新的单元,他们便急于几乎同时报告他们的单元是首先建造的。从上一节中,我们知道不可能证明谁真正是分散网络中的领导者。

因此,要将区块添加到链中,我们的计算机必须解决一些复杂的问题,这将花费一些时间。

就像在高中时,一堂课正在解决一个严重的数学问题时,答案是在极少数情况下同时提交的。

对于人类来说,一项复杂的任务是为机器计划一些假期,以便在程序段的末尾添加一个特定的数字(即刻)。整个块的所得SHA-256哈希将以10个零开头。为了将区块添加到比特币网络,必须解决这个特定问题。其他网络的要求可能会有所不同。

因此,我们更接近近年来流行的采矿概念。

矿业

比特币的挖掘不是某种神圣的事情。采矿与在互联网上的某个地方挖掘新的比特币无关。当全世界成千上万的计算机在地下室嗡嗡作响,每秒研磨数百万个数字,并试图选择以10(甚至16个)零开头的哈希值时,这称为挖掘。他们甚至不需要为此而在网络上。

具有数百个并行内核的视频卡比任何CPU都能更快地解决此问题。

为什么恰好是10个零?只是因为。没有任何意义。这就是中本聪提供的,因为这是总有解决方案的任务之一。但是,肯定不能比长时间单调搜索选项更快地发现它。

挖掘的复杂性直接取决于网络的规模及其总容量。如果您创建自己的区块链并在两台笔记本电脑上在家中运行,那么任务应该会更简单。例如,您可以生成以一个零开始的散列或偶数位的总和等于奇数位的总和。

一台计算机将花费数十年的时间来搜索以10个零开头的哈希。但是,如果将数千台计算机组合成一个庞大的网络并同时进行搜索,那么根据概率论,此任务平均将在10分钟内解决。这是将新块添加到区块链的确切时间窗口。每8到12分钟,地球上的某人就会发现请求的哈希,并有特权宣布他们的发现,从而避免了谁是第一个的问题。

为了找到正确的答案,每台计算机(根据2017年的信息)都获得12.5 BTC –这是比特币系统“凭空”产生的补偿金额。该数量每四年减少一次。从技术上讲,这意味着每个矿工总是向其区块中添加另一笔交易-“创建12.5 BTC并将其发送到我的钱包。” 当您听到“世界上比特币的数量限制为2100万,现在已经兑现了1600万”时–它们大部分都花在了网络产生的奖励上。

任何区块链仅在其矿工存在时存在。

最常见的正确答案是“每个人都将进行采矿,因为我们为此提供了比特币,而矿工的钱包将会增长”。但这并不适用于所有项目。例如,如果卫生部为医务人员创建了自己的封闭式区块链,谁来开采呢?周末的治疗师?

但是,当赔偿金用尽或变得太悲惨时,矿工将获得什么好处呢?

根据创作者的想法,到那时人们将相信比特币的现实,而采矿将开始随着每笔交易中包含的佣金数量而获得回报。在2012年,所有佣金均为零,矿工仅为获得奖励而工作。如今,零佣金交易可能会在池中挂起几个小时,因为这还存在竞争,许多人已经准备好为速度付费。

这意味着挖掘的本质在于解决无意义的任务。将所有这些巨大的力量转移到更有用的东西(例如,寻找治疗癌症的方法)上是不可能的吗?

挖掘本质是解决任何计算问题。该任务应足够简单,以使网络参与者有稳定的概率找到答案。否则,将需要永恒的时间来确认这些交易。想象一下,在商店的结帐处,您需要每次等待半小时,直到银行确认您的交易。没有人会与这样的银行合作。

但是同时,任务应该很复杂,以使网络的所有用户都无法立即找到答案。因为如果这样做,它们将向网络宣告许多具有相同事务的并行块。反过来,将触发我们之前所说的“双重支出”的可能性。甚至更糟–将整个区块链拆分为几个分支,再也没有人将已确认和已确认的交易区分开。

如果12.5 BTC中的奖励仅每10分钟奖励一次,并且仅奖励给找到该奖励的人,那么我将需要烧我的视频卡很多年,以为有一天我将赢得40,000美元(以目前的速度)?

这就是比特币的工作方式。但这并不总是那样。以前,网络较小,难度较低,因此,单手为新区块找到哈希的可能性比现在高。但是,比特币本身也不是那么昂贵。

今天,没有人再单独开采比特币了。相反,参与者加入特殊的小组,即每个矿工试图找到正确哈希值的矿池。如果小组中的某人成功,则整个奖励将在参与者之间分配,具体取决于他们对共同工作的贡献的大小。事实证明,您着急,每周从总份额中损失一分钱。

从另一方面讲,在其他一些网络上也可以进行个人挖掘。直到最近,开采以太坊还是很容易的,这里每10秒添加一次区块。该区块的奖励要低得多,但产生少量钱的可能性更高。

是的,但是有一些想法。当每台机器通过以给定的概率解决无意义的问题证明它为整个网络的利益而工作时,我在这里描述了称为工作量证明的经典挖掘。

一些人开始利用其他采矿原理来构建区块链。如今,第二受欢迎的概念是权益证明(所有权证明)。在这种挖掘中,网络参与者收集的硬币越多,此alpha将其块插入区块链的机会就越大。

任何人都可以自由进行其他类型的采矿。正如建议的那样,网络上的所有计算机都可以合作进行癌症治疗研究,唯一的区别是您必须弄清楚它们究竟是如何促成病因的。也许我还可以声称自己在那里,但是我的视频卡已关闭。如何衡量每个团队成员的贡献和努力?

想象一下这样一种情况,尽管有我们所有的概率理论,但两个矿工仍在同一时间找到正确的答案,并在网络上发送了两个绝对忠实的区块。保证这些块是不同的,因为即使矿工奇迹般地从构建完全相同的树的池中选择相同的交易并猜测相同的随机数(即刻),它们的哈希值仍将不同,因为它们每个都将提供自己的哈希值奖励的钱包号码。

现在我们有两个有效的区块,再次出现了谁来考虑获胜者的问题。在这种情况下,网络将如何运行?

区块链算法指定网络参与者仅接受他们收到的第一个正确答案。之后,他们继续按照自己的标准进行比赛。两位矿工都将收集他们的奖励,所有其他矿工将开始挖掘,依靠后者来阻止他们亲自收到的每个人,并丢弃所有其他正确的副本。反过来,这会在同一网络上创建两个绝对正确的区块链。真是个矛盾!

当概率论再次派上用场时,这是正常情况。网络将在这种分叉状态下运行,直到一个矿工发现链接到其中一个链的下一个区块的时间为止。一旦插入此区块,链就会变长,因此,一个区块链网络协议开始生效:在任何情况下,最长的区块链都被接受为整个网络的唯一条件。

短链尽管正确无误,但被所有网络成员拒绝。它的事务返回到池中(如果尚未在另一事务中确认),并且它们的处理再次从零开始。矿工失去了奖励,因为他的单位不再存在。

随着网络的发展,来自“非常不可能”的这种巧合被归为“很好,有时会发生”。老人们记得曾经遗忘了四个区块的完美链条的情况。

为了解决上述问题,提出了三个区块链尾部安全性(链不安全性结束)规则:

只有在收到确认的20多个区块之后才能支付采矿费。对于比特币,大约需要三个小时。
如果您收到了比特币,则只能在1-5块之后才能将它们用于新交易中的输入。
规则1和2仅写在每个客户端的设置中。没有人看着他们的遵守。但是,如果您尝试欺骗不遵守系统的交易,则最长链条上的法律仍将破坏您的所有交易。

试图愚弄区块链

现在,当您了解了有关采矿,区块链和最长链规则的所有知识后,您可能会提出一个问题:通过自己建立最长链并合法化我以前所有的假交易,是否有可能超越区块链?

假设您拥有地球上最强大的计算机!Google和Amazon数据中心合并在一起供您使用,共同致力于计算网络上最长的区块链。

由于您无法预先计算链中的几个区块,因为每个下一个区块都取决于前一个区块,因此您决定在大型数据中心中尽可能快地对每个区块进行计数,这比所有其他参与者共同努力增加主区块链的速度要快。有可能超越它们吗?可能是。

如果您的计算能力超过所有网络参与者的能力的50%,那么您以50%的概率可以比所有其他网络成员一起更快地构建更长的链。从理论上讲,这将是通过构建更长的交易链来欺骗区块链的一种可能方式。然后,实际网络的所有交易都将被认为是不正确的,您将收集您的金罐,并在加密货币的历史上打下另一个基石,题为“区块链分离”。由于代码中的错误,它确实在以太坊历史上发生过一次。

但是实际上,没有任何一个数据中心可以与世界上所有计算机相提并论。十亿五千万中国人使用ASIC,另一半十亿印度人使用ASIC。世界上没有人可以独自与他们竞争,即使是Google。

这就像跑出家门,在街上洗脑每个人,现在1美元可兑换1卢布,这在灌输媒体之前就灌输了整个世界。如果您完成所有这些工作,甚至可能导致全球经济崩溃。从理论上讲,可能吗?但是实际上,由于某种原因,到目前为止还没有人成功。

这种可能性带有整个区块链的概念。网络中参与的参与者-矿工越多,网络上存在的安全性和信任度就越高。因此,当中国另一个大型采矿农场关闭时,加密货币进程便崩溃了。每个人都担心世界上某个地方有一个邪恶的天才,他已经聚集了一个采矿池,容量高达49%。

实际上,它早在2014年就发生过几次,当时一个矿池暂时变得比网络的其余部分功能强大。幸运的是,没有关于此问题的报道。

结论

超越加密货币的区块链

区块链不是严格定义的算法集。这是建立没有人可以信任任何人的防伪分散网络的强大模型。我非常确定,在阅读本文时,您一直在思考自己可能的区块链应用程序列表,以及如何更好地利用这个想法或对社会负责。这表示您了解区块链,我向您表示祝贺。

世界各地的一些人也了解它,并决定根据特定的特定需求对其进行改进或调整。尽管加密货币也变得非常多样化,但它并不是世界所需的一切。以下是一些由于重新思考区块链概念而受到一定欢迎的想法和项目的简短列表。

以太坊

以太币是仅次于比特币的第二流行词,您可以听到有关加密货币炒作的新闻。对于普通人来说,这只是另一种加密货币,并且是制作最时尚的商品ICO的一种方式。该网站上的开发人员将以太坊描述为“适合您需求的区块链建模集”。是的,这也是一个有价值的目的。

但是,如果您深入研究,Etherium不仅是一个充满金币的网络。这是一台巨大的全球超级计算机,其用户在其中执行其他人的程序(智能合约)的代码,每行代码都会得到回报。所有这些都是去中心化的,不可少的,具有区块链的所有功能和保证。

IPFS和Filecoin

IPFS本身与区块链无关。这是一种分布式文件存储协议,每个参与者只能存储以前下载的文件。看起来像BitTorrent和HTTP的共生。通过特殊的门可以链接到IPFS文件。由于它与FUSE兼容,因此您甚至可以将其作为常规磁盘安装到计算机上。

实际上,使用IPFS的想法非常丰富,您可以在官方网站上阅读有关它的更多信息。可以直接使用和使用。您只需要弄清楚哪里。我立即想到将其转换为盗版音乐档案,并向其中添加流媒体服务。

但是由于开放源代码不会产生任何麻烦,因此IPFS的创建者决定启动Filecoin –一种通常通过出租HDD空间获得的加密货币。星际空间作为Filecoin&ipfs生态的建设者和开发者,坚定看好Filecoin&ipfs的未来。欢迎大家关注我们,将持续给大家带来关于Filecoin&ipfs的内容和最新消息。

相关推荐