2017-02-07 13 views
5

したがって、典型的な貿易金融のプロセスフローについて考えてみましょう。 Exporterは出荷条件を持つ契約を展開し、展開が完了するとハッシュが生成されます。スマートコントラクトはブロックチェーン(EthereumまたはHyperledger)にあります

質問:

1)契約が保存されていますか?
2)税関や輸入業者などの他の参加者がこの契約にどのようにアクセスできますか?
3)ブロックチェーンの契約への参加者レベルのアクセスを有効にすることはできますか?

+1

あなたの質問を1つにまとめるのではなく、別々の質問を投稿できるのが望ましいです。そうすれば、人々はあなたの質問に答えるのを助け、他の人はあなたの質問の少なくとも1つを捜すのに役立ちます。ありがとう! – default

答えて

4

1)契約は元帳にあります。トランザクションが呼び出されるたびに、契約内の対応するメソッドがすべての検証中のピアで実行されます。

2)他の参加者は、事前に定義されたユーザー資格情報を使用してこの契約にアクセスすることができます。この資格は、自分自身を登録し、契約上のトランザクションを呼び出すために使用できます。

3)すべてのユーザーの属性を定義し、特定の属性を持つユーザーのみが契約の特定の部分にアクセスできるようにすることで、契約への参加者レベルのアクセスを有効にできます。

9

EthereumとHyperledgerにはいくつかの側面があります。私は、あまりにも多くの詳細とあまりにも長い答えにならないように、やや単純化された答えを与えてください。

まず、Ethereumは主に特定の意図された方法で動作するパブリックブロックチェーンです。同様に、Bitcoinブロックチェーンは、特定の意図された方法で動作します。 Hyperledgerは、そうではなく、むしろ分散レジャー技術の傘であり(私の用語ではブロックチェーンと同じではありません)、非常に柔軟なアーキテクチャを提供することを目指しており、あらゆる種類の元帳システムを構築できます必要です。これは、これを仮想的なBitcoinの傘と比較することができます。この傘は、プラグイン可能な部分を持つ独自のaltcoinsを作成する技術を提供します。要するに、これらはすべて異なる問題を解決することを目指しており、誰もがすべてに合っていると考えるべきではありません。

質問に戻る

1)契約はどこに保存されていますか?

Ethereumは、チェーン上で契約(スマートコントラクトと呼ばれる)を持っています。つまり、コードはバイトコードにコンパイルされ、結果のバイトはトランザクション内で送信され、Ethereumブロックチェーンに保持されます。これは、スマート契約を展開するときに一度実行されます。この後、スマート契約と他のトランザクションとのやりとりができます。

Hyperledgerはこれを定義していないという理論では、元帳にあるか、そうでない可能性があります。たとえばFabricを取ると、コードをサンドボックスのDockerコンテナにデプロイします。このDockerコンテナはトランザクションを使用して対話できます。

2)税関や輸入業者などの他の参加者がこの契約にどのようにアクセスできますか?

簡単な答えは、資格情報を使ってアクセス権が与えられていることです。

これはEthereumとHyperledgerの両方であなた自身を決定するために開いています。両方の場合のコードは、EthereumのブロックチェーンとFabricのDockerコンテナとしてコードとしてデプロイされているものとします。

Ethereumでは、コードは少し簡素化されており、公開アクセス可能/可視です。これはスマートコントラクトとやりとりできるようにする必要のある人のみを許可するためのチェックを必要とすることを意味します。 1つの方法は、(トランザクションの)送信者をチェックし、特定のものだけを許可することです。これは、通常、データを許可し、データを参照/変更するために認証/承認する必要がある従来のシステムに似ています。

Hyperledgerでは、これはおそらく同様の方法でモデル化されます。ファブリックには、システムのさまざまな部分へのアクセスを許可する証明書を渡す認証局もあります。例えば。輸送、保証または取引を含む。

3)私たちはブロックチェーンの契約への参加者レベルのアクセスを有効にすることはできますか?

はい、両方のシステムの各参加者が資格情報を持ち、スマートコントラクトの設計者がこれを使用してアクセスを制御できます。

また、ファブリックには、アクセス制御に使用される元帳を分割するチャネルがあります。

HTH。