智能合约在区块链中的位置(以太坊或Hyperledger)

时间:2017-02-07 03:26:25

标签: storage blockchain hyperledger ethereum contract

因此,让我们考虑典型的贸易融资流程。导出器部署具有装运条件的合同,并在部署完成后生成散列。

问题:

1)合同存储在哪里?
2)海关和进口商等其他参与者如何获得此合同? 3)我们可以激活参与者级别对区块链合同的访问吗?

2 个答案:

答案 0 :(得分:15)

以太坊和Hyperledger有几个方面使它们完全不同。让我给出一个简单的答案,不要过多的细节和太长的答案。

首先,以太坊主要是一种以某种预期方式运作的公共区块链。同样,比特币区块链以某种预期的方式运作。 Hyperledger不是那样的,而是它是分布式账本技术的保护伞(在我的术语中与区块链不同),它们都旨在提供一个非常灵活的架构,以便人们可以构建具有几乎任何属性的各种分类账支持系统需要。人们可以将其与想象中的比特币伞进行比较,该伞提供了用于生产自己的山寨币的技术,例如可插拔部件。共识,区块链存储,节点组合等。简而言之,所有这些都旨在解决不同的问题,不应该认为一个人都适合所有问题。

回到你的问题。

  

1)合同存储在哪里?

以太坊在链上有合同(称为智能合约),即代码被编译为字节代码,并且在事务中发送结果字节以持久保存到以太坊区块链上。部署智能合约时,这将完成一次。在此之后,可以与智能合约进行其他交易。

Hyperledger理论上不是定义它,它可能在分类账上,也可能不在。以Fabric为例,它将代码部署到沙盒Docker容器中,然后可以使用事务进行交互。

  

2)海关和进口商等其他参与者如何获得此合同?

简短回答是,他们可以通过凭证获得访问权。

这是在以太坊和Hyperledger开放给你自己决定。我们现在假设两种情况下的代码都已作为代码放在以太坊的区块链上,并作为Fabric中的Docker容器。

在以太坊中,代码有点简化,可公开访问/可见,这意味着您需要使用某种检查,以便只允许那些能够与智能合约进行交互的人这样做。一种方法是检查发件人(交易)并仅允许某些发件人。它类似于传统系统,通常需要对其进行身份验证/授权以允许进入和查看/更改数据。

在Hyperledger中,它很可能以类似的方式建模,例如在Fabric中还有证书颁发机构,它颁发允许访问系统不同部分的证书。例如。运输,签注或交易。

  

3)我们可以激活参与者级别对区块链合同的访问吗?

是的,因此两个系统中的每个参与者都有凭据,智能合约的设计者可以使用它来控制访问。

此外,在Fabric中,有一些通道可以对用于访问控制的分类帐进行分区。

HTH。

答案 1 :(得分:5)

1)合同存在于分类账上。无论何时调用事务,合同中的相应方法都会在所有验证对等体上执行。

2)其他参与者可以使用他们预先定义的用户凭证访问此合同,他们可以使用这些凭据进行自我注册并调用合同上的交易。

3)是的,我们可以通过为每个用户定义属性并仅允许拥有某些属性的用户访问合同的特定部分来激活参与者级别的合同访问。