1. 首页
  2. 技术

区块链的工作原理

区块链的工作原理

区块链的核心部分就是挖矿算法,接来下我们就以比特币的算法为例。它被称为SHA-256,也就是“256位安全散列算法”的缩写,它可接受任何内容的输入,包括文本、数字,或者任何长度的计算机文件。而产生输出称为“哈希”,且每次长度都相同为256位机器代码。

同样的输入将得到同样的输出,并不会随机。但如果你对输入进行了微小的改变,则输出会完全不同。

而且该算法也被称为单向函数,这就意味着你不能根据输出来计算出输入。你只能对输入进行猜测,然而你猜对的几率是2^256分之一,这几乎是不可能的,换句话该算法是安全的。

现在我们已经知道什么是算法,那接下来我们就用一个简单的交易示例来演示区块链是如何运行的。

现有Alice和Bob两个人,且我们知道他们俩的比特币余额。我们假设Alice欠Bob2个比特币。

Alice如果想要向Bob发送那两枚比特币,则Alice需要向网络中的矿工们广播她想要进行交易的消息。

在广播中,Alice将Bob的公共地址、她想要发送的比特币数量,以及数字签名和她公钥提供给矿工们。该签名是通过Alice的私钥生成的,由此矿工们就可以验证那些比特币是属于Alice的,且她也想要进行交易。

一旦矿工确定该交易是有效的,则他们就会将该交易与其他交易一起纳入到区块中,并尝试对该区块进行挖矿。且区块中的这一输入是通过SHA-256算法来完成的。而输出则需要从具体的0’s数值开始,以便才能被认为有效。具体0’s的数值则将根据所谓的“difficulty(难度)”来决定,而“difficulty”也将根据网络中的计算能力进行更改。

想要根据最开始要求的0’s数值来生成输出哈希值,矿工则需要在区块中添加一个“noncee number(随机数)”。由于输入的很小改变会完全更改输出,所以矿工要不断随机nonces,直到找到一个有效的输出哈希值为止。

如果该区块已经被挖掘,则该矿工就会向其他矿工们广播该新的已被挖掘的区块。之后矿工们就开始检查该区块以确保是有效的,之后再将该区块添加到他们的区块链副本中,至此交易就完成了。并且矿工也需要在已完成的区块中纳入前一区块的输出哈希值,以此才能使得所有的区块都相互连接,而区块相互链接的线性链也就被命名为区块链。因为系统是基于信任工作的,所以这一过程尤为重要。

每一位矿工的电脑上都有他自己的区块链副本,且所有人都相信投入计算工作最多的区块链,就将成为最长的区块链。如果一位矿工更改了之前区块中交易,则该区块的输出哈希值也将改变,而这就导致了其后的所有哈希值都会改变(因为区块是通过哈希值链接的)。该矿工就不得不重新开始所有的工作,以便于其他人接收到正确的区块链。因此,如果一位矿工想要作弊,则他的算力就必须要超过网络计算能力的50%,这几乎是不可能的。而网络中类似的攻击也就被称为51%攻击。

为了生成区块而使计算机运行的模式被称为工作量证明(PoW)。也存在其他模式列入权益证明(PoS),而该模式下则不需要太多的计算能力,这就意味着只需要相对较少的电力,并且该模式也将扩展到更多的用户。

以上就是区块链的基本原理!

【要交易数字货币?】币安是最安全的比特币莱特币以太坊交易网站之一,币安网址:https://www.binance.com/ 备注:本文来自于币安学院:https://www.binance.vision/

发表评论

登录后才能评论

联系我们

邮箱:readblocks@163.com