最近比特币又火了起来,看看那个币价,只能在啧啧称奇的同时暗想,我要是有几十枚比特币,我还能是现在这个鸟样?那么比特币到底是什么?一起来看看吧:
什么是比特币?
比特币是一种电子支付系统,更确切地说,它只是一个计算机程序。
当您运行该程序时,它会连接世界各地运行同一程序的其他计算机。这创建了一个庞大的,可以相互通信和共享信息的计算机网络。所有这些都是因为一个原因而发生的……共享一个文件,该文件被称为区块链。
区块链是一个包含交易的文件。任何人都可以进行交易并将其插入网络上的计算机中。从现在开始,它将在计算机之间传递,直到每个人都拥有一个交易信息的副本为止。最终,该交易进入了区块链。
但是,有一个问题。
您可以同时将两个冲突的交易插入网络。例如,您可以通过一笔交易购买比萨饼,然后创建另一笔交易并使用相同的比特币购买一些啤酒。如果您同时将这两笔交易都插入到网络中的不同终端,那么某些计算机将首先获得披萨交易的信息,而某些计算机将首先获得啤酒交易的信息。
谁应该获得比特币?
实际上,这两项交易均无法被写入文件,因为这将是“双重支出”。事实上,我们的计算机网络上仍然存在相互冲突的交易,且没有一台计算机会对这些交易负责。那么我们将如何解决这种问题呢?
比特币利用“采矿”系统解决了这个问题。与其将所有新交易写入区块链,不如将所有新交易都被保存在一个被称为“内存池”的等待区域中。在这里,每台计算机都可以从其内存池中将交易收集到一个“块”中,然后尝试将此交易块添加到区块链上。谁先将他们的区块添加到区块链上,谁先决定哪个交易是有效的。
所以这就是竞争开始的地方…
每台计算机首先通过所谓的“哈希函数”来放置它的块。该哈希函数接收一个块,并催促其产生一个随机数。我知道这很不正常,但这就是哈希函数的作用。有趣的是,没有人会根据输入给哈希函数的数据来判断最终会产生什么样的数字---你要做的只是去尝试并且获得这个数字。
总而言之,这里的竞争是试图从此哈希函数中获取一个低于某个阈值的数字。如果您可以设法从区块中获取足够少的数字,则可以将其添加到区块链中。
例如,假设我的内存池中有啤酒交易。我将构造一个块,将啤酒交易放入其中,然后通过哈希函数将该块放入。如果得出的数字不低于阈值,则我的尝试就失败了。但是,我总是可以对块内的数据进行微小的调整,然后再次将其放入哈希函数。
因此,“采矿”基本上意味着要尽可能快地对块进行哈希处理,力争成为第一个获得低于阈值的结果的人。如果幸运的话,我将是网络上第一台这样做的计算机。如果发生这种情况,我可以将此块发送给网络上的所有其他计算机,他们会将其添加到其区块链中。然后,由于此块包含啤酒交易,因此冲突的比萨交易会被踢出内存。
因此,凭着纯粹的运气和随机性,啤酒交易就是进入区块链的交易。
也许事实上,啤酒交易是比比萨交易晚进入网络的,但这并不重要。因为既成事实是,内存中有啤酒交易的计算机能够构建一个块,并且在其他任何人之前获得了足够低的哈希值,因此所有节点都接受该块并将其添加到他们的文件中。内存中的任何冲突交易都将被丢弃。
收到这个成功的新块后,节点将删除其正在处理的当前块,然后返回其内存池以创建一个新的块。这意味着区块链正在不断构建,新的交易区块大约每10分钟就会添加到链中。
最后,我们有了一个系统,任何人都可以将交易插入计算机网络中,并且这些计算机都将尽力尝试将它们添加到共享文件中。
多亏了这种“采矿”系统,我们创建了一个在计算机网络上运行的电子支付系统,并且所有这些都无需一个中心控制点即可运行。
这就是比特币。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。