banner
leaf

leaf

It is better to manage the army than to manage the people. And the enemy.
follow
substack
tg_channel

ブロックチェーンセキュリティ実践

過去 2 年間、WannaCry、NotPetya、Locky の出現により、ランサムウェアは大量のメディア報道を集めました。2017 年 5 月、WannaCry ランサムウェアは世界中の多くのシステムに急速に広がりました。これは、英国の国民健康サービス、スペインの電話会社 Telefonica、フランスの自動車ブランドルノー(Renault)、アメリカの物流会社フェデックス(FedEx)、日本の会社日立、その他多くの大企業を攻撃しました。

ランサムウェアの作者は、ダークウェブでホスティングサービスを提供し、誰でも悪意のあるソフトウェアを作成・改良できるようにしています。

ダークウェブはインターネットの一部であり、通常の検索エンジンではアクセスできず、特別な匿名ブラウザ Tor を使用してログインする必要があります。言い換えれば、ダークウェブには通常の検索エンジンでは取得できないインデックスされていないデータが含まれています。Tor ブラウザは基本的に一連のプロキシサーバーを介してユーザー情報をルーティングし、ユーザーの身元を特定できず、追跡できないようにします。ダークウェブは通常のウェブサイトに似ていますが、命名構造にはいくつかの違いがあります。ダークウェブには.com、.net、.co のようなトップレベルドメイン(TLD)がありません。代わりに、.onion で終わるドメイン名のウェブサイトのみを使用します。

1. ハッカーの貨幣化

サイバーセキュリティビジネスレポートによると、2019 年までにランサムウェアによる損失コストは 115 億ドルに達すると予測されています。世界中には、ランサムウェアビジネスが成長し続けるいくつかの要因があります。ネット犯罪者は、より迅速に利益を得るために、自ら悪意のあるソフトウェアを作成するのではなく、ランサムウェア・アズ・ア・サービス(RaaS)を利用してニーズを満たしています。このサービスはダークウェブ市場で入手可能です。

これらの市場は、犯罪者がランサムウェアを作成するために費やす労力を減らすだけでなく、非技術的な犯罪者やプログラマーがスクリプトを使用してランサムウェアを操作できるようにします。

攻撃者は、事前に設定されたタイマーを使用してランサムウェアプログラムを生成し、期限内に身代金が支払われない場合はデータが破壊されると警告します。攻撃者は、主にビットコインウォレットを介して取引を行う支払いプログラムも共有しました(デジタル暗号ウォレットは匿名機能を提供します)。

2.WannaCry

WannaCry 攻撃は、2017 年 5 月 12 日に発生した最大規模のランサムウェア攻撃事件です。WannaCry は、Windows オペレーティングシステムの脆弱性を利用しました。この脆弱性は最初に NSA によって発見され、その後 Shadow Brokers によって公開されました。これは、Windows SMBv1 および SMBv2 の脆弱性を探り、ネットワーク内で横方向に広がることを目的としています。2017 年 5 月 24 日までに、このランサムウェアは 150 か国以上で 20 万台以上のコンピュータシステムに感染しました。

3.NotPetya

NotPetya は、2017 年 6 月に登場した別のスタイルのランサムウェアです。NotPetya ランサムウェアは、いくつかの点で Petya ウイルスに明らかに似ています。ファイルを暗号化し、ファイルを復元するためにビットコインの支払いを要求するウィンドウを表示します。最初の感染方法は、M.E.Doc のバックエンドプログラムからの埋め込みでした。M.E.Doc ソフトウェアを介してシステムが感染した後、NotPetya は EternalBlue や EternalRomance などのツールを使用してネットワーク内で拡散します。また、Mimi Katz というツールを使用して感染したコンピュータ内で管理者の資格情報を探そうとします。

4.SimpleLocker

SimpleLocker は、コンピュータシステムに感染しない最初のランサムウェア攻撃ですが、いくつかのスマートモバイルデバイスをターゲットにしています。ハッカーが最初にターゲットにしたモバイルシステムは Android で、このランサムウェアの発生源は東欧に追跡されました。トロイの木馬の攻撃対象は、タブレットや携帯電話の SD カードに挿入され、特定のファイルを取得するためにシステム全体を自動的にスキャンし、対応するデータを復号化するために現金を要求します。このウイルスは Google Play ストアを介してデバイスに侵入します。インストール後、ウイルスは影響を受けたデバイスをスキャンしてさまざまなファイルタイプを探し、AES 暗号化アルゴリズムを使用してそれらを暗号化し、ファイル拡張子を.enc に変更します。また、IMEI 番号、デバイスモデル、製造元などのさまざまな他の情報を収集し、ハッカーがリモートで制御するサーバーに送信します。このウイルスの最新バージョンを利用するハッカーは、デバイスのカメラにアクセスして被害者の写真を表示し、身代金を支払うように脅迫することさえできます。この種のトロイの木馬の脅威は、今でも私たちの周りに潜んでいます。

5.TeslaCrypt

CryptoLocker の 1 年後、新たな脅威として TeslaCrypt が登場しました。当初、多くの人々はこれが CryptoLocker の別の形態であると考えていましたが、後に新しい名前が付けられました。これは、従来とは異なる一群の人々、すなわちコアゲーマーをターゲットにしたランサムウェアです。TeslaCrypt は、ビデオゲームに関連する補助ファイルをターゲットにし、影響を与えました。これらの補助ファイルには、保存されたゲームファイル、マップ、ゲームに関連するダウンロード可能なコンテンツなどが含まれています。このランサムウェアの独特な点は、ソフトウェアの作者がトロイの木馬を継続的に改良し、攻撃が続く間にすべての脆弱性を修正することです。

6.CryptoLocker

CryptoLocker は、2013 年 9 月 5 日にインターネット上で初めて公開された大規模なランサムウェアです。電子メールの添付ファイルや Gameover Zeus ボットネットを介して広がりました。これは、Microsoft Windows システムを実行しているデバイスに影響を与え、悪意のある電子メールの添付ファイルを介して継続的に拡散し、RSA 暗号化アルゴリズムを使用してユーザーのローカルおよびネットワークドライブに保存されている特定の種類のファイルを暗号化します。CryptoLocker は、2014 年 5 月後半に Tovar オペレーションによって排除され、Gameover Zeus ボットネットを麻痺させました。報告によると、CryptoLocker は被害者から 300 万ドル以上の身代金を成功裏に要求しました。

7.PC Cyborg

