首页 > 解决方案 > 区块链数据库的认证过程

问题描述

我是区块链技术的新手,我想从产品认证开始我的项目。我很好奇使用它是否是一个不错的选择。

例如,假设我有一些真实的实物产品,我想检查它们的原创性。他们获得了唯一的序列号或附加的电子标识符(例如 RFID)。

根据这个简单的python区块链:https ://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b

在块类中

class Block:
  def __init__(self, index, timestamp, data, previous_hash):
    self.index = index
    self.timestamp = timestamp
    self.data = data
    self.previous_hash = previous_hash
    self.hash = self.hash_block()

每次扫描某些产品(例如通过电话)时,我们都会创建新块。那么数据中应该包含哪些信息?产品名称、序列号、动作类型?

一开始,在所有产品创建完成后,每个人都会被初始扫描。例如,对于 100 个初始产品及其扫描,区块链中将有 100 个区块。

身份验证过程如何在这里工作?有没有办法扫描一些产品(它的 ID)并使用这个区块链数据库来确保它的原始产品?这种技术在那种情况下有用吗?

标签: authenticationblockchain

解决方案


是的,用例实际上是一个非常标准的用例。在供应链管理行业中有许多关于此类用途的示例。例如, Everledger验证钻石碎片及其来源。

身份验证过程如何在这里工作?有没有办法扫描一些产品(它的 ID)并使用这个区块链数据库来确保它的原始产品?这种技术在那种情况下有用吗?

我认为您应该将其称为产品(原产地)验证。只要你抽象出区块链技术本身,这很简单。这就是我将区块链技术抽象出来的意思——把区块链想象成一个不可变的账本(数据库),数据可以在其中插入一次,但永远不能从中间更改或删除,你总是可以从中读取.

假设有一种区块链技术(我将在最后添加有关区块链的详细信息。)现在,根据定义,您始终可以向其中添加数据,在您的情况下是一些跟踪号/QR/ID 等。当您必须验证产品,您必须确保相应产品的区块链中存在该条目。就那么简单。是的,这是区块链最著名的用例之一,尤其是在多个系统与同一数据库交互的共享数据生态系统中。

您所指的文章是从程序员的角度对区块链的非常简单的解释。出块时间、出块频率都是针对不同用例而变化的变量。我建议你研究已经成熟的区块链技术并部署它们,并专注于你的用例。您可以将以太坊技术用作本地节点。然后,您可以使用web3.py非常成熟的 Python 库与您的区块链进行交互。或者你可以简单地使用分布式账本,Hyperledger Projects就是一个例子,甚至更简单(在我看来,更好)BigchainDB。借助所有这些技术,您可以在区块链上存储您喜欢的任何类型的信息。


推荐阅读