构建区块链初学者指南
比特币和区块链是最近最流行的词汇之一。甚至连从未开采过加密货币或不知道其工作原理的人都在谈论它。听听区块链的大肆宣传,区块链现在将:
解决收入不平等,永远保护所有数据的安全,让一切变得更加高效和无信任,让银行系统变得多余,拯救地球。但是,区块链到底是什么?它真的能做所有这些事情吗?区块链能否给医疗保健、金融、供应链管理、音乐版权等行业带来惊喜?
在本文中,我试图通过研究区块链在零售供应链管理中的实施以及它如何带来更高的透明度、可追溯性和责任来回答这些问题。
零售供应链管理
我们将研究以下场景,其中由制造商准备的零售产品(棉衬衫、牛仔裤和t恤)通过运输和批发商转移到零售商手中。
我们将使用区块链来跟踪这些产品的移动和产品交付的状态。这样,当产品到达零售商手中,任何产品出现问题,我们都可以追溯问题根源,设定责任。
让我们开始吧。
什么是区块链?
从技术上来说,块是一组有序的事务,而区块链是块的链表,这些块通过加密生成的哈希值连接在一起。
Consistency ——传入数据不能与区块链中已有的一些其他数据冲突。不变的3354数据只能在追加模式下输入。负责任的3354输入数据被锁定给所有者,并且是可复制和可用的。最后,每个人都同意区块链的现状。没有一个中央政党让我们从这些独立的板块是什么开始。
一个区块由一组交易组成,这些交易在整个区块链是唯一的。每个块由一组特征组成,如下图所示。
时间戳——事务日期和时间的先前散列——有助于将当前块与先前块链接起来的唯一标识符
如果先前的散列被以任何方式改变,它将破坏整个区块链,因为现在当前块不能再与先前的块链接。
随机数——只有满足一组预定义的规则,才会生成块的当前哈希。例如:一个被认可的散列将是一个末尾至少有3个零,并且在散列串的某处有一个“55”值的散列。
1:迭代:前一散列事务索引(nonce=1)
结果(无效):38 uxd 762 qad 7503 pogg 0
迭代2: Prev散列事务索引(nonce=2)
结果(无效):00UYTS6209BVGT0943Q00
迭代3: Prev散列事务索引(nonce=3)
结果(有效):97BHYT 55 KOU345ZLGVA 000
正如我们在这里看到的,我们在3次迭代后收到了一个有效的哈希值,并且Nonce值也随着每次迭代而增加。
Nonce表示挖掘器为生成当前有效的散列而经历的迭代次数。一旦生成有效的哈希值,该块将被添加到区块链。
注意:生成有效散列的迭代过程称为“挖掘”。一旦我们得到一个满足预定义规则集的有效散列,它就被称为“工作负载证明”。
当前交易——发生在供应链中的一组交易,即产品从制造商到运输到批发商到零售商的移动。生成的哈希值—由工作负载认证生成的哈希值。该唯一标识符将成为区块链中后续块的“先前散列”。索引——指示当前块在整个区块链中的位置。
什么是区块中的交易?
与块类似,区块链上的每个事务也由一组特征定义。例如,棉衬衫从制造商到运输的移动将具有以下特征。
下面是这种交易的一个例子。
{
\'时间戳\':166227416.658973,
\'产品标识\':2,
\'产品_序列号\':50002001,
名称\':\'棉衬衫\',
来源\':\'制造商\',
目的地\':\'运输\',
信息\':\'本产品状况良好\',
数字签名\':\'批准\',
标记\':\' n \'
}
正如我们在这个例子中看到的:
事务获得事务发生时间的不可变时间戳。产品ID、名称和序列号。交易的来源和目的地,以及交易消息。最后,数字签名和标志值指示交易被批准加入块。注:一个块可以包含多个这样的事务。当前哈希是通过将所有这些事务组合在一个块中生成的。因此,如果入侵者试图更改块中的任何事务,将导致为该块生成新的哈希,从而破坏区块链。
如何在区块链中添加新区块?
到目前为止,我们已经了解了什么是事务,如何将多个事务合并到一个块中,以及如何将多个块链接在一起以构建一个区块链。
但是,区块链上的不同实体(制造商、运输商、批发商和零售商)是如何相互作用的呢?“区块链”将如何帮助供应链管理?
事实上,区块链结构将被复制给所有在其上交易的实体,如下图所示。
因此,当一个新块被添加到这个区块链时,所有实体必须通过提供数字签名来同意将新块添加到区块链。
在“共识协议”中,所有实体将提供最终生成的哈希值,然后将其与事务列表、块索引和随机值相结合,为新块生成一个哈希。
一旦新生成的哈希满足指定的规则集,它将被添加到区块链,并同时为所有实体复制。
重新审视区块链功能
在本文的开头,我们简要介绍了区块链的关键特性,即透明性、可追溯性、可问责性、不变性和去中心化机制。
现在让我们看看这些功能在我们的供应链管理区块链实施中是如何执行的。
透明度——由于一个区块只能添加到区块链,如果有关各方达成共识,它将为所有交易带来完全的透明度。可追溯性——如果有任何欺诈交易或任何入侵者试图改变任何块的状态,那么它将导致为该块生成新的散列值。因此,这个特定的块将不会链接到它的前一个或后一个块,从而破坏整个区块链。因此,我们可以很容易地找出整个链中的任何故障块。问责制度——由于区块中的每一笔交易都标注了其来源和目的地,并且其内容都经过了数字签名的验证,所以我们可以为这笔交易在传输过程中设置问责制度,以防出现任何问题。不变性3354一旦事务被输入到块中,并且块被输入到区块链中,它们就不能被改变。您只能在仅附加模式下输入数据。正如我们在“可追溯性”中已经描述的,改变块或事务将导致块失败。最后,没有一个中央政党来管理整个区块链。相反,各方必须建立共识,这就导致了权力机制的分散。
概括
综上所述,我们谈了以下几点:
区块链的交易及其主要特征是什么?如何将事务合并到一个块中?如何根据“共识协议”将区块加入区块链?区块链如何为供应链管理带来透明度、可追溯性和问责制?区块链的应用是无限的,我们才刚刚开始。