1989 年に PC Cyborg というトロイの木馬が登場し、隠しフォルダーと C ドライブ内のファイル名を暗号化する機能を持っていました。これにより、被害者は PC Cyborg 社に 189 ドルを支払わざるを得なくなりました。

Forrester が最初に提案した広く受け入れられているアプローチはデータ中心のものであり、すべてのデータとリソースを常に検証するために使用されます。これは、フラットネットワークの問題を解決するために最初に設計され、その後、脅威の行動者が気付かれずに内部ネットワークを横断し、機密情報を盗むのを助けるために使用されました。このアプローチは、セキュリティ専門家がネットワークとアプリケーションの制御を取り戻すことも可能にします。次に、ゼロトラストアプローチを検討します:

1)敏感なデータを特定し、分類する:データを保護するためには、まずデータを確認し理解する必要があります。自分の敏感なデータを理解していない場合、感染後の状況は悪化する可能性があります。敏感な情報が特定されたら、それを分類する必要があります。

2)データフローダイアグラムを作成する:ネットワーク内のアプリケーションフローを高レベルで理解することが重要です。さらに、ネットワークチーム、アプリケーションチーム、セキュリティエンジニアなどの利害関係者と協力し、既存のモデルを使用して最終的なデータフローを準備することが良いことです。

3)ネットワークアーキテクチャを構築する:ゼロトラストの設計は、複数のネットワーク間の通信フローを示し、ユーザーが外部データにアクセスする方法を説明します。この場合、機関は物理的および仮想的なスイッチ構成を利用してマイクロ境界を確認できます。

4)ポリシーベースを構築する:このアプローチの重要なポイントは、セキュリティ専門家が知識の原則に基づいてユーザーアクセスを制限し、効果的なアクセス制御を実施する必要があることです。IP ヘッダーフィールドを洞察するだけでなく、セキュリティチームはユーザーの身元とアプリケーションの動作を理解する必要があります。

5)継続的な監視:ネットワーク全体とアプリケーションのログをリアルタイムで収集し、確認する必要があります。これには、外部ネットワークのトラフィックだけでなく、専用ネットワークからのトラフィックも含まれます。内部トラフィックの処理方法は、外部トラフィックの処理方法と同じであるべきです。

ゼロトラストアプローチについては、https://www.forrester.com/search?N=21061+10001sort=3everything=truesource=browse を訪問してください。

・TCP/IP とブロックチェーンについては、https://hbr.org/2017/01/the-truth-about-blockchain を訪問してください。

2009 年、中本聡は「ビットコイン:対等な電子現金システム」という白書を発表し、金融市場に存在する課題に対処することを目的としました。この白書は、金融機関の仲介なしに一方から他方へのオンライン支払いを許可するプラットフォームの開発に取り組んでいます。ビットコインが解決する主要な問題の 1 つは二重支払いに関するもので、ビットコインの二重消費(デジタル通貨の特有の問題は、ユーザーが特定の価値を使った後にそれを再利用できないようにする方法です)を回避できます。ビットコインはデジタル通貨であるため、デジタルデータを複製して公開することは難しくないため、再利用の問題(すなわち二重支払いの問題)が発生します。この状況を防ぐための解決策が登場しました。それがブロックチェーンです。しかし、中本聡の元の文書では、ブロックチェーンという言葉は言及されておらず、ビットコインのソースコードのコメントにブロックのチェーンの形式で現れています。

ブロックチェーンは分散型データベースであり、すべての取引記録の安全性を保証し、追加の方法で記録されます。そのデータベースの分散性により、ブロックチェーンは多くの業界で急速に普及しています。失敗を許容できない組織にとって、ブロックチェーンデータベースは、機密情報が実際にネット犯罪者によって破壊されることが不可能です。さらに、ブロックチェーンは信頼できる管理者や開発者だけでなく、信頼できる人や知られているまたは知られていない人々によっても適切に管理されることができます。以下はブロックチェーンネットワークのグラフィカルな表現です:

ネットワークに接続されている各コンピュータは、ブロックチェーンノードソフトウェアを持ち、ブロックチェーンエコシステムに対してアプリケーションを実行します。使用状況に応じて、これらのコンピュータの参加は制限される場合があります。たとえば、ブロックチェーンに基づく銀行チェーンエコシステムは、銀行ノードのみが銀行チェーンのクライアントアプリケーションを実行することを許可します。

インターネットは 30 年以上の歴史を持つ技術であり、TCP/IP とオープンシステム相互接続(OSI)モデルスタックを介して情報を共有することを目的としています。インターネットの誕生以来、電子メールやウェブ、さらには電子商取引に至るまで、すべての新技術は既存の技術を覆してきました。インターネットは最も強力な技術の 1 つであり、その機能は思想を広め、仮想世界を創造するのに十分強力です。

TCP/IP は、標準化された類似ネットワーク間の通信を構築するための最初のインターネットプロトコルスイートです。一方、OSI モデルは国際標準化機構(ISO)によって開発され、ベンダー、モデル、または技術を考慮せずに標準化されたシステム間の通信のフレームワークを提供します。クライアント / サーバーネットワークは本質的により信頼性が高く安定しているため、さまざまな組織はクライアント / サーバー通信に基づく 2 つのモデルを好みます。重要なのは、クライアントが使用するデータとそのデータの使用方法をより良く制御する必要があります。クライアント / サーバーモデルでは、クライアントは自分のローカルリソース(ワークステーションやデバイスのハードウェアおよびソフトウェアコンポーネントなど)を管理し、サーバーは共有リソース(ハードウェア、ネットワーク通信チャネル、データベースなど)を管理する機能システムです。ピアツーピアネットワークには、コマンドを監視、制御、実行する中央システムがありません。過去には内部のニーズから小規模企業がこの方法を好んで使用していましたが、大規模機関は常にピアツーピアネットワークを避けてきました。なぜなら、それを使用するとビジネス操作と管理に対する制御を失うリスクがあるからです。

しかし、世界全体を接続する過程で、いくつかの瞬間が革新を再定義し、各企業のニーズに対するメディアを提供しました。ブロックチェーンは、独立したノードで構成されたピアツーピアネットワークであり、第三者の参加なしにあらゆる種類の価値を共有できます。コンピュータの進化は最初に大型コンピュータから始まり、10 年後にインターネットが登場しました。クラウドコンピューティングは 1997 年に Ramnath Chellappa 教授によって定義され、Amazon は 2006 年に Elastic Compute Cloud(EC2)サービスを開始しました。私たちは現在、新しい時代にあり、データの安全な保存方法が絶えず変化しています。

