Translate

2016年2月26日金曜日

ブロックチェーンを勉強するためにまず用語集を翻訳してみた

Bluemix上にBlockchainなるサービスがLabに登場した。

IBM、「Bluemix」上で開発者向けブロックチェーンサービスを提供へ
http://japan.zdnet.com/article/35077990/

そろそろ「ブロックチェーン」というものを勉強しなきゃと思ってはいたのだけど、なんとなくのばしのばしにしていた。

でも、そろそろやらんとなあ..と思い、まず

Marblesというブロックチェーンのサンプルコードについている用語集
https://github.com/openblockchain/obc-docs/blob/master/glossary.md

をまず翻訳してみた。

先に行っておくと、ブロックチェーンの"ブ"も知らない超弩級ド素人が翻訳しているので、私のほかの翻訳文書と比較しても品質はとても低い。機械翻訳に近いくらいの出来だ。
なので、参考にするとしても、かなりリスクをともなうことを覚悟してほしい。

----

Roles & Personas

Roles


Chain Transactorトランザクションの生成やネットワークデータ問い合わせのためのパーミッションを保持するエンティティ。
Chain Validatorchain ネットワークのstakeを所有するエンティティ。各chain validatorはトランザクションが有効かどうか決定する投票権を持っており、それゆえchain validatorはそれらのchainへ送られるすべてのトランザクションを調べることができる。
Chain Auditorトランザクションを調べるためのパーミッションを持つエンティティ。

Participants

Solution Userエンドユーザはchainネットワークの詳細について知らない、一般的に彼らはSolution Providerによって有効可能となったアプリケーションを通してchainネットワーク上でトランザクションを開始する。Roles:なし
Solution Providerchainネットワークへアクセスするためのエンド(ソリューション)ユーザのためのモバイルや/もしくはブラウザベースのアプリケーションを開発する組織。アプリケーションオーナはネットワークオーナでもある。Roles: Chain Transactor
Network Proprietor(所有者)Proprietor(所有者)はセットアップし、chainネットワークの目的を決定する。彼らはネットワークのステークホルダである。Roles: Chain Transactor, Chain Validator
Network Auditorsトランザクションを調べるパーミッションを持つ個人もしくは組織。Roles: Chain Auditor

Business Network

Types of Networks


Industry Networkある特定の企業のためにビルドされたソリューションを提供するひとつのchainネットワーク。
Regional Industry Networkある特定の企業や地域のためにビルドされたアプリケーションを提供するひとつのchainネットワーク。
Application Network単一のソリューションだけを提供するひとつのchainネットワーク。


Types of Chains

Main Chainひとつのビジネスネットワーク;各main chainは、組織の同一グループによって認可された1つ以上のアプリケーション/ソリューションを運用する。
Confidential Chain契約投資家(contract stakeholders)によってのみアクセス可能な秘密のビジネスロジックを実行するために生成された特別な目的のchain。


Transactions

Types of Transactions

Deployment Transactionあるchainへ新しいchaincodeをデプロイするトランザクション。
Invocation Transactionあるchaincode上の一つの機能を発動するトランザクション。

Confidentiality of Transactions

Public transaction公となっているそのペイロードを持つトランザクション。chainネットワークへアクセス可能な誰もがpublic transactionの詳細を調べることができる。
Confidential transaction暗号化されたペイロードを持つトランザクション。もしトランザクションがdeployment transactionであれば、以降デプロイされたchaincodeを読んでいるすべてのinvocation transactionもまた秘密であるべきである。

Inter-chain Transactions

Inter-Network Transaction2つのビジネスネットワーク(main chains)間のトランザクション。
Inter-Chain Transactionconfidential chainやmain chainの間のトランザクション。confidential chainのchaincodeは一つ以上のmain chain上のトランザクションを起動する事ができる。

Network Entities

Systems

Application Backend

目的:
関連のモバイルや/もしくはブラウザベースアプリケーションをサポートするバックエンドアプリケーションサービス。

鍵となるロール:
  • エンドユーザの管理やメンバーシップサービスによるそれらの登録
  • トランザクション要求の開始、そしてノードへのリクエスト送信
所有元:
Solution Provider, Network Proprietor

Non Validating Node (Peer)

 目的:
トランザクションを構築し妥当なノードへフォワードする。ピアノードはすべてのトランザクションレコードのコピーを維持するのでsolution providerはそれらを内部で問い合わせることが可能である。(開発用語名:NVP - Non Validating Peer)

