中英文模式阅读
中文模式阅读
英文模式阅读


{#a96d}

The ultimate 3500-word guide in plain English to understand Blockchain.

Mohit Mamoria


U nless you're hiding under the rock,
我相信你已经听说过比特币和区块链了。毕竟,它们是当今流行趋势和媒体最喜欢的主题 - 年度流行语。即使是那些从未开采过加密货币或了解它如何运作的人,也在谈论它。我有非技术性朋友而非技术性朋友。几个星期以来,他们一直在困扰我,向他们解释这个新的流行语。我想有成千上万的人都有同感。当这种情况发生时,有时间写一些东西,每个人都可以指出其他失去的灵魂 - 这就是这篇文章的目的---用简单的英语写成,任何普通的互联网用户都能理解。{#8f41}


顺便说一句,我是每周通讯的策展人,Unmade
,它将未来的一个想法传递到您的收件箱。{#0069}


"对于每一个复杂的问题,都有一个明确,简单和错误的答案。" --- HL Mencken

Unlike every other post on the internet,
而不是首先定义区块链,我们将理解它解决的问题。{#e845}


想象一下,乔是你最好的朋友。他正在海外旅行,在他休假的第五天,他打电话给你说:"伙计,我需要一些钱。我已经用光了。"{#7271}


你回答说,"马上送一些,"然后挂了电话。{#6591}


然后,您可以致电您银行的客户经理,告诉他"请将1000美元从我的帐户转移到Joe的帐户。"{#a6c1}


您的客户经理回复说:"是的,先生。"{#72ff}


他打开了注册表,检查了你的账户余额,看看你是否有足够的余额将1000美元转移给Joe。因为你是一个有钱人,你有很多;因此,他在注册表中输入如下内容:{#5ae6}
交易登记册

Note:
我们不只是为了简单起见而讨论计算机。{#d31a}


你给乔打电话告诉他,"我把钱转了。下次,你去银行,你可以提取我刚刚转移的1000美元。"{#6190}


刚刚发生了什么?你和乔都信任 bank
管理你的钱。实物账单没有真正转移来转移资金。所需要的只是登记册中的条目。或者更准确地说,登记册中的条目,即你和乔都没有控制或拥有。{#25af}


这就是当前系统的问题。{#9e28}


为了在我们之间建立信任,我们依赖于个别第三方。


多年来,我们依靠这些中间人相互信任。你可能会问,"根据它们有什么问题?"{#dcff}


问题是它们的数量是奇数。如果必须在社会中注入混乱,那么它所要求的只是一个人/组织有意或无意地腐败。{#da2b}

  • What if that register in which the transaction was logged gets burnt in a fire?{#2d24} {#2d24}
  • What if, by mistake, your account manager had written $1500 instead of $1000?{#79ab} {#79ab}
  • What if he did that on purpose?{#2ba9} {#2ba9}

多年来,我们一直将所有鸡蛋放在一个篮子里,而另一个篮子里也是如此。


难道有一个系统我们仍然可以在不需要银行的情况下转账吗?{#38cf}


要回答这个问题,我们需要进一步深入研究并问自己一个更好的问题(毕竟,只有更好的问题才能得到更好的答案)。{#e05a}


想一想,转移资金意味着什么?只是登记册中的一个条目。那么更好的问题就是--- {#67b4}

Is there a way to maintain the register among ourselves instead of someone else doing it for us?
{#3051}


现在,这是一个值得探讨的问题。答案就是你可能已经猜到的。区块链是这个深刻问题的答案。{#ce0e}


这是一种在我们自己之间保持注册的方法,而不是依赖别人为我们做这件事。{#16d0}


你还在吗?好。因为现在,当你脑子里开始出现几个问题时,我们将学习这个分布式寄存器是如何工作的。{#bfca}

The requirement of this method
是的,必须有足够的人不想依赖第三方。只有这样,这个小组才能自己维护注册。{#9a9f}


"只要获得一些比特币就可能有意义。如果有足够多的人以同样的方式思考,这将成为一个自我实现的预言。" --- Satoshi Nakamoto在2009年


有多少就足够了? At least three
。对于我们的例子,我们假设有10个人想要放弃银行或任何第三方。经双方同意,他们一直都有彼此账户的详细信息 - 不知道对方的身份。{#71ac}

  1. An Empty Folder {#3177}


每个人都包含一个自己开始的空文件夹。随着我们的进步,所有这十个人将继续将页面添加到他们当前空的文件夹中。这个页面集合将形成跟踪交易的寄存器。{#ec93}

  1. When A Transaction Happens {#01fc}


接下来,网络中的每个人都坐着一个空白页面和一支笔。每个人都准备好编写系统内发生的任何事务。{#c103}


现在,如果#2想要将10美元发送到#9。{#360c}


为了进行交易,#2喊叫并告诉所有人,"我想将10美元转移到#9。所以,每个人,请在你的网页上记下它。"{#0c3b}


每个人都会检查#2是否有足够的余额将10美元转移到#9。如果她有足够的余额,那么每个人都会在空白页面上记下交易。{#e011}
页面上的第一笔交易


然后认为该交易已完成。{#7d2d}

  1. Transactions Continue Happening {#16ad}


随着时间的推移,网络中的更多人感到需要将钱转移给他人。每当他们想要进行交易时,他们都会向其他人公布。一旦有人听取该公告,他就会将其写在他/她的页面上。{#2517}


此练习将继续,直到当前页面上的每个人都空间不足。假设一个页面有空间来记录十个事务,那么一旦完成第十个事务,每个人都会耗尽这个空间。{#555b}
当页面填满时


是时候将页面放在文件夹中并显示一个新页面并重复上面步骤2中的过程。{#ea3f}

  1. Putting Away The Page {#0528}


在我们将文件夹放入文件夹之前,我们需要 seal
it with a unique key
网络中的每个人都同意这一点。通过密封它,我们将确保一旦其副本被放入每个人的文件夹中,没有人可以对其进行任何更改 - 不是今天,不是明天,甚至不是一年之后。一旦进入文件夹,它将始终保留在文件夹---密封。而且,如果每个人都信任印章,每个人都信任页面的内容。这个页面的密封是 crux of this method.
{#50e2}

[Jargon Box]
它在页面上被称为"挖掘"以保护它,但为了简单起见,我们将继续将其称为"密封"。{#9e29}


早些时候,第三方/中间人给了我们信任,他们在寄存器中写的任何内容都不会被改变。在像我们这样的分布式和分散式系统中,这种密封将提供信任。


在我们学习如何密封页面之前,我们一般都会知道密封是如何工作的。而作为它的先决条件是学习我喜欢称之为的东西... {#adc3}

The Magic Machine {#b0f4}


想象一下被厚墙包围的机器。如果你从左边发送一个包含内容的盒子,它会吐出一个包含其他东西的盒子。{#cec9}

[Jargon Box]
这台机器被称为"哈希功能",但我们并不想过于技术化。所以,今天,这些是"魔术机器"。{#5b8c}
魔术机(又名哈希函数)


假设你从左边发了一个数字4,我们发现它在右边吐出了下面的单词:'dcbea。'{#77db}


它是如何将4号转换为这个词的?没人知道。而且,这是一个不可逆转的过程。鉴于"dcbea"这个词,我们无法分辨左边的机器是什么。但是每次你给机器输入数字4时,它总会吐出相同的字,'dcbea。'{#4fec}
hash(4) == dcbea


鉴于"dcbea"这个词,我们无法分辨左边的机器是什么。但是每当你将数字4输入机器时,它总会吐出同一个字,'dcbea。'{#8713}


我们尝试发送不同的号码。怎么样26?{#2b80}
hash(26) == 94c8e


这次我们得到了'94c8e'。有趣!所以,单词也可以包含数字。{#3f87}


如果我现在问你以下问题怎么办:{#ef53}

"Can you tell me what should I send from the left side of the machine such that I get a word that starts with three leading zeroes from the right side of it? For example, 000ab or 00098 or 000fa or anything among the others."
{#819f}
预测输入


暂时考虑一下这个问题。{#fe63}


我告诉过你机器有一个属性,我们无法计算出我们在右侧给出预期输出后必须从左边发送的内容。有了这样的机器,我们如何回答我问的问题?{#bfec}


我能想到一种方法。为什么不逐个尝试宇宙中的每个数字,直到我们得到一个以三个前导零开头的单词?{#1075}
尝试一切来计算输入


保持乐观,经过几千次尝试,我们最终会得到一个能够在右边产生所需输出的数字。{#8812}


在给定输出的情况下计算输入是非常困难的。但与此同时,验证预测输入是否产生所需输出总是非常容易。请记住,机器每次都会为一个数字吐出相同的单词。{#4b83}


如果我给你一个数字,比如72533,你认为答案是多么困难,并且问你一个问题,"这个数字,当被送入机器时,会产生一个以三个前导零开头的单词吗?"{#da6a}


您需要做的就是将数字丢入机器中,看看它右侧的数字是什么。就是这样。{#07ee}


这类机器最重要的特性是---"给定一个输出,计算输入非常困难,但考虑到输入和输出,很容易验证输入是否导致输出。"{ #5968}


我们将通过帖子的其余部分记住Magic Machines(或Hash Functions)的这一属性:{#d019}


给定输出,计算输入非常困难,但是给定输入和输出,很容易验证输入是否导致输出。

How to use these machines to seal a page? {#c276}


我们将使用这台神奇的机器 generate a seal
对于我们的页面。像往常一样,我们将从一个想象的情况开始。{#6960}


想象一下,我给你两个盒子。第一个方框包含数字20893.然后,我问你,"你能算出一个数字,当加到第一个方框中的数字并送到机器时,会给我们一个以三个前导零开头的单词吗?" {#d636}


这与我们之前看到的情况类似,我们已经了解到,计算这样一个数字的唯一方法是尝试整个宇宙中可用的每个数字。{#64c7}


经过数千次尝试后,我们会偶然发现一个数字,例如21191,当加到20893(即21191 + 20893 = 42084)并送入机器时,会产生满足我们要求的字样。{#d9e7}


在这种情况下,这个号码21191成为20893号的印章。假设有一个页面上写着20893号。要密封该页面(即没有人可以更改它的内容),我们将在其上面放置一个标有"21191"的徽章。一旦密封号码(即21191)卡在页面上,页面就会被密封。{#5489}
The sealed number

[Jargon Box]
密封号称为"工作证明",意思是这个数字证明了计算它的努力。为了我们的目的,我们称之为"密封号码"。{#1e12}


如果有人想验证页面是否被更改,他所要做的就是---添加带有密封编号的页面内容并输入魔术机器。如果机器发出一个带有三个前导零的单词,则内容不受影响。如果出现的单词不符合我们的要求,我们可以丢弃页面,因为它的内容已被破坏,并且没有用。{#5fb6}


我们将使用类似的密封机制来密封我们的所有页面,并最终将它们安排在我们各自的文件夹中。{#a09d}

Finally, sealing our page... {#ad6c}


为了封闭包含网络事务的页面,我们需要找出一个数字,当附加到事务列表并送到机器时,我们得到一个以右边三个前导零开头的单词。{ #4039}

Note:
我一直在使用"以三个前导零开头的单词"这个短语作为例子。它说明了哈希函数的工作原理。真正的挑战要比这复杂得多。{#12c6}


一旦在机器上花费时间和电力后计算该数字,页面就用该号码密封。如果有人试图改变页面内容,密封号码将允许任何人验证页面的完整性。{#27fb}


现在我们已经了解了关于页面的密封,我们将回到我们在页面上完成第十个事务的时间,并且我们用尽了空间来写更多内容。{#2c15}


一旦每个人都跑出页面进行进一步的交易,他们就会沉迷于计算页面的密封号码,这样它就可以隐藏在文件夹中。网络中的每个人都进行计算。网络中第一个找出密封号码的人向其他人宣布它。{#fd61}


听到密封号后,每个人都会立即验证是否产生了所需的输出。如果是这样,每个人都会用这个号码标记他们的页面并将其放在他们的文件夹中。{#b7ec}

But what if for someone, say #7,
宣布的密封数量不会产生所需的产量?这种情况并不罕见。可能的原因可能是:{#45c0}

  • He might have misheard the transactions that were announced in the network{#4fa0} {#4fa0}
  • He might have miswritten the transactions that were announced in the network{#320d} {#320d}
  • He might have tried to cheat or be dishonest when writing transactions, either to favor himself or someone else in the network{#e883} {#e883}

无论原因是什么,#7只有一个选择---丢弃他的页面并将其从其他人复制,这样他也可以把它放在文件夹中。除非他没有将他的页面放在文件夹中,否则他不能继续编写进一步的交易,因此禁止他成为网络的一部分。{#8cad}


无论大多数人同意的密封件数量,都成为诚实的密封件数量。

Then why does everyone spend resources doing the calculation when they know that someone else will calculate and announce it to them? Why not sit idle and wait for the announcement?
{#afe9}


好问题。这就是图片中的激励措施。作为区块链一部分的每个人都有资格获得奖励。计算密封数量的第一个获得免费奖励(即消耗的CPU功率和电力)。{#f2c8}


简单地说,如果#5计算了一个页面的密封数量,他就可以获得一些免费的钱,比如1美元,这是凭空创造的。换句话说,#5的帐户余额会以1美元递增,而不会降低其他人的帐户余额。{#7950}


这就是比特币的存在方式。它是第一种在区块链上交易的货币(即分布式寄存器)。作为回报,为了保持网络上的努力,人们被授予了比特币。{#39b0}


当足够的人拥有比特币时,他们的价值增长,让其他人想要比特币;使比特币的价值进一步增长;让更多人想要比特币;使它们进一步增值;等等。{#1612}


奖励使每个人都继续在网络中工作。


一旦每个人都把文件夹在他们的文件夹中,他们会带出一个新的空白页面并重复整个过程 - 永远这样做。{#e5f1}

[Jargon Box]
将单个页面视为事务块,将文件夹视为页面链(块),因此将其转换为区块链。{#9d49}


我的朋友们,这就是Blockchain的工作方式。{#1dcf}



除了我没有告诉你的一件小事。然而,{#5aa2}


想象一下,文件夹中已有五页 - 全部用密封号码密封。如果我回到第二页并修改交易以支持自己怎么办?密封号码可以让任何人检测到交易中的不一致,对吧?如果我继续为修改后的交易计算一个新的密封编号并用该标记页面,该怎么办?{#e8ad}


为了防止某人返回并修改页面(块)以及密封编号的问题,如何计算密封数量会有一些变化。{#104e}

Remember how I told you that
我给了你两个盒子 - 一个包含数字20893而另一个空包供你计算?实际上,要计算区块链中的密封数,而不是两个方框,有三个 - 两个预先填充,一个要计算。{#4ddf}


当所有这三个盒子的内容被添加并送入机器时,从右侧出来的答案必须满足所需的条件。{#1da1}


我们已经知道一个盒子包含交易清单,一个盒子包含密封号码。第三个框包含上一页魔术机的输出。{#e0ce}


通过这个巧妙的小技巧,我们确保每个页面都依赖于其上一页。因此,如果有人必须修改历史页面,他还必须在此之后更改所有页面的内容和密封编号,以保持链条的一致性。{#68ce}


如果一个人,在我们开头想到的十个人中,试图欺骗和修改区块链的内容(包含带有交易列表的页面的文件夹),他将不得不调整几页并计算新的密封所有这些页面的数字。我们知道计算密封数是多么困难。因此,网络中一个不诚实的人无法击败九个诚实的家伙。{#e16a}


会发生什么,从不诚实的人试图欺骗的页面,他将在网络中创建另一个链,但该链永远无法赶上诚实的链 - 只是因为一个人的努力和速度不能击败累积的努力和九的速度。因此,保证网络中最长的链是诚实的链。{#61f4}


最长的连锁店是诚实的连锁店。


当我告诉你一个不诚实的家伙无法击败九个诚实的家伙时,它是否会敲响你脑中的铃声?{#04bc}

In that case, the protocol will fall
平坦的脸。它被称为"51%攻击"。如果网络中的大多数人决定不诚实并欺骗网络的其余部分,协议将无法实现其目的。{#a717}


而这就是区块链可能崩溃的唯一脆弱原因。要知道,它不可能发生,但我们都必须知道系统的脆弱点。它建立在假设的基础之上 majority of a crowd is always honest
.{#2832}


我的朋友们就是关于区块链的一切。如果你发现有人感到被遗忘并想知道,"WTF是区块链吗?"你知道你可以指向他们的地方。为该链接添加书签。{#318f}


现在可以想到有人应该读这个吗? "分享"按钮全是你的。{#38d3}


---{#7453}

About the author
{#39eb}

Mohit Mamoria is the curator of a weekly newsletter,
Unmade
, which delivers one idea from the future to your inboxes.
{#9479}



中英文模式阅读
中文模式阅读
英文模式阅读

查看英文原文

查看更多文章


公众号:银河系1号


联系邮箱:public@space-explore.com


(未经同意,请勿转载)