インターネット上で行われるすべてのことは、TCP/IP モデルの IP パケットを介して行われます。IP パケットはインターネットを介して送信できる最小のデータ単位であり、IP ヘッダーとペイロードの 2 つの部分を持っています。

これらの情報を送信するには、ソース IP アドレスと宛先 IP アドレスが必要です。ブロックはこのプロセスの必須要素であり、リンクされてブロックチェーンを形成します。ブロックはブロックヘッダーとブロックボディで構成されています。任意の種類の値を送信したり、任意の種類の取引を完了したりするために、ソース識別子として自分のデジタル署名と公開鍵を追加します。これは、ピアツーピアネットワーク内の宛先の身元に似ています。

Web アプリケーションは、ユーザーにサービスを提供するためにクライアント / サーバーモデルで広く使用されるネットワークベースのアプリケーションです。しかし、分散型アプリケーション(dApp)は、ピアコンピュータネットワーク上で実行されるアプリケーションです。

従来の Web アプリケーションは、CSS、HTML、JavaScript を使用してフロントエンドページをレンダリングし、API 呼び出しを介してデータをデータベースから取得します。分散型アプリケーションのフロントエンドは、ページを表示するために完全に同じ技術を使用しますが、API の呼び出しの代わりにブロックチェーンに接続されたスマートコントラクトを使用します。

ブロックチェーン台帳の動作方法。システムの一般的な形式を理解するためには、チェーンの複数の状態を理解し、さらに探求することが重要です。

1)取引の準備:この段階で、A 側は取引を作成し、受取人の公開アドレス、ソースデジタル署名、取引情報を含めます。現在、この取引はブロックチェーン内のすべてのノードが取得できます。

2)取引の検証:ブロックチェーンのノードは、信頼しないモデルで動作し、各ノード(ブロックチェーンクライアントソフトウェアを実行するマシン)は取引情報を受け取り、A 側の公開鍵を使用してデジタル署名を検証します。検証が成功すると、この認証された取引情報は台帳キューに配置され、すべてのノードがその取引を成功裏に検証するまで待機します。

3)ブロック生成:キュー内の取引がまとめられ、ネットワーク内の 1 つのノードがブロックを作成します。ビットコインブロックチェーンでは、ビットコインノード(マイナーとも呼ばれる)がいくつかの複雑な数学的問題を解決してブロックを作成すると、ビットコインの報酬が得られます。

4)ブロックの検証:ブロックが成功裏に生成された後、ネットワーク内のノードは反復検証プロセスを処理し、その大多数が合意メカニズムに達する必要があります。一般的に、4 つの一般的な合意アルゴリズムがあります:プルーフ・オブ・ワーク(PoW)、プルーフ・オブ・ステーク(PoS)、委任プルーフ・オブ・ステーク(DPoS)、実用的ビザンチン耐障害性(PBFT)など。ビットコインは PoW を使用して合意を達成し、イーサリアムは PoS を使用して合意を達成します。このメカニズムは金融分野で大きな役割を果たし、全体の取引操作の安全性を確保します。

5)ブロックのリンク:合意が成功裏に達成された後、ブロックを検証し、ブロックチェーンに追加します。以下の図でブロックチェーンのいくつかの状態を理解できます:

image

ビットコインの世界状態データは chainstate ディレクトリに保存され、LevelDB によって管理され、現在未使用のすべての取引出力と取引のメタデータ情報を主に保存し、新しく受信した取引とブロックを検証するために使用されます。これらのデータを保存する際には適切な圧縮が行われます。LevelDB は永続的なキー値データベースであり、ディスクの順次書き込み性能がランダム書き込みよりもはるかに大きい特性を利用し、LSM-Tree 構造を採用して、ディスクのランダム書き込みを順次書き込みに変換し、書き込み速度を大幅に向上させます。LSM はツリー構造を大きなツリーと小さなツリーの 2 つに分解し、小さなツリーは常にメモリに常駐し、大きなツリーはディスクに永続化されます。書き込み操作は最初にメモリ内のツリーを操作し、メモリ内のツリーが大きくなると、ディスク内のツリーとのマージ操作がトリガーされます。このマージ操作自体は順次書き込みのみです。Bitcoin の LevelDB はさまざまなデータを保存しており、その中で最も重要なのは Coin データであり、次の形式で保存されます。Key は CoinEntry 型で、3 つの部分で構成されています:

1 バイトの大文字の「C」(DB_COIN)、32 バイトの取引 ID 値、および 4 バイトのシーケンス番号。Value は Coin オブジェクトのシリアル化された値です。

image

イーサリアムの世界状態処理#

世界状態は、ネットワーク内のグローバルな未使用取引出力(UTXO)によって記述されますが、イーサリアムはアカウントの概念を使用して状態情報を記述します。アカウントの状態には、nonce、balance、storageRoot、codeHash の 4 つの属性が含まれます。イーサリアムは stateObject を使用してアカウントの状態を管理し、アカウントは Address で一意に識別され、その情報は関連する取引の実行中に変更されます。すべてのアカウントオブジェクトは、Merkle-PatricaTrie(MPT)構造に逐次挿入され、stateTrie を形成します。ブロックヘッダーデータ構造内の Root フィールドは、stateTrie のルート値、すなわち世界状態のハッシュ値を保存します。

image

ブロックチェーン技術は、すでに業界全体で広く適用されている一連の既存技術の上に構築されています。ブロックチェーンの各構成要素を理解し、それらがシステム全体に本質的に分散型、不変、信頼できる特性を持たせることを可能にします。

合意メカニズムは、ブロックチェーンシステムの構成要素であり、分散型環境で合意プロトコルを達成する役割を担っています。ブロックチェーン環境のオープン性と信頼しない性質は、ブロックチェーンのコア特性ですが、追加の注意と厳格なプロセスも重要です。誰でも参加し情報を提出できるため、各参加者の目的を評価することが重要であり、すべての人が詐欺の試みを回避するためのポリシーを採用することが重要です。これにより、合意メカニズムが生まれ、信号処理に似ており、実際の通信が開始される前にすべての問題が考慮されていることを保証します。以下は、ブロックチェーンで合意に達するための 4 つの重要な方法です:

