区块链不过是签名的、点对点的分布式分类账数据库。好了,一切都结束了。
不?
好吧,区块链比它们声音更加复杂。大多数人都会知道区块比特币是基于它们的许多加密货币中的一个。但是加密货币仅用于区块链。在进入应用程序之前,让我们来看看一个区块链系统的样子以及它是如何运作的。
要开始,您需要了解公钥加密和数字签名,因为区块链中的数据块是数字签名的,并且区块链节点彼此进行了身份验证(图。1)。这允许他们维护其区块链的副本并确定来自其他节点的信息是否准确。为区块链提供节点的那些也必须具有自己的加密密钥,以便它们可以签署其块。
区块链实际上是一个由区块链节点维护的逻辑实体。它被设计成一个几乎是只读的数据库,随着块的增加而增长(图2)。块有效载荷由节点接受并分发到其对等体。有一个接受过程和数字签名的验证,但最终将通过足够的节点验证块的块,以便永久地添加到区块链中的块。
此时,添加的块将在大多数节点中复制,其余节点将最终赶上。这意味着所有节点都将有一个节点集合同意的移动的高水位,但在任何时间点上,所有节点的数据库可能都不相同。
这个想法是外部实体可以访问块的有效载荷,并用于生成后续块,该块将结合到区块链中。典型示例是块包含逻辑值,该值分为一半并分配给两个新块。这些新块的签名可用于允许其中一个新块包含此新值。将新块合并到区块链中将标记使用的原始块,并且两个新块作为活动。
系统是健壮的,因为区块链数据库被复制了。所有节点都可以接受新块,所有节点不必一直处于活动状态或可访问状态,但需要通过quorum来激活新块。
区块链系统面临的挑战是随着系统的增长保持性能和可伸缩性。在很大程度上取决于更新的频率,以及除了网络之外所涉及的总体系统数量。许多区块链系统在互联网上运行,但这不是一个要求。它们也可以用于封闭网络。
加密电脑
那么,回到加密货币。
加密货币是一种数字资产,可以是交换媒介。如今,往往使用区块链实施的树木电阻。这允许使用加密货物以分散的分布式方式发生的交易。加密货币相对较新(上述比特币于2009年开始)。
一个块的有效负载指示了一个事务所涉及的金额。这些价值是如何被创造和操纵的,取决于所使用的系统和参与系统的参与者。大多数加密货币使用时间戳方案,因此受信任的第三方不需要参与到系统中。
大多数加密货币系统使用工作证明(proof-of-work)方案来创建一个新的区块或比特币。比特币使用基于SHA-256的工作证明方案。它也被LiteCoin。也可以使用贴物证明方案。
比特币是通过“挖矿”产生的。这使用了hashcash工作证明函数,该函数的设计目的是花费大量的计算周期,但没有其他用途。专门的硬件已经被开发出来创建比特币。生成一个比特币所需的时间根据所使用的硬件有很大的不同。
其他区块链应用程序
只是关于任何需要注册分类帐的应用程序是区块链支持的候选者。许多嵌入式应用程序只是需要单个数据库,但如果需要更强大的解决方案,则区块链可能有意义。
BlockChains已被吹捧为各种应用程序的解决方案。例如,有许多努力在教育环境中使用它们。在这种情况下,使用块跟踪个人赚取的各种记录,测试和认证。这种方法允许分发此信息。块通常不包含所有信息,而是链接到数字签名包。
区块链也可以用于传统的基于分类账的应用程序。这些应用包括后端清算和结算。它们可以用于房地产交易、追踪音乐或其他多媒体内容,甚至可以用于处理合同。
区块链仍在其初期内。安全性仍然是一个关键组成部分,在考虑或使用此技术时不应被忽视。不正确的实现可能会导致严重的安全问题。开发人员还需要考虑实现的范围,更新频率和硬件和存储要求。