什么是区块链?

区块链是作为去中心化数位分类帐运行的资料记录清单。资料按时间顺序储存在区块中,并使用加密技术进行保护。 

第一个区块链模型创建于 20 世纪 90 年代初,当时电脑科学家 Stuart Haber 和物理学家 W. Scott Stornetta 决定在区块链上使用密码学来保护数位文件免遭篡改。 

他们的工作启发了许多程序员和密码学爱好者,最终导致比特币成为第一个去中心化电子货币系统(或者简称为第一个加密货币)。

尽管区块链技术比加密货币要古老得多,但其潜力直到 2008 年比特币出现后才被意识到。从那时起,人们对它的兴趣与日俱增,加密货币也越来越被接受。

区块链技术主要用于记录加密货币交易,但它也适用于不同类型的数字数据,并且可以执行多种任务。最古老、最安全和流行的区块链网络是比特币,它结合了密码学和博弈论。


区块链如何运作?

在加密货币的背景下,区块链由稳定的区块链组成,每个区块都包含先前确认的交易列表。 由于区块链网络由世界各地的许多计算机维护,因此它充当去中心化数据库或分类帐。这意味着每个参与者(节点)存储区块链数据的副本,并与其他节点交互以确认块中的信息匹配。

因此,区块链交易发生在全球点对点网络上,这使得比特币成为一种不受限制且抗审查的去中心化数字货币。此外,大多数区块链系统不需要信任,也不受单一管理机构的控制。

几乎每个区块链的核心都是基于哈希算法的挖掘过程。比特币使用 SHA-256 算法(256 位安全哈希算法)。它接受任意长度的输入并生成固定长度的输出。输出称为散列,在本例中,始终为 64 个字符(256 位)。

无论该过程重复多少次,相同的输入都会导致相同的输出。但是,如果稍微改变输入数据,输出就会完全不同。因此,在加密货币世界中,大多数哈希函数都是确定性和单向的。

单向性意味着几乎不可能从输出数据计算出输入数据。人们只能猜测输入的内容,但猜测该信息的机会极低。这保证了比特币区块链的安全。

让我们以一个简单的交易为例来看看区块链是如何工作的。

让我们想象一下,爱丽丝和鲍勃的资产负债表上有几个比特币。 Alice 欠 Bob 2 个比特币。

为了发送它们,Alice 将包含交易的消息发送给网络中的所有矿工。

在这笔交易中,爱丽丝告诉矿工鲍勃的地址和她想要发送的比特币数量,以及数字签名和她的公钥。签名是使用爱丽丝的私钥进行的,并确认她是这些硬币的所有者。

矿工必须验证交易的有效性,然后将其与其他交易结合起来,并尝试使用 SHA-256 算法创建区块。输出必须从一定数量的0开始,这取决于所谓的“难度”和网络的计算能力。

为了获得开头具有正确数量的 0 的输出哈希,矿工在运行算法之前将所谓的随机数添加到块中。由于输入的微小变化会完全改变输出,因此矿工会尝试不同的组合,直到找到所需的哈希值。

创建区块后,矿工将其广播给其他矿工。然后,他们检查该块的有效性,以便将其添加到区块链副本中并完成交易。矿工还将前一个块的输出哈希值包含在块中,以便将所有块链接在一起形成一种链,即区块链。区块链信任系统就是建立在这个机制之上的。

每个矿工在自己的计算机上存储一份区块链的副本,对区块链的信任程度取决于投入的算力及其长度。如果矿工更改了前一个区块中的交易,则该区块的输出哈希值也会发生变化,从而导致其之后的所有哈希值发生变化。然后矿工将不得不重做所有工作才能使他的区块链被接受为有效。为了欺骗系统,攻击者需要接管网络50%以上的算力,这几乎是不可能的。此类网络攻击称为 51% 攻击。

通过计算机的工作来生产区块的模型称为工作量证明(PoW)。还有其他模型,例如权益证明(PoS),不需要太多的计算能力并且消耗更少的电力,为许多用户提供可扩展性。