・PoW:ビットコインの創始者中本聡は、ブロックチェーンの合意メカニズムを実現する方法を発明しました。このタイプの合意では、最大の検証可能な計算作業量を完了したノードを信じることによって詐欺を防ぐことができます。ブロック作成者は、デジタル通貨の世界でマイナーとも呼ばれ、強力な計算能力を持つことがより良いハッシュ率を得ることを知っており、マイニングに成功し、ビットコインの報酬を得る機会が増えます。各新しい取引はネットワーク内のすべてのノードにブロードキャストされ、各ノードはすべての取引を継続的に監視します。ビットコインシステムで報酬を得るノードはマイナーと呼ばれ、彼らはただ聞いているだけでなく、取引を収集します。マイナーは PoW アルゴリズムを使用していくつかの複雑な数学的問題を解決する必要があります。最初に各問題を解決したマイナーはビットコインの報酬を得ます。最終的に、検証されたブロックは各マイナーのブロックチェーンに追加されます。

この数学的問題は、ハッシュを一連の取引と現在の値(32 ビットのランダム数)に適用して、所望のハッシュ出力結果を実現するプロセスです。出力されたハッシュ値が目標ハッシュ値よりも小さい場合、マイナーはブロックを獲得し、合意メカニズムを実現します。マイナーがブロックを獲得すると、各ブロックにはいくつかのビットコイン(BTC)が付随し、その後マイナーは次のように受け取ります:

・2009 年 1 月 —2012 年 11 月:各ブロック 50BTC。

・2012 年 11 月 —2016 年 7 月:各ブロック 25BTC。

2016 年 7 月 —2020 年 2 月:各ブロック 12.5BTC。

・2020 年 2 月 20 日 —2023 年 9 月:各ブロック 6.25BTC。

・PoS:これは、ノード間でブロックチェーンの合意を達成し、取引を検証する別の方法です。PoW とは異なり、PoS ブロック生成者は現在のスタックに基づいて選択されません。このメカニズムでは、ブロックに報酬はありません。PoS のマイナーは、ステーキングと呼ばれます。イーサリアムは PoS を使用しており、その選択の目的は、大量の電力消費に伴う環境への圧力を回避することです。2017 年のデジタルエコノミストの報告によると、ビットコインネットワーク全体が 1 年間に消費する電力は、アイルランド共和国が 1 年間に消費する電力よりも多いと推定されています。ビットコインは PoW メカニズムを使用し、すべてがリソースの強力なマイナーに依存しているため、より多くの電力消費を引き起こします。PoS メカニズムを使用する場合、ノードは選択されるために検証プールに参加する必要があります。Casper はイーサリアムの PoS 合意プロトコルであり、既存の PoW メカニズムを拡張したハイブリッド版の合意メカニズムであり、イーサリアムが 100 ブロックごとに最後の 1 つを実行するために使用されます。PoS は固定コイン供給量のプラットフォームに非常に適しており、人々は投資ではなくトークン配布に使用できます。

・DPoS:これは別の合意プロトコルであり、より迅速で効率的なモデルと見なされています。DPoS は、民主的な方法で合意の問題を解決します。ネットワーク内でブロック生成者を選択し、取引を確認するのに約 1 秒かかります。これにより、合意の問題を解決するだけでなく、不必要な規制の干渉を排除します。

・PBFT:ビザンチン障害は、障害検出システムが同時に障害と正常動作の状態にあることを指し、異なる検出器に異なるパターンを表示します。一部のノードメンバーが他のノードに取引に関する不一致情報を送信すると、ネットワーク全体にエラーが発生する可能性があります。PBFT は、ネットワークをビザンチン障害から保護するための解決策です。

イーサリアム(Ethereum)は最も成熟したブロックチェーンの 1 つであり、プラットフォームにカスタマイズされたブロックチェーンシステムを提供する方法を提供します。ビットコインの目的は、独自の合意メカニズムを使用して現在の支払いシステムとオンラインバンキングを崩壊させることですが、イーサリアムは現在、既存のコンピュータシステムを分散化する過程にあります。なぜなら、イーサリアムはクライアント / サーバーモデルでうまく機能するからです。

イーサリアムは、分散型環境でアプリケーションを実行できる分散型ネットワークです。このアイデアは、ユーザーの個人データやビジネスデータを保存および管理するために単一のエンティティに完全に依存することを回避することだけです。現在のデータベースシステムでは、一度データがオンラインで保存されると、クライアントはデータがどのように保存されているか、どのようなセキュリティ対策が講じられているか、誰がデータを読み取ることができるかなどの情報を知ることができません。イーサリアムは、分散型アプリケーションを構築するためのプラットフォームを提供し、これらのアプリケーションは各スタックの保持者または特定の当事者に直接接続され、より良い透明性とゼロ依存性を実現します。ビットコインとイーサリアムの間には基本的な類似点がありますが、用途と機能には顕著な違いがあります。イーサリアムの使用により、任意の集中型サービスをその独自のプログラミング能力を通じて分散型サービスに変換できます。

イーサリアムは主に 3 層で構成されています — イーサリアム仮想マシン(EVM)、暗号通貨、ガス(イーサと手数料またはエネルギー)。

スマートコントラクトは、特定のタスクを実行するために作成者によって書かれたプログラムです。契約は任意のブロックチェーンバージョンでコーディングできますが、イーサリアムはスケーラブルな処理能力を提供するため、最も人気があります。

イーサリアムは、開発者が自分のスマートコントラクトをコーディングできるようにします。スマートコントラクトは次のように使用できます:

・特定のイベントが発生したときに、自動的に請求をトリガーして請求決済プロセスを簡素化します。

・ユーザー間のプロトコルを管理します。

・健康記録や KYC 情報など、アプリケーションに関する情報を保存します。

イーサリアムでは、各契約にはそれを一意に識別するためのアドレスがあります。このアドレスは、作成者のアドレスのハッシュと実行された取引の数によって計算されます。

公共のブロックチェーン環境にスマートコントラクトをデプロイすると、スマートコントラクトのアドレスが得られます。今、私たちはコードを書いて、スマートコントラクト内の特定のインスタンスと対話できます。契約にはいくつかの標準があり、ERC20 標準などがあり、その実装に必要な方法も重要です。

最初のスマートコントラクトを作成してみましょう。Solidity 言語を使用してスマートコントラクトを記述します。プログラミング言語 Solidity は JavaScript に似ています。このプロセスを開始するには、まず Ganache パッケージを使用して環境を設定する必要があります。このパッケージはプライベートブロックチェーンを作成するために使用されます。MyEtherWallet にオンラインでアクセスする必要があります。アドレスはhttps://github.com/kvhnuke/etherwallet/releases で見つけることができます。