鍵となるロール:
  • メンバシップサービスによるユーザの秘密事項の管理と維持
  • トランザクションの構築と妥当なノードへのフォワード
  • 台帳のローカルコピーの維持、そして内部で情報を問い合わせるためのアプリケーションオーナへの許可
所有元:
Solution Provider, Network Auditor

Validating Node (Peer)

 目的:
トランザクションの構築と妥当性検証、そしてchaincodeのstate維持。
鍵となるロール:
  • メンバシップサービスによるユーザ秘密事項の管理と維持。
  • トランザクションの構築
  • ネットワーク上のほかの妥当性検証ノードでのトランザクションの実行と妥当性検証
  • 台帳のローカルコピーの維持
  • 合意による参加と台帳の更新
所有元:
Network Proprietor, Solution Provider (同一のエンティティに所属する場合)

Membership Service

目的:
エンドユーザや組織の識別の振り出しや管理

鍵となるロール:
  • 各エンドユーザや組織への登録証明書の発行
  • 関連する各エンドユーザや組織へのトランザクション証明書の発行
  • OBCエンティティ間のセキュア通信のためのTLS証明書の発行
  • chain 特定キーの発行
所有元:
Third party service provider

Membership Service Components


Registration Authority登録username、登録passwordのペアにネットワーク参加を割り当てる。username/passwordペアはECAから登録証明を取得することで利用される。
Enrollment Certificate Authority (ECA)メンバシップサービスにより既に登録されたネットワーク参加者に登録証明書(ECert)を発行する。ECertは一つ以上のネットワークに参加している個別のエンティティを特定するために使用される長期証明書である。
Transaction Certificate Authority (TCA)Ecert 所有者へトランザクション証明書(TCert)を発行する。それぞれのECertから無限数のTCertを抽出することが可能である。TCertはネット ワーク参加者によりトランザクションを送るために使用される。セキュリティ要求のレベルに依存して、ネットワーク参加者はそれぞれのトランザクションごと に新しいTCertを使うことを選択してもよい。
TLS-Certificate Authority (TLS-CA)あるchainネットワークのメッセージを渡すシステムへのTLS証明書の発行。TLS証明書はシステム間のセキュアな通信チャネルによって使用される。

OBC Entities

Chaincode

Public Chaincodepublic transactionによりデプロイされたchaincode。これらのchaincodeはネットワークのどんなメンバによっても割り当て可能である。
Confidential ChaincodeConfidential transactionによりデプロイされるchaincode。これらのchaincodeはネットワークの妥当性検証メンバ(chain validator)によって割り当て可能である。
Access Controlled Chaincode承 認されたinvokerのトークンも埋め込まれたConfidential transactionによりデプロイされるchaincode。これらのinvokerもまた、たとえValidatorでなくても、 confidential chaincode割り当て許可されている。

Ledger(台帳)

Chaincode-StateOBCはstateサポートを提供する;chaincodeはstate APIを通して内部のstateストレージへアクセスする。stateは、ロジックへアクセスするstateのchaincode機能を呼び出すトランザクションによって生成、更新される。
Transaction Listす べての処理されたトランザクションは台帳内にオリジナルフォーム(confidential transactionのために暗号化されたペーロード)で保管される、このためネットワーク参加者はアクセスパーミッションを使って過去のトランザク ションを調べることができる。
Ledger Hash台帳の現在のスナップショットをカプチャするハッシュ。トランザクションが生成されてからのネットワークにより処理されたすべてのvalidated transactionの結果である。

Node

DevOps Serviceク ライアントとそれらのノードやchainネットワークとのやりとりをAPIとして提供するノード上の正面のモジュール。このモジュールもまたトランザク ションの構築に責任を持ち、メンバーシップサービスとともに動作してすべてのタイプの証明書や暗号キーを受け取りストレージに格納する。
Node Serviceトランザクション処理に責任をもつノード上のメインモジュール。chaincodeをデプロイおよび実行、台帳データの維持、そして合意プロセスを起動する。
ConsensusSieveとよばれるOBCのデフォルト合意アルゴリズム。妥当性検証ノードにできるかぎり非決定論トランザクションを確認することを許可する「古典的な」PBFTメカニズムを拡張した、新しいアルゴリズムである。

----

と、最後まで翻訳したので、最初から読んでみるか..


0 件のコメント:

既存アプリケーションをK8s上でコンテナ化して動かす場合の設計注意事項メモ

既存アプリをK8sなどのコンテナにして動かすには、どこを注意すればいいか..ちょっと調べたときの注意事項をメモにした。   1. The Twelve Factors (日本語訳からの転記) コードベース   バージョン管理されている1つのコードベースと複数のデプロイ 依存関係 ...