ソフトウェアパッケージをインストールしたら、https://remix.ethereum.org/ のリンクにアクセスしてイーサリアム IDE に入ります。以下のスクリーンショットはイーサリアム IDE を示しています:

Remix は、スマートコントラクトコードを記述するための Solidity のオンラインコンパイラです。このコードは、公式にユーザーがテストするために提供されています。以下のスクリーンショットで見るように、変数と 2 つの関数があります。変数 c は整数型であり、プライベートであるため、契約の外部からは誰もアクセスできません。最初の関数は plusbyone () で、c の値をインクリメントすることで変更し、2 番目の関数は getC () で、c にアクセスしてその値を関数の呼び出し元に返します。

カウンターコードが Remix に貼り付けられると、以下のスクリーンショットのようになります:

今、Ganache を開くと、次のようなものが表示されます。画面の上部には RPC SERVER と表示されています:

次に、ブラウザで MyEtherWallet にアクセスして、これを行った結果を見てみましょう。右上隅に、MyEtherWallet がイーサリアムに接続されていることを示すドロップダウンメニューが表示されます。デフォルトでは、イーサリアムのメインネットに接続されています。このオプションを変更するには、ドロップダウンメニューをクリックする必要があります。Add Custom Network/Node オプションをクリックします。以下のスクリーンショットのように:

今、Ganache が準備した RPC サーバー情報を入力できます。ノードを次のように命名できます:

MyEtherWallet は Ganache を介して私たちの自己ホストされたブロックチェーンに接続されました。MyEtherWallet を使用してスマートコントラクトをアップロードします。これを実行するには、MyEtherWallet のナビゲーションバーの上部にある Contract タブをクリックし、Deploy Contract オプションを選択します:

見ての通り、MyEtherWallet は契約のバイトコードを提供するように求めています。

それを見つけるために、Remix IDE に戻り、Details ボタンをクリックします:

今、カウンタースマートコントラクトに関する情報が含まれたダイアログボックスが表示されます。バイトコードをコピーするには、BYTECODE セクションの横にあるクリップボードアイコンをクリックします:

今、MyEtherWallet に戻り、バイトコードを Byte Code テキストエリアに貼り付けます:

今、下にスクロールして、契約をアップロードするためにアカウントアドレスをインポートできます。デフォルトでは、Ganache には 5 つのアドレスが表示され、これらを使用してプライベートチェーンと対話できます。Ganache に戻り、鍵アイコンをクリックして、任意のアドレスにアクセスします:

今、アカウントに関連付けられた秘密鍵が表示されます:

この秘密鍵をコピーして MyEtherWallet に貼り付ける必要があります:

今、Unlock ボタンをクリックでき、MyEtherWallet は取引に署名して契約をデプロイするかどうかを尋ねます:

最後に、以下のスクリーンショットのように成功のメッセージが表示されます:

取引が成功した後、Ganache は CURRENT BLOCK 値を増加させ、契約をデプロイするために使用したアカウントの取引数も増加します:

スマートコントラクトは現在ブロックチェーンにアップロードされました。カウンターをインクリメントおよびデクリメントしてそれと対話するには、MyEtherWallet に戻り、Interact with Contract オプションを選択する必要があります:

MyEtherWallet は、今、私たちが新しくデプロイしたスマートコントラクトのアドレスと、私たちの契約のアプリケーションバイナリインターフェース(ABI)を提供するように求めます。取引ログを次のように表示できます:

ご覧のように、Ganache は契約をデプロイするために使用されたアドレスを教えてくれます。取引をクリックして作成された契約アドレスをコピーし、MyEtherWallet に貼り付けます:

以下のスクリーンショットは、MyEtherWallet が私たちの契約と対話する方法を知っていることを示しています。私たちは Remix に戻り、インターフェース ABI の横にあるクリップボードアイコンをクリックしてそれをコピーします:

今、MyEtherWallet に戻り、ABI をそのテキストボックスに貼り付け、Access ボタンをクリックする必要があります。Select a function のドロップダウンメニューをクリックして契約と対話できます:

私たちのコードでは、カウント cs の初期値を 0 に設定します。スマートコントラクトが正常に機能していることを確認するために、getC () 関数を呼び出す必要があります:

契約が返されるのが見えますが、私たちは plusbyone () という他の関数も作成しました。それをテストするために plusbyone () を呼び出します。function のドロップダウンメニューを再度選択し、plusbyone を選択して新しい取引を作成します:

これにより、c の値が増加しました。今、getcount () を再度呼び出して値が変更されたかどうかを確認できます:

EVM は、スマートコントラクトを構築および管理するための分散型実行環境です。イーサリアムでは、各プログラムは数千台のコンピュータで構成されたネットワークによって処理されます。

スマートコントラクトはバイトコードにコンパイルされ、EVM という部品がそのバイトコードを読み取り、実行します。すべてのノードはそれぞれの EVM を使用してこの契約を実行します。基本的な定義によれば、ネットワーク内の各ノードは取引のコピーとスマートコントラクトのネットワーク履歴を持っています。EVM は、開発者が事前に書いたルールに従って契約を実行する責任を負います。EVM はスタックベースのバイトコードを計算し、開発者は高水準言語(Solidity や Serpent など)を使用してスマートコントラクトを記述します。

ガス#

イーサリアムネットワーク内の各ノードがスマートコントラクトを実行する際に、大量のエネルギー(ガス)が消費されます。より多くのエネルギーを消費することは、より多くのお金を費やすことを意味し、これはスマートコントラクトプログラミングのレベルにも依存します。言い換えれば、EVM 内の各低レベル操作コードは、期待される出力を実行するために一定量のガスを消費する必要があります。

ガスは、計算を実行するコストを示し、開発者がスマートコントラクトコードのエネルギー消費を理解するのに役立ちます。ビットコイン市場と同様に、ガスの価値は市場によって決まります。より高いガス価格が支払われた場合、ノードは利益を得るためにこれらの取引を優先します。

dApp#

dApp は、暗号トークンや内部合意メカニズムなどのインセンティブメカニズムを採用しています。分散型アプリケーションは、そのすべての状態を保存する必要はありません。しかし、イーサリアムに基づく分散型アプリケーションは、その信頼できる状態を実際に保存しており、最終ユーザーに経済的な解決策を提供します。

イーサリアムブロックチェーンのクライアントインターフェースに加えて、dApp クライアントはフロントエンドをプログラミングする必要があります。クライアントは通常 JavaScript で記述されており、Web ブラウザで実行できるため、私たちのほとんどはこのブラウザを持っています。

dApp ブラウザは、dApp クライアント(通常は JavaScript で記述)を使用してイーサリアムノードと対話し、その後スマートコントラクトと通信します。dApp はイーサリアムノードとの接続を保証し、接続を変更する簡単なプロセスを提供します。また、ユーザーがこれらの dApp と簡単に対話できるように、アカウントインターフェースを提供します。

この基盤の上に、私たちはイーサリアムのいくつかのコアコンポーネントを紹介し、スマートコントラクトが現実世界でどのように機能するかを観察しました。

公共チェーン#

公共チェーンを使用すると、ブロックをリンクするプロセスは常にさまざまなノードを使用し、これらのノードは独立していて信頼できない場合や未知の場合があり、合意プロセスに参加してブロックを検証できます。公共チェーンでは、誰でもシステムにブロックチェーンノードクライアントをダウンロードして取引を行うことができ、ブロックリソースマネージャーを介して取引を読み取ることもできます。ビットコインやイーサリアムは公共チェーンの主要な例です。

ビットコインは、安全で信頼性の高い資金移転を行うための最初の分散型プラットフォームです。しかし、イーサリアムが発明された目的は異なります。すなわち、誰でも自分の分散型アプリケーションを開発できるプラットフォームを提供することです。これは通貨の移転に限定されず、あらゆる価値を移転することができます。イーサリアムは、特定の条件が満たされたときに実行される自動化されたプログラムであるスマートコントラクトを使用して、自己操作プログラムのセットを実現します。

プライベートチェーン#

プライベートチェーンを設定する組織は、それを許可されたネットワークとして構成します。これは、より良い取引プライバシーを提供するために設立され、銀行やその他の金融機関に適しています。公共チェーンとは異なり、ブロックチェーンノードクライアントをインターネットに接続するだけでは取引を開始することはできません。一方、アライアンスチェーンは、特定の事前に検証された人々のみがネットワークを介してアクセスし、あらゆる種類の価値を転送できるようにします。

このシステムでは、合意メカニズムは事前に選定されたノードグループによって制御および管理されます。したがって、ブロックチェーンが公共ネットワークで動作している場合でも、特定のノードグループまたは単一のノードによって制御および維持される制限があります。プライベートチェーンは、その制限と制御レベルに応じてアライアンスチェーンとも呼ばれます。

最も人気のある実装の 1 つは Hyperledger Fabric であり、これは Linux 財団がホストする許可されたブロックチェーンフレームワークです。

ブロックチェーンのアーキテクチャと合意モデルについては、https://www.researchgate.net/publication/318131748_An_Overview_of_Blockchain_Technology_Architecture_Consensus_and_Future_Trends を参照してください。

ブロックチェーンはビットコインの基盤であり、最近広く注目されています。ブロックチェーンは、取引を分散型の方法で行うことを許可する変更不可能な台帳のようなものです。ブロックチェーンに基づくアプリケーションは、金融サービス、信用システム、IoT などの多くの分野で急増していますが、ブロックチェーン技術にはスケーラビリティやセキュリティなどの多くの課題が残されています。本稿では、ブロックチェーン技術の包括的な概要を提供します。まず、ブロックチェーンアーキテクチャの概要を示し、いくつかの典型的な合意アルゴリズムを比較します。また、技術的な課題と最新の進展についても簡単に説明します。さらに、ブロックチェーンの将来の発展の可能性についても考察します。

Hyperledger アプリケーションをデモするための実験環境を構築する必要があります。サプライチェーン管理におけるいくつかの実際の問題を解決するために、リンクhttps://github.com/hyperledger/education.git からソースコードを取得する必要があります。

Hyperledger は、分散台帳技術を通じて業界のコアニーズを満たすことを目的としたオープンソースプロジェクトであり、Linux 財団と情報技術、銀行、物流、輸送、金融、製造、IoT などの多くの業界の巨人によって共同で作成された共同プロジェクトです。

今日、暗号通貨は依然として特定の政府や企業機関との信頼を築くことに取り組んでおり、ブロックチェーンはビジネスの安全な運営と管理のための重要な技術です。ビットコインは本質的に硬直しており静的な性質を持っているため、商業アプリケーションには適していません。イーサリアムは、そのスマートコントラクトを通じてビジネスアプリケーションのスケーラビリティを向上させる能力を持っていますが、その使用が制限されていないため、金融機関や他の重要なビジネス運営は、イーサリアムブロックチェーンを使用して商業運営を試みることに対してためらいを示しています。

Hyperledger は、全体のシステムをより良く制御するために許可されたブロックチェーンを採用する必要がある企業のために特別に構築された唯一の分散型台帳技術フレームワークです。Hyperledger は、重要なビジネス問題を解決するためにより多く使用されるため、暗号通貨プラットフォームや関連システムをサポートしていません。

Hyperledger プロジェクトは 2015 年 12 月に設立され、現在ではアクセンチュア、エアバス、アメリカンエキスプレス、シスコ、富士通、日立、IBM、インテル、SAP、NEC、BBVA、Bitmark、ボッシュ、CA Technologies、Capgemini、アーンスト・アンド・ヤング、Factom、H3C、NSE、オラクル、プライスウォーターハウスクーパース、Redhat、サムスン、Ripple、Thales、Wipro、Cloud Security Alliance などの業界リーダーから称賛され、採用されています。

Hyperledger プロジェクトは、ブロックチェーン愛好者、ブロックチェーンコミュニティ、企業、非営利団体間の協力を計画しており、分散型台帳アプリケーションを構築するための包括的で統一された標準を提供します。WordPress がウェブサイトの応答方法と起動時間を根本的に変えたように、Hyperledger は分散型台帳アプリケーションの開発コストと全体の時間を削減するために努力しています。

Hyperledger プロジェクトは、業界を超えたフレームワークの共同開発の先駆者として広く評価されています。金融業界は、発展のトレンドに遅れないように、Hyperledger プラットフォームとの協力に最も積極的です。Hyperledger のプロジェクト目標を振り返り、その発展の道筋をさらに理解しましょう:

・コミュニティ主導のインフラストラクチャ:Hyperledger プロジェクトは、いくつかの民間および政府機関の支援を受けており、効率的でオープンなコミュニティ主導の環境を提供します。

企業向けフレームワーク:暗号通貨ブロックチェーンとは異なり、Hyperledger の開発は、企業が分散型台帳ネットワークを介して安全で信頼性のある取引やトランザクション処理を実行することをサポートすることを目的としています。

・技術コミュニティの構築:このプロジェクトは、ブロックチェーンスマートコントラクトやその他の関連コードを革新し開発するために、より規模と効果のある技術コミュニティを構築することを目指しています。

・ブロックチェーン意識の普及:これは、企業や他の機関にブロックチェーン技術の意識とそのビジネスアプリケーションの考え方を広める良い方法です。

Hyperledger は、企業が分散型台帳技術に基づいて企業向けソリューションを構築できるようにするオープンソースフレームワークです。このフレームワークには以下のコンポーネントが含まれます:

・共有台帳:内容が追加のみ可能な台帳で、時間順にデータブロックを保存します。

・合意アルゴリズム:分散型台帳の内容の変更に合意を達成するためのプロトコル方法です。

・プライバシー:Hyperledger を構築する主な目的は、重要な業務環境で安全で信頼性のある取引を実現する許可ネットワークを実現することです。

・スマートコントラクト:これは、ユーザーが取引リクエストを計画し処理するための小さなプログラムプロセスです。

Hyperledger アーキテクチャを理解しましょう:

・合意層:事前に定義されたルールに基づいて各注文のプロトコルを生成し、取引を検証する責任を負います。

・スマートコントラクト層:取引リクエストとアプリケーションビジネスロジックを担当します。

・通信層:ノード間のピアツーピア通信を支援するプラットフォームです。

・データストレージ抽象:他のモジュールがさまざまなデータソースを使用できるようにします。

・暗号化抽象:他のモジュールに影響を与えずに異なる暗号化アルゴリズムを使用できるようにします。

・アイデンティティサービス:ブロックチェーン設定中に追加のアイデンティティ認証と承認を使用できるようにします。

・ルールサービス:合意ルール、エンドースルール、グループ管理ルールなどの複数のルールを管理する責任を負います。

API:クライアントとアプリケーションがブロックチェーンモジュールと通信できるようにします。

・相互運用性:異なるブロックチェーンインスタンス間の相互運用性を提供します。

Hyperledger フレームワークの構造は次のようになります:

・Iroha:Hyperledger Iroha は、Soramitsu、Hitachi、NTT DATA、Colu によって貢献されたブロックチェーンフレームワークです。これは、Android および iOS パッケージのモバイルアプリケーション開発者向けに設計されており、シンプルな設計で、C++ プログラミングパッケージと YAC コンセンサスアルゴリズムを含んでいます。

・Sawtooth:インテルによって提供され、ネットワークの規模に応じてさまざまな合意アルゴリズムを選択できます。デフォルトでは、Hyperledger Sawtooth は消失時間量証明(PoET)を使用してノード間の一貫性を実現します。これは多機能性を実現することを目的としており、許可された実装と非許可の実装をサポートします。

・Indy:Hyperledger Indy は、分散型アイデンティティのビジネスソリューションを実現するための分散型台帳であり、複数の分散型台帳技術(DLT)をサポートする相互運用性を提供します。これは、ノード間および全取引のプライバシーを実現することを目的としています。

・Burrow:Hyperledger Burrow は、権限ベースのスマートコントラクトシステムであり、モジュール化されたブロックチェーンクライアントに対して、イーサリアム仮想マシン(EVM)を使用して構築された分権管理のスマートコントラクトインタープリターを提供します。

ネットワークの複数のノード間で通信を確立し維持することは非常に重要です:

・ノード(node):Hyperledger ネットワークには次の 3 つの役割があります:

・クライアント(client):クライアントはネットワーク上で取引リクエストを提出します。ブロックチェーンに参加するには、ピアノードに接続する必要があります。クライアントは、必要なピアノードをネットワークに接続する権限を持っています。

・ピアノード(peer):ピアノードは台帳の更新ブロードキャストを監視し、コピーを保持します。その性質に応じて、ピアノードはさらに 2 つのタイプに分けることができます:

・エンドースピア(endorsing peer):クライアントからの取引提案を検査し、エンドースする責任を負います。

・コミッティングピア(committing peer):提出者がネットワーク内で取引を提出する前に、取引を確認します。

・オーダリングサービス(ordering service):オーダリングサービスは、エンドースされた取引を受け取り、それらを順序付けてブロックに格納し、最終的にコミッティングピアに渡します。オーダリングサービスは、クライアントノードとピアノードに共有され、安全な通信チャネルを提供します。これは取引をブロードキャストするメディアとして機能し、ユーザーがそれをピアノードに渡すのを助けます。

・台帳(ledger):ビットコインやイーサリアムと同様に、Hyperledger 台帳はシステム全体のすべての有効および無効な取引の検証リストを提供します。これはオーダリングサービスによって作成され、ネットワーク内のすべてのピアノードと一致します。

・チャネル(channel):Hyperledger Fabric 内のチャネルは、ノードが機密取引を行うための制限された通信メディアです。チャネルはメンバー、共有台帳、チェーンコードアプリケーション、およびオーダリングサービスノードに特有です。

チャネルの各ピアノードは、メンバーサービスプロバイダー(MSP)によって認証される必要があります。この認証サービスプロバイダーは、各ピアノードをその各自のチャネルピアノードおよび関連サービスに検証します。

・世界状態(the world state):これは、ネットワーク内のすべての資産に関する現在のデータ状態を反映しています。データは次の形式で安全に保存されます:

・LevelDB:Hyperledger Fabric のデフォルトデータベースで、キー値ペアのみを保存します。

・CouchDB:Web およびローカルアプリケーションに最適で、基本的に JSON です。これは、バイナリをサポートしてすべてのデータストレージニーズを満たします。

・チェーンコード(chaincode):チェーンコードは、ネットワークメンバーによって合意され、ビジネスロジックを実行するために作成されたものです。これは、GO や Node.js で書かれたプログラムであることができます:

・LevelDB:デフォルトのプログラミング言語で、安全な Docker コンテナ内で実行され、台帳の状態を管理します。

・CouchDB:JSON オブジェクトを保存するための別のデータベースプログラミング言語です。これは、キー範囲クエリ、複雑なクエリ、および完全なデータクエリもサポートします。

・合意(consensus):合意とは、台帳に追加される取引のセットに対する合意を達成するプロセスです。Hyperledger Fabric では、合意は次の 3 つのステップで実現されます:

・取引のエンドース。

・オーダリング。

・検証と確認。

今、これらの合意コンポーネントがどのように Hyperledger およびその取引処理方法とともに機能するかを理解しましょう。

Hyperledger の作業と取引処理の流れは次のように説明できます:

1)取引の提出:Hyperledger Fabric では、全プロセスはクライアントアプリケーションが取引を提出することから始まります:

各クライアントアプリケーションは、エンドースピアに取引を提出してシミュレーション処理とエンドースプロセスを行います。

2)エンドース者が RW セットをクライアントに送信:各エンドースピアは提案された取引をシミュレートし、RW データセットと呼ばれる読み取りおよび書き込みデータセットを保存します。これらのデータセットは、署名されたエンドースピアによって署名され、クライアントアプリケーションに返されます:

取引のエンドース:これは、シミュレーション取引から生成された署名応答です。スマートコントラクトのように、取引のエンドースを定義するためにさまざまな方法を持つことができます。取引のエンドースポリシーは、定義されたチェーンコードに似ています。

3)クライアントアプリケーションサービス:クライアントアプリケーションが RW セットと承認された取引を受け取ると、それらの取引をオーダリングサービスに提出する必要があります。他のクライアントアプリケーションが取引のエンドースと RW セットを確認しているかどうかに関係なく、この方法は機能し続けます:

4)オーダー者がブロック内の取引を確認するピアノードに送信:オーダリングサービスは RW セットとすでにエンドースされた取引を受け取り、それらをブロックに並べてコミッティングピアノードに転送します:

オーダリングサービスは、すべての取引を整理し、それらを台帳に提出します。デフォルトでは、Hyperledger Fabric のオーダリングサービスは Kafka であり、Apache Software Foundation(ASF)によって開発されたオープンソースのストリームトランザクション処理プラットフォームです。

今、オーダリングサービスの動作原理をより詳細に理解しましょう。これをいくつかのコア部分に分けることが重要です:

・オーダリングサービスの第 1 部分:指定された時間枠内で一定数の取引が準備されると、ブロックが作成され、これらの取引が時間順に提出されます。ビットコインブロックチェーンとは異なり、Hyperledger Fabric は、企業が精密で柔軟かつ拡張可能な分散型ネットワークシステムを設計するのに役立つ最適なオーダリングメカニズムを提供します。

・オーダリングサービスの第 2 部分:Hyperledger Fabric は、3 つのオーダリングサービスメカニズム —SOLO、Kafka、簡略化されたビザンチン耐障害性(SBFT)をサポートしています:

・SOLO:これは、ソフトウェア開発者が研究とテストを行うのに最適で、オーダリングノードが 1 つだけです。

・Kafka:これは、製造に適用できる Hyperledger Fabric の別のオーダリングメカニズムです。これは ASF によって開発され、リアルタイムソースを処理するための統一された、高効率で低遅延のソフトウェアプラットフォームを提供します。Hyperledger Fabric では、Kafka が RW セットとエンドース取引を処理します。

・SBFT:これは、ビットコインブロックチェーンの PoW 合意メカニズムに似ています。この解決策は、ビザンチン障害を克服することを目的としています。ネットワーク内に悪意のあるノードや悪意のあるノードのグループが存在しても、システムは正常に機能します。

5)コミッティングピアノードがブロック内の各取引を検証:コミッティングピアノードは、RW セットが現在の世界状態と一致することを確認するために取引を検証します。コミッティングピアノードが取引を検証すると、その取引は台帳に更新され、世界状態はデフォルトで RW セットからの書き込みデータを使用して更新されます:

最後に、コミッティングピアノードは、取引の成功または失敗をクライアントアプリケーションに通知する必要があります。

6)認証:取引プロセスの各ステップで、エンドースからバージョンチェックまで、認証は継続的なプロセスです。

ビットコイン、イーサリアム、Hyperledger#

ブロックチェーンプラットフォームの特徴を比較し、人気のあるブロックチェーンプラットフォーム間の比較をさらに深く理解できるようにします:

・権限制限:取引処理者が既存の台帳を作成またはブロックする資格を定義します。この文脈では、次の 2 つのタイプがあります:

・許可されたブロックチェーン(permissioned blockchain):このモデルでは、取引処理は事前に選択されたユーザーのみが実行できます。Hyperledger Fabric はこのカテゴリに属します。

・非許可ブロックチェーン(permissionless blockchain):このモデルでは、取引処理者が新しいブロックを作成または追加することを制限しません。イーサリアムとビットコインは、現在最も人気のある非許可ブロックチェーンです。

・制限されたデータアクセス:ブロックチェーンネットワークの読み取り権限を指定します。次の 2 つのタイプがあります:

・公共ブロックチェーン:進行中の取引情報を読み取る際に制限はありません。誰でもブロックチェーンノードクライアントを使用して更新されたブロックチェーン台帳をダウンロードできます。

・プライベートブロックチェーン:このタイプのブロックチェーンでは、ブロックチェーン台帳へのアクセスは事前に選択されたユーザーのみに制限されます。

・合意メカニズム:分散型ネットワーク内で信頼しないネットワークを実現し、すべての取引の合意を確立することは重要です。これにより、有効で合法的な取引のみがブロックチェーンに追加されることが保証されます。一般的な合意アルゴリズムには PoW、PoS、PBFT があります。

・スケーラビリティ:スケーラビリティは 2 つの要因に依存します — ノードとパフォーマンス。ノードのスケーラビリティは、全体のパフォーマンスに影響を与えずにノードをブロックチェーンネットワークに追加できることを指し、スケーラビリティは 1 秒あたりの取引数に依存します。

・匿名性:ブロックチェーン内で公開または隠されたユーザーの身元を指します。

・ガバナンス:ブロックチェーンコミュニティ内での意思決定権の配分。ブロックチェーンプラットフォームは、コア開発チームまたは他の利害関係者によって維持される必要があります。

・ネイティブ通貨:ブロックチェーン内で有効な通貨、たとえばビットコインブロックチェーン内のビットコインです。

スクリプト:分散型アプリケーション(dApp)がサポートするプログラミングレベル:

ブロックチェーンと CIA セキュリティトリプレットモデルの詳細については:

・ブロックチェーンの機密性については、https://ethereum.stackexchange.com/questions/25270/confidentiality-in-blockchain を訪問してください。

・プライベートチェーン内のデータ機密性については、https://gdr-securite.irisa.fr/redocs/download/redocs17-gemalto.pdf を訪問してください。

PKI 簡析#

インターネットは誰でも他の人と接続できるようにし、現実世界とは異なり、地理的または物理的障壁は

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。