技術

ブロックチェーンや暗号資産業界における技術動向をまとめるカテゴリです。ネットワークアップグレード、セキュリティ、スマートコントラクト、レイヤー1、レイヤー2、インフラ開発など、業界を支える重要な技術ニュースを掲載します。

プロジェクト, 技術, 最新記事

ブロックチェーンユースケース:デジタルID

デジタルIDシステムにおけるブロックチェーンの適用 本質的に、ファイルがブロックチェーンシステム上に記録されたとき、その情報の真正性はネットワークを維持している多くのノードによって保障されます。言い換えると、複数のユーザーからのクレームのバッチが全ての記録されたデータの検証をサポートします。 このようなシナリオでは、ネットワークのノードは、デジタルレコードの証明と検証を担当する認定機関または政府機関によってコントロールされます。基本的に、各ノードはデータの信頼性に関する投票を行うことができるため、ファイルは公式ドキュメントのように使用できますが、セキュリティレベルは向上します。 暗号学の役割 ブロックチェーンベースのIDシステムでは直接、もしくは明示での機密情報の共有が不要ということを理解するのが重要です。その代わりに、デジタルデータを、ハッシュ関数、デジタル署名、そしてゼロ知識証明などの、暗号技術を使うことで共有、認証することができます。 ハッシュアルゴリズムの仕様を通じて、あらゆるドキュメントを、文字と数字による長い文字列である、ハッシュに変換することができます。このケースでは、ハッシュは、それを生み出すために使われた全ての情報を表し、デジタルフィンガープリントとして機能します。それに加えて、政府機関や他の信用されている組織は、ドキュメントに公的な有効性を与える、デジタル署名を提供することができます。 例えば、国民は認証された機関にドキュメントを提供することで、固有のハッシュ(デジタルフィンガープリント)を発行してもらうことができます。そうしたら、その機関はそのハッシュの有効性を証明するデジタル署名を発行し、これによってそのハッシュを公的文書として使うことができるようになります。 こういった技術以外にも、ゼロ知識証明 を使うことで、資格やIDに関する情報を公開することなく、共有や認証に使うことができます。つまり、たとえデータが暗号化されていたとしても、その真正性を検証することができます。わかりやすい例としては、ゼロ知識証明を使うと自分の実際の生年月日を明かさなくても、運転やアルコールの購入などをできる年齢に達していることを証明することができます。 自己主権型ID 自己主権型IDのコンセプトは、各個人が仮想通貨ウォレットのような、個人ウォレットに保存されている、自分のデータに対して完全なコントロールを持つことができるモデルのことを指します。このモデルでは、データの保有者は自分の情報をいつ、どのように共有するかを決定できます。例えば、自分のクレジットカード情報を個人ウォレットに保存し、暗号鍵を使って、トランザクションに署名をして、クレジットカードの情報を誰かに共有することができます。これによって、自分がそのクレジットカードの本当の所有者であることを証明できるようになります。 たしかに、ブロックチェーンテクノロジーは、たいてい仮想通貨の保管と取引に使われていますが、個人情報や署名の共有と有効化のために使うこともできます。例えば、政府機関が適格投資家としてのステータスを承認し、その事実の確認をゼロ知識証明プロトコルを介して、証券会社に転送することができるようになります。その結果、証券会社はその投資家の純資産や収入に関する詳細を持っていなかったとしても、適格投資家であることを確認できます。 潜在的なアドバンテージ 暗号学とブロックチェーンをデジタルIDに実装することによって、最低でも2つの大きなメリットがあると考えられています。1つ目は、ユーザーは自分の個人情報がいつ、どのように使われているかに関して、より大きな裁量を持つことができるようになります。これは、機密データを中央集権型のデータベースに保存することによる危険を大幅に減少させます。また、ブロックチェーンネットワークは暗号システムの仕様を通じて、より高いレベルでのプライバシーを提供することができます。前述のとおり、ゼロ知識証明プロトコルによって、ユーザーは個人情報を共有することなく、自分の保有する資格などの有効性を証明することができます。 2つ目のメリットは、ブロックチェーンベースのデジタルIDシステムは既存のものよりも信頼できるという事実です。例えば、デジタル署名を使用すると、ユーザーに関する主張のソースを比較的簡単に確認できます。それ以外に、ブロックチェーンシステムは、個人が情報を改ざんすることを困難にし、あらゆる種類のデータを詐欺から効果的に保護することができます。 潜在的な限界 ブロックチェーンの多くのユースケースと同様に、デジタルIDシステムにブロックチェーンテクノロジーを使用するにはいくつかの課題が伴います。 おそらく最も難しい問題は、デジタルIDシステムが依然として、合成ID詐欺として知られる種類の悪意のある攻撃に対して脆弱であるという事実です。 合成IDには、異なる個人からの有効な情報を組み合わせて、まったく新しいIDを作成することが含まれます。合成IDを作るためのそれぞれの情報は正確なので、詐欺に引っかかって、偽IDを正しいものと認識してしまうシステムもあるかもしれません。こういった種類の攻撃はクレジットカード詐欺を行う犯罪者がよく使っています。 ただし、デジタル署名を使用することで問題を軽減できるため、ドキュメントを組み合わせた合成IDはブロックチェーン上の記録として、受け入れられません。 例えば、政府機関は、各ドキュメントに個別のデジタル署名を提供できますが、同じ個人が登録したすべてのドキュメントに共通のデジタル署名を提供することも可能です。 もう1点注意するべきこととしては、小さなブロックチェーンネットワークではより発生しやすい、51%攻撃の可能性です。51%攻撃によって、ブロックチェーンネットワークが再構成され、ブロックチェーン上の記録が変更される可能性があります。この問題は特に、誰でもブロックの検証と承認プロセスに参加できる、パブリックブロックチェーンにおいて懸念されています。幸いなことに、プライベートブロックチェーンでは、検証済みの信頼できるエンティティのみがそのプロセスに参加できるので、このような攻撃の可能性を減らすことができます。 ただし、これはより集約化された、非民主的なモデルとなります。 まとめ 欠点や限界はありますが、ブロックチェーンテクノロジーにはデジタルデータの検証、保管、共有の方法を変える大きな可能性があります。多くの企業やスタートアップがすでにその可能性を模索していますが、まだ解決しないといけない課題は多いです。まだ、今後数年間はデジタルID管理にフォーカスをしたサービスが次々に誕生するでしょう。そして、ほぼ確実にそういったサービスの核心部分にブロックチェーンが使われることになるでしょう。 免責事項 : 本サイトは当ページのいかなるコンテンツや製品も推奨していない。本サイトは世界中他言語グローバルブロックチェーンサイトから引用したすべての重要情報を提供することを目的にしています。読者は上述の内容に関係したあらゆる行動をとる前に独自の調査を行い、自身の決断については全責任を負わねばならない。また、当記事は投資や金融商品購入のアドバイスではない。内容を参考としてご自由にご利用ください。

イベント, プロジェクト, 初心者ガイド, 技術, 最新記事, 法規・政策

しきい値署名の説明<

著者Omer Shlomovits, ZenGo. しきい値署名スキーム(TSS)は分散化された鍵発行と署名のための暗号理論です。 ブロックチェーンクライアントにUSSを使うことは、特にセキュリティにおいて、多くのメリットを提供できる新しいパラダイムです。 より広い視点だと、TSSは(仮想通貨ウォレットにおける)鍵管理システムの設計に影響を与え、DeFiのユースケースにおけるネイティブサポートの方法を導くことができます。 とは言っても、TSSはまだ新しいテクノロジーなので、リスクと限界は考慮されるべきです。 この記事では、TSSとは何か、それがブロックチェーンの分野にもたらすアドバンテージ、どのようにブロックチェーンクライアントに実装できるか、Shamir secret sharingとマルチシグとの比較、分散化された鍵管理のためにTSSを使う様々な方法、そしてそのリスクと限界について説明します。 暗号学の力 TSSを理解するためには、暗号学の基礎知識について理解しておく必要があります。 1970年代以降、多くのインターネットシステムがTLSとPGPのような、公開鍵暗号として知られる、非対称暗号を採用してきました。 公開鍵暗号では、公開鍵と暗号鍵の2つの鍵を使います。 公開鍵は公開されているので誰でも使うことができますが、秘密鍵はこのシステムのセキュリティを表す、機密情報の1つです。 暗号化とデジタル署名は公開鍵において、最も良く使われる2つの技術です。 暗号化とデジタル署名スキームどちらも3つのアルゴリズムを活用しています。 1つ目が暗号鍵と公開鍵のペア発行、2つ目が暗号化テキスト/署名の発行、そして3つ目が復号化/検証のプロセスです。 デジタル署名に関して、署名アルゴリズムは固有の署名を発行するために、所有者しか知らない、暗号鍵を要求します。 この署名はメッセージに付属され、公開鍵を持っている人ならば誰でもその真正性と正確さを検証できるようになっています。 ブロックチェーン ブロックチェーンが強力なテクノロジーであることには疑いはありません。 ブロックチェーンはイベントを記録し、整理するコンセンサスレイヤーを提供します。 ブロックチェーンのようなインフラは、私たちユーザーに、分散型の経済とさらには政府を、構築する力を与えるポテンシャルがあります。 驚くべきことに、デジタル署名だけで十分に、基本的なブロックチェーン を運営することができます。 ブロックチェーンの文脈においては、暗号鍵はIDを、署名はそのIDが行った発表、もしくは主張を示します。 ブロックチェーンは何らかの行動を記録し、定められたルールに従って、それらを検証することで、その行動に付属している署名が変更不可能で、かつ正しいことを保証します。 ブロックチェーンに使われているより古典的な暗号技術よりも、現代の暗号技術のツールボックスにはいくつかの驚くような、魔法のような技術が含まれています。そのような技術として、ゼロ知識証明、純同型暗号、秘密計算技術などがあります。 過去10年間で見てきたように、ブロックチェーンの研究により、暗号化技術は大幅に進歩しました。  この記事では、そのようなブレイクスルーの1つである効率的で、安全なしきい値署名(TSS)について説明します。 秘密計算技術としきい値署名スキーム(TSS) 秘密計算技術(MPC)はほぼ40年前にAndrew C. Yaoによる重要な研究から始まった暗号額の一分野です。 MPCでは、互いに信頼していない一組の当事者が、入力を非公開にしながら、入力に対する関数を共同で計算しようとします。 例えば、ある会社の従業員n人がそれぞれの実際の給料を明かすことなく、だれが一番高い給与を貰っているかを知りたいとします。 ここでは、秘密となる入力は給与で、出力は最も高い給与を貰っている従業員となります。 MPCを使った計算を行っている間は、誰の給料も他の人に対して公開されることはないです。 MPCの2つの主要な特徴は正確さとプライバシーです。 正確さ:アルゴリズムによって発行された出力は期待通り正しいです。 プライバシー:当事者の保有者する秘密の入力データが他の当事者に流出することがないです。 私たちは分散型の方法でデジタル署名を計算するためにMPCを使います。 ここからはこれまで説明してきた特徴がどのように署名に適用できるかを説明していきます。 署名については3つのステップがあります。 鍵の発行:最初のステップがたいてい最も複雑です。 私たちは公開鍵を発行する必要があり、この公開鍵は将来的に署名を検証するのに使われます。 さらに、それぞれの当事者のための秘密を発行する必要があり、この秘密のことを「シークレットシェア」と呼びます。 正確さとプライバシーという観点において、関数は全当事者に対して同じ公開鍵とそれぞれ固有の「シークレットシェア」を出力します。(1)プライバシーという観点では、誰の「シークレットシェア」も他の当事者に公開されません。(2)正確性という観点では、公開鍵は「シークレットシェア」の関数です。 署名:このステップには署名発行関数が含まれています。 それぞれの当事者の入力は「シークレットシェア」となり、先ほど述べた分散型鍵発行のステップの出力となります。 そして、署名されるメッセージは全員に公開されている入力となります。 出力はデジタル署名となり、プライバシーの特徴によって、計算中に「シークレットシェア」の流出が発生しないことを保証します。 検証:検証アルゴリズムは従来の設定のままです。 シングル鍵署名と互換性を持つために、公開鍵について知っているすべての人は署名を検証できるようになる必要があります。 これはまさに、ブロックチェーンのバリデーションノードが行っていることです。 しきい値署名方式(TSS)は、この分散鍵発行(DKG)としきい値署名方式の分散署名との組み合わせに付けられた名前です。 TSSをブロックチェーンに組み合わせる ブロックチェーンにTSSを組み込む自然な方法としては、ブロックチェーンのクライアントをTSSを使って、鍵を発行して、署名をするように変更することです。 ここで使っている、ブロックチェーンのクライアントは、フルノードによって実行されるコマンドのセットのことを指します。 実務的には、このTSSという技術を使うことで、分散型コンピューティングいおける秘密鍵と関係するす全てのコマンドを置き換えることができます。 これをより詳しく説明するために、これまでのブロックチェーン設計において、どのように新しいアドレスが作成されているかを簡潔に説明します。 シンプルに言うと、私たちは暗号鍵を使って、新しいアドレスを作成することができ、その暗号鍵から公開鍵を計算します。 最後に、公開アドレスが公開鍵から派生します。 TSSを使うことで、公開鍵を協力して計算しているn人による集団ができました。それぞれが暗号鍵の「シークレットシェア」を保有しています。(それぞれが保有する「シークレットシェア」は共有されません。) 公開鍵から、私たちはこれまでのシステムと同様の方法で公開アドレスを発行することで、ブロックちゃーんがアドレスの発行方法に依存しないようにすることができます。 このアドバンテージとしては、それぞれの当事者が暗号鍵の一部を保有するようになるので、暗号鍵が単一障害点ではなくなることです。 同様のことをトランザクションの署名をする時に行うことができます。 この場合には、単一当事者が暗号鍵で署名をする代わりに、私たちは複数当事者間での分散型署名を実施します。 そのため、各当事者は、誠実である限り、有効な署名を発行できます。 再び、私たちは単一障害点のあるローカルでの計算から、インタラクティブなものへ移行しました。 分散型鍵発行は違うアクセス構造によって行おうことができるようになっており、セキュリティを犠牲にすることなく、設定は秘密鍵関連の操作における任意の失敗に影響されないようになっています。 TSS vs マルチシグ いくつかのブロックチェーンはTSSの機能をネイティブ、もしくは何らかのプログラミングによって実現できるような形で提供しています。 私たちはこの機能のことをマルチシグ、もしくはマルチシグネチャーと呼んでいます。 違いを理解するには、TSSをブロックチェーンのアプリケーションレイヤーとみることができます。 違いとしては、マルチシグ、TSSどちらも同じようなゴールを達成しようとしていますが、TSSはオフチェーン、マルチシグはオンチェーンで処理が行われます。 しかしながら、ブロックチェーンにはアクセス構造(署名者数)がブロックチェーン上で公開されることでプライバシーを侵害する可能性のある、マルチシグをエンコードする方法が必要です。 マルチシグトランザクションのコストは、ブロックチェーン上で様々な署名者とのコミュニケーションのための情報が必要となるため、より高くなります。 TSSでは、署名所の詳細は通常のトランザクションに見えるトランザクションにまとめられることで、コストを減らし、プライバシーを保持することが可能です。 一方、マルチシグは相互にやり取りをする必要がないので、様々な署名者間での複雑なコミュニケーションレイヤーで発生するトラブルを防止します。 最も大きな違いとしては、マルチシグはブロックチェーン専用で、全てのブロックチェーンで再実装する必要があり、時には、まったくサポートされていない場合もあります。 対照的に、TSSは純粋な暗号によるものなので、サポートは常に可能となっています。 こちらの記事はマルチシグとTSSの違いを説明した素晴らしいものです。 TSS vs シュノアの秘密分散法 シュノアの秘密分散法(SSSS)は、暗号鍵を最低でも複数ロケーションで保存するなど、分散化された方法で暗号鍵を保存するための方法を提供します。 SSSSとTSSには2つの大きな違いがあります。 鍵発行:SSSSでは、ディーラーと呼ばれる人が暗号鍵の発行を行います。 つまり、鍵発行時点では暗号鍵は単一地点で発行され、それからディーラーによって様々なロケーションに分散化されるということです。 TSSでは、ディーラーの役割はなく、完全な暗号鍵が単一地点にあることはなく、分散化されています。 署名:SSSSでは、署名をするために完全な暗号鍵を復元する必要があるため、署名が必要になる度に、単一障害点ができてしまいます。 TSSでは、署名は分散化された方法で行われるので、単一障害点はできません。 これまで見てきたように、TSSではシステムのセキュリティの肝である、暗号鍵は決して単一地点に存在することがないです。 しきい値ウォレット TSSを採用したウォレットはこれまでの仮想通貨ウォレットとは少し違っています。 一般的に、従来のウォレットはシードフレーズを発行し、それを使ってアドレスを作成しています。 ユーザーは後にこのシードフレーズを使うことで、1)ウォレットの公開アドレスに対応する暗号鍵に達し、それを使ってトランザクションに署名をすること、そして2)対応するウォレットの全ての鍵を復元することができます。 しきい値ウォレットでは、もう少し複雑になっています。 HD構造を作成することも可能ですが、その作成は他のMPCプロトコルのように分散化された方法で計算されなければいけません。 参加者は一緒にどの鍵が次に使われるかを決める必要があります。 言い換えると、それぞれの当事者は独自のシードフレーズを持つということです。 このシードフレーズは個別に発行され、誰かが自分のシードから暗号鍵を復元することができないようにするために、決して組み合わされることはないです。 TSSベースウォレットには、素晴らしいセキュリティ機能があり、対応する公開鍵とブロックチェーンアドレスを変更することなく暗号鍵をローテーションすることができます。 暗号鍵のローテーションは、事前秘密共有としても知られていますが、「シークレットシェア」をインプットとし、新しい「シークレットシェア」のセットをアウトプットとするMPCプロトコルの一種です。 古いシークレットシェアは削除され、新しいものを同じ方法で使うことができます。 このような構造はセキュリティに時間による次元を追加します。つまり、攻撃者はしきい値ウォレットを攻撃する時、同時に複数箇所にいなければいけません。 シークレットシェアをローテンションの前と後に組み合わせることで、攻撃者が署名を行いたくても、攻撃者に余分な権限を与えずに済みます。 このような種類のウォレットのデメリットとして、シードフレーズがないためシングルキーウォレットシステムとの互換性がないことです。 そのため、誰がシークレットシェアを保有するかを検討することは重要です。

プロジェクト, 技術, 最新記事, 法規・政策, 特集・解説

ハッシュとは?

ハッシュとは変数の入力からサイズが固定された出力を発行するプロセスのことを指します。 これはハッシュ関数として知られる、数式を使うことで実施されます。(ハッシュアルゴリズムとして実装)  全てのハッシュ関数に暗号学が含まれているわけではないですが、いわゆる暗号学的ハッシュ関数は仮想通貨の核となるものです。 それらのおかげで、ブロックチェーンとその他の分散型システムはデータ統合性とセキュリティを高度なレベルで実現できています。 従来のハッシュ関数と暗号化ハッシュ関数はどちらも決定論的です。 決定論的とは、入力が変更されない限りは、ハッシュアルゴリズムは常に同じ出力(ダイジェストやハッシュともいわれます。)を生み出します。 たいてい、仮想通貨のハッシュアルゴリズムは片道だけの機能として設計されており、つまり大量の計算時間とリソースなしでは簡単に元に戻すことはできません。 言い換えると、入力から出力を作ることはとても簡単ですが、逆方向を行うのは相対的に難しくなっています。(つまり、出力だけから入力を復元することです。) 一般的に、入力を見つけるのが難しくなればなるほど、ハッシュアルゴリズムはより安全と考えられます。 ハッシュ関数の機能 違うハッシュ関数は違うサイズの出力を生み出しますが、それぞれのハッシュ関数の出力のサイズは常に同一となります。 例えば、SHA-256アルゴリズムは256ビットの出力しか作ることができないですが、SHA-1は常に160ビットのダイジェストを発行します。 ということで、ハッシュ関数の機能を理解してもらいやすくするために、Binanceとbinanceの2つの単語をビットコイン(Bitcoin)でも使われている、SHA-256ハッシュアルゴリズムにかけてみましょう。 SHA-256 入力 出力(256ビット) Binance f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191 binance 59bba357145ca539dcd1ac957abc1ec5833319ddcae7f5e8b5da0c36624784b2 ここで注目していただきたいのは、最初の文字を変更するという小さな変更が、まったく違うハッシュ値という結果になっていることです。 しかし、今回はSHA-256を使っているため、出力は入力のサイズに関わらず、必ず256ビット(もしくは、64文字)の固定されたサイズとなります。 また、この2つの単語に対して、何回ハッシュアルゴリズムを実行したかに関係なく、この2つの出力は常に一定となります。 逆に、SHA-1ハッシュアルゴリズムを介して同じ入力を実行すると、以下の出力が得られます。 SHA-1 入力 出力(160ビット) Binance 7f0dc9146570c608ac9d6e0d11f8d409a1ee6ed1 binance e58605c14a76ff98679322cca0eae7b3c4e08936 SHAはセキュアハッシュアルゴリズム(Secure Hash Algorithms)の頭文字を取ったものです。 SHAはSHA-0、SHA-1アルゴリズムと一緒にSHA-2、SHA-3グループを含む暗号ハッシュ関数のセットを指します。 SHA-256はSHA-2グループに属していて、他の種類としてはSHA-256などがあります。 現在、SHA-2とSHA-3グループのみが安全と考えられています。 なぜ重要か? 従来のハッシュ関数にはデータベースロックアップ、大規模なファイル分析、そしてデータ管理などを含む、幅広いユースケースがあります。 一方で、暗号学的ハッシュ関数はメッセージ認証やデジタルフィンガープリントのような情報セキュリティアプリケーションにおいて、広範囲に使われています。 ビットコイン(Bitcoin)においては、暗号学ハッシュ関数はマイニングプロセスの不可欠な部分であり、新しいアドレスと鍵の発行においても重要な役割を果たしています。 ハッシュ関数の本当の実力は膨大な量の情報を処理する時に発揮されます。 例えば、大容量のファイルやデータセットをハッシュ関数を使うことで、その出力からデータの正確性や整合性を素早く検証することができます。 これは入力は常にシンプル化され、凝縮されたハッシュ値という出力になるという、ハッシュ関数の決定論的性質によって可能となっています。 このような技術によって、大容量のデータを保存し、記憶しておく必要性がなくなりました。 ハッシュはブロックチェーンテクノロジーにおいては特に便利です。 ビットコイン(Bitcoin)ブロックチェーンにはハッシュを含んでいるオペレーションが複数あり、その多くはマイニングプロセスにあります。 実際、ほぼ全ての仮想通貨プロトコルはトランザクションのグループをつなげ、凝縮したり、それぞれのブロック間に暗号学的な関連性を作って、効率的にブロックチェーンを作ったりするためにハッシュを使っています。 暗号学的ハッシュ関数 再びとはなりますが、暗号学的技術をデプロイするハッシュ関数は暗号学的ハッシュ関数として定義されるでしょう。 一般的に、暗号学的ハッシュ関数を破るには、無限とも思われる総当たり攻撃を必要とします。 暗号学的ハッシュ関数の出力から入力を導き出そうとする人は、一致する出力が発行されるまで何度もトライアンドエラーを繰り返す必要があります。 しかしながら、違う入力によって全く同じ出力が生まれる可能性もあり、これを衝突(Collision)と呼びます。 技術的に、暗号学的ハッシュ関数は安全と判断されるには3つの特徴を備えている必要があります。 この3つをここでは、衝突(Collision)耐性、原像計算困難性、そして第二原像計算困難性と呼びます。 それぞれの特徴について説明する前に、これらのロジックについて簡単にまとめておきました。 衝突(Collision)耐性 偶然同じハッシュ値が出力として発行される、まったく違う入力を発見することができないことです。 原像計算困難性 与えられた出力からハッシュ関数を遡って、入力を特定することができないことです。 第二原像計算困難性 特定のある入力と衝突する2つ目の入力を見つけることができないことです。 衝突(Collision)耐性 前述のとおり、衝突は違う入力からまったく同じハッシュが発行されることを言います。 そのため、ハッシュ関数は誰かが衝突を発見するまでは衝突(Collision)耐性があると考えられます。 ただし、どんなハッシュ関数でも衝突は発生します。なぜなら、入力できる値は無限にも関わらず、出力は有限だからです。 言い換えると、衝突する入力を見つけるのに何百万年もの計算が必要になるぐらい発生する可能性が低い場合にハッシュ関数には衝突(Collision)耐性があると言います。 そのため、衝突が発生しないハッシュ関数は存在しないですが、SHA-256のように、いくつかのハッシュ関数は耐性があると言うのに十分なほど可能性は低くなっています。 様々なSHAアルゴリズムの中で、SHA-0とSHA-1グループは衝突が発見されたので、もはや安全とは思われていません。 現在、SHA-2とSHA-3グループは衝突への耐性があると考えられています。 原像計算困難性 原像計算困難性の特徴は一方通行というハッシュ関数のコンセプトに関連しています。 ハッシュ関数は、特定の出力を発行する入力を見つけることができる可能性が低い場合、原像計算困難性が実現できていると考えます。 この特徴は、攻撃者が与えられた出力から入力を推測しようとするため、前に説明した衝突(Collision)耐性とは違います。 一方、衝突は誰かが同じ出力を生成する2つの異なる入力を見つけたときに発生し、その出力を発行するのにどちらの入力が使用されたかは関係ありません。 メッセージの単純なハッシュは、情報を開示する必要なく、その真正性を証明できるため、原像計算困難性はデータを保護するのに役立ちます。 実務では、多くのサービスプロバイダー、アプリケーションが、パスワードの平文ではなく、パスワードから発行したハッシュ値を使用、保存しています。 第二原像計算困難性 単純化すると、第二原像計算困難性とは、これまで紹介してきた特徴の中間のようなものとも言えます。 誰かが既に知っている別の入力と同じ出力を生成する特定の入力を見つけることができる場合、第二原像攻撃が発生します。 言い換えると、第二原像攻撃は衝突を発見することが含まれますが、同じハッシュ値を生成する2つのランダムな入力を探す代わりに、この攻撃では他のある入力によって発行されたハッシュ値と同じハッシュ値を発行する別の入力を探します。 そのため、衝突(Collision)耐性のあるすべてのハッシュ関数は、第二原像計算困難性を備えています。 ただし、単一の出力から単一の入力を見つけることを意味するため、衝突耐性を持つ関数に対して、原像攻撃を実行できます。 マイニング ビットコイン(Bitcoin)のマイニング には、残高の確認、トランザクションインプットとアウトプットの紐づけ、そしてマークルツリー生成するためにブロック内のトランザクションをハッシュすることなど、その多くのステップにハッシュ関数が使われています。 しかし、ビットコイン(Bitcoin)ブロックチェーンが安全な理由の1つは次のブロックのための有効な解答を探すためにマイナーが無数のハッシュ操作を行う必要があるからです。 特に、候補ブロックのハッシュ値を生み出すために複数の違う入力を試す必要があります。 実質的に、特定の数のゼロ(0)で始まる出力ハッシュを生成する場合にのみ、ブロックをバリデートできます。 ゼロ(0)の数がマイニングの難易度を決定し、この難易度はネットワークに使われているハッシュレートに基づいて、変動します。 この場合、ハッシュレートはどれだけの計算力がビットコイン(Bitcoin)のマイニングに投資されているかを示します。 もしも、ネットワークのハッシュレートが上昇したら、ビットコイン(Bitcoin)プロトコルは自動でマイニングの難易度を調整し、ブロックを発行するために必要な時間を10分に近づくようにします。 対照的に、マイナーの一部がマイニングを停止し、ハッシュレートが大幅に低下すると、マイニングの難易度が調整され、平均ブロック発行間隔が10分になるように、マイニングが易化されます。 有効な出力として生成できる(特定の数のゼロで始まる)複数のハッシュがあるため、マイナーは衝突を見つける必要はないです。 そのため、1つのブロックに対して、マイニングの難易度に従って決定されるしきい値を満たす解は複数あり、マイナーはそのうちの1個を見つけるだけでいいです。 ビットコイン(Bitcoin)のマイニングは莫大なコストのかかるタスクのため、マイナーは重大な金銭的損失を避けるためにも、このシステムにおいて不正を行う理由がないです。 ブロックチェーンに参加するマイナーが増えれば増えるほど、コストはより大きくなり、誠実にバリデーションを行うインセンティブはどんどん強くなります。 まとめ コンピュータサイエンス、特に大容量のデータを処理する時に、ハッシュ関数が必要不可欠なツールであることには疑いはありません。 暗号学と組み合わせた時、ハッシュアルゴリズムの用途は非常に増え、様々な方法でセキュリティと認証を提供できます。 そのため、暗号学的ハッシュ関数はほぼすべての仮想通貨ネットワークに不可欠であるため、ブロックチェーンテクノロジーに興味がある人にとっては、その特徴と動作メカニズムを理解することは確実に役立ちます。 免責事項 : 本サイトは当ページのいかなるコンテンツや製品も推奨していない。本サイトは世界中他言語グローバルブロックチェーンサイトから引用したすべての重要情報を提供することを目的にしています。読者は上述の内容に関係したあらゆる行動をとる前に独自の調査を行い、自身の決断については全責任を負わねばならない。また、当記事は投資や金融商品購入のアドバイスではない。内容を参考としてご自由にご利用ください。

プロジェクト, 技術, 最新記事

EthereumのCasperとは?

EthereumのCasperとは? コミュニティからの記事-著者: William M. Peaster Casperは最終的にEthereumをProof of Stake (PoS)ベースのブロックチェーンに変換する実装で、Ethereum 2.0としても知られています。確かに、2015年夏にEthereumは Proof of Work (PoW)ブロックチェーンとしてローンチされましたが、開発者はすでにステーキングモデルへの長期的な移行を計画していました。移行が完了したら、マイニングはAfter thネットワークでは行われなくなります。 現在まで、Ethereumエコシステム内にはCasper CBCとCasper FFGの2つのCasper実装の共同開発者がいます。CBCバージョンは最初にEthereum財団の研究者であるVlad Zamfirによって提案されました。確かに、CBCでの研究は最初はパブリックブロックチェーンのためのPoSプロトコルにフォーカスしていましたが、現在ではより広い分野を研究するようになっており、PoSモデルのファミリーも対象に含まれています。 Casper FFGの研究はEthereumの共同創業者であるVitalik Buterinがリードしています。最初の提案はPoW/PoSシステムのハイブリッドによって構成されていましたが、その実装はまだ議論段階にあり、新しい提案によって純粋なPoSモデルにリプレースされるかもしれません。 特に、Casper FFGはEthereum2.0のロールアウトを始める予定です。しかし、これはCasper CBCが使われないというわけではないです。実際、将来的にはCasper FFGをリプレースしたり、補完したりする可能性があります。 両方のバージョンはEthereumのために開発されていますが、Casperは他のブロックチェーンネットワークに採用し、実装することができるかもしれないPoSモデルです。 Casperの機能 Ethereum1.0から2.0への移行はセレニティアップグレードと呼ばれています。このアップグレードは3つのフェイズによって構成されています。フェイズ0では、Beacon Chainと呼ばれる新しいブロックチェーンがローンチされます。Casper FFGのルールはこの新しいPoSベースブロックチェーンのコンセンサスアルゴリズムに適用されます。 トランザクションのブロックを作成し、検証するために、マイナーが高価で、専用のマシンを使って行うPoWマイニングと違い、Casperの実装はEthereumからマイニングのプロセスを取り除きます。その代わりに、トランザクションの新しいブロックの検証と認証はブロックバリデーターによって行われ、この役割はステーキングに基づいて選ばれます。 言い換えると、それぞれのバリデーターのVoting PowerはステーキングしているETHの量によって決まります。例えば、64ETHをデポジットしている人は、最小ステーキング量である32ETHをデポジットしている人の2倍のVoting Powerを持ちます。セレニティの最初のフェイズでブロックバリデーターになるには、ユーザーは最低32ETHを、Ethereumブロックチェーン1.0に基づく特別なスマートコントラクトに、デポジットする必要があります。 全てうまくいったら、ランダムに選択されたバリデーターたちが新しいブロックを提案し、それによってブロック報酬を受け取ります。このブロック報酬は、ブロック補助がないため、トランザクション手数料のみとなる可能性があります。  ただし、各PoS実装は違うアプローチ、そして報酬モデルを提示することもあるので注意が必要です。Casperモデルはまだ開発中で、多くの詳細はこれから定義されます。 Casperのアドバンテージ Casperのアドバンテージの1つは、ステーキングを実現することで、Ethereumを環境に優しくすることができます。PoWベースシステムは大量の電力と計算リソースを必要とします。その一方、PoSモデルが必要とする量ははるかに小さいです。Ethereumに完全なPoSモデルが最終的に実装されたら、マイナーはブロックチェーンを保証するのに不要となり、そのために必要とされるリソース量もはるかに少なくなります。 他のCasperの潜在的なアドバンテージはセキュリティに関連します。基本的にCasperはブロックのチェーンの順番に責任を負う人を選ぶために使われます。つまり、CasperはEthereum2.0元帳のブックキーパーとして機能します。そのため、もしもバリデーターが不正を行った場合、速やかに排除され、罰せられます。ルール違反に対するペナルティはバリデーターのステーキングしているETHが没収されるので、ネットワークに対する攻撃は非常に大きな損害となります、しかしながら、開発者はまだ51%攻撃の可能性について議論しています。 最後に、CasperはEthereumにさらなるレベルの分散化をもたらすと主張する人がいます。現在、ネットワークにおいて最も力を持っているので、マイニングを行うためのリソースを最も多く持っている人です。将来的には、適切な量のETHを購入できる人ならば、誰でもブロックチェーンを保証する支援をすることができるようになります。 限界 Casperが最終的に開発され、実装されるまでまだ時間がかかります。現在、Casperの効率性とセキュリティはまだ証明されていません。まだ多くの詳細が定義や調整されていません。セレニティアップグレードのフェイズ0用のバージョンが稼働するまでには、Casperがどのようなもので、どう動くかがわかるようになります。 理論上の限界として、CasperはEthereumのバリデートシステムが崩壊した場合、ブロックをファイナライズすることができなくなるかもしれません。現在の構造だと、Casperはまだ完全に51%攻撃への耐性があるわけではないです。それ以外にも正式な仕様として、攻撃に対応するために必要となるかもしれないフォークルールの概要を決まる必要があります。 まとめ Ethereumはマイニングからステーキングに向かっており、ステーキングではユーザーはブロックチェーンを保証するためにデポジットアドレスでETHをステーキングします。Casperはこの移行を促進し、ブロックをファイナライズするためのテクノロジーです。 CasperはEthereum 2.0へのさらなる進歩のための基盤を築く支援をし、PoSモデルへの移行をより円滑にするように設定されています。さらに、ブロックチェーン分野におけるオープンソースな性質は、同時にCasperの大まかなメリットを、他のプロジェクトのために、フォークさせ、修正し、構築することができることを意味します。 Casperが正式にロールアウトされた時、Ethereumの歴史における重要なマイルストーンとなります。Casperの実装時期に関してですが、Ethereumの研究者であるJustin Drakeは以前Casperの最初のフェイズのローンチはBitcoinの11回目の誕生日となる2020年1月3日になるかもしれないと言っています。しかしながら、これはあくまで暫定的な予定にすぎません。ローンチは2020年のいつ起きてもおかしくないです。 免責事項 : 本サイトは当ページのいかなるコンテンツや製品も推奨していない。本サイトは世界中他言語グローバルブロックチェーンサイトから引用したすべての重要情報を提供することを目的にしています。読者は上述の内容に関係したあらゆる行動をとる前に独自の調査を行い、自身の決断については全責任を負わねばならない。また、当記事は投資や金融商品購入のアドバイスではない。内容を参考としてご自由にご利用ください。

プロジェクト, 市場, 技術, 最新記事, 法規・政策

ブロックチェーンユースケース:国際送金

要約すると、国際送金は離れた土地、たいていの場合は違う国に住む個人間での、資金の転送と定義することができます。多くの場合、出稼ぎ労働者が母国に送金によって構成されています。 現在、国際送金は発展途上国における最大の資産の流れを表しており、これは海外直接投資と国際開発援助を上回ります。世界銀行グループによると、国際送金業界は、2017年には8.8%、2018年には9.6%という大きな成長を経験しています。 いくつかの発展途上国の経済は海外から流入する現金に大きく依存しているので、そういった国の経済にとっては国際送金は重要なコンポーネントとなっています。そのため、多くの国にとっては出稼ぎ労働者による、送金が主要な収入源の1つとなっています。例えば、ハイチは2017年にそのGDPのうち、だいたい29%を国際送金から受け取っています。そして、この割合は2018年には30.7%にまで上昇しました。 問題 世界銀行の推測によると、200$を国際送金するための現在のコストは世界平均で約7%です。2018年に、世界中の国際送金額の合計が6890億ドルにたっしたことを考えると、7%はすなわち、運営コストとして約480億ドルが支払われたということです。 高額の手数料に加えて、多くの国際送金ソリューションは第三者サービスと金融機関に頼っています。複数の仲介業者が必要になるため、現在のシステムはかなり非効率的です。サービスが高額であるだけでなく、送金に数日、または数週間かかってしまうというのが現状です。 こういった状況を考えると、ブロックチェーンテクノロジーは国際送金業界に視認性と、より効率的な代替を提供するかもしれません。この記事では、この分野に取り組んでいる企業数社、そしていくつかの可能性と既存のソリューションを紹介します。 ブロックチェーンはソリューションか? ブロックチェーンを国際送金に活用している企業の主要なゴールは、全体のプロセスをシンプル化し、不必要な仲介業者を除くことです。アイデアとしては、手数料不要で、ほぼ即時に決済されるソリューションを提供することです。複数の仲介者を介し、多くの手作業が必要となる伝統的なサービスと違って、ブロックチェーンネットワークはトランザクションの承認に必要となる遅いプロセスに依存しません。 その代わり、ブロックチェーンシステムは分散型コンピュータのネットワークに基づいて、世界中で金融取引を実行することができます。つまり、複数のコンピュータがトランザクションの検証と承認プロセスに参加し、これは分散化された安全な方法で行うことができるということです。これまでの銀行システムと比べた時、ブロックチェーンテクノロジーはより早く、信頼できる決済ソリューションをはるかに低コストで提供することができます。 言い換えると、ブロックチェーンテクノロジーは国際送金業界が直面している、高額な手数料やトランザクションに必要な時間が長いことのような、大きな問題のいくつかを解決できるかもしれません。単純に仲介業者の数が減ることによって、運営コストは大幅に削減することができます。 ユースケース モバイルアプリケーション 現在多くの企業が、新しい決済ソリューションをブロックチェーンテクノロジーを使ってデリバリーするために実験を行っています。仮想通貨ウォレットを使うことで、ユーザーは世界中にデジタル資産の送受信を行うことができ、さらに迅速に仮想通貨と法定通貨間での取引ができます。 Coins.phは複数の機能を提供するモバイルウォレットアプリの一例です。ユーザーは国際送金、支払い、ゲームクレジットの購入やシンプルにBitcoinや他の仮想通貨を買うことができます。また、いくつかの金融サービスは銀行口座を必要としません。 デジタルプラットフォーム いくつかの企業は既存の金融システムと直接やり取りをするインフラを運用しています。例えば、BitPesaはアフリカにブロックチェーンテクノロジーを展開するオンラインプラットフォームです。2013年に創業し、BitPesaはより低いレートで、より早い決済ソリューションと通貨両替を提供しています。 Stellarプロトコルは国際送金に取り組んでいるブロックチェーンプラットフォームのもう1つの例です。Stellarは、金融アクセスを促進し、世界中の人々と金融機関をつなぐという目的で2014年に設立されました。 StellarネットワークはStellar Lumens(XLM)という独自通貨を持っている、分散型元帳です。XLMは法定通貨と仮想通貨資産間での世界中での取引を促進するブリッジ通貨として使うことができます。BitPesaのように、ユーザーと金融機関はStellarプラットフォームを使って、トランザクションコストを減らして、送金と受取をすることができます。 ATM モバイルアプリケーションとオンラインプラットフォームと合わせて、AMTの使用は国際送金に面白いソリューションを提供するかもしれません。このようなアプローチは、特にインターネット接続環境や銀行システムが欠けている、発展途上国において便利となるかもしれません。 Bit2MeやMoneyFiのような企業はブロックチェーンテクノロジーをATMに組み込む、新しい国際送金システムを開発しています。彼らのゴールは複数の機能をサポートするプリペイドカードを発行することです。 ブロックチェーン元帳とATMを組み合わせることで、仲介者を大幅に減らすことができる可能性があります。ユーザーは銀行口座が不要となり、ATMの運営企業はトランザクションに対して、少額の手数料を課すでしょう。 現在の課題と限界 ブロックチェーンテクノロジーが国際送金業界に多くのアドバンテージをもたらすことができるのは明確ですが、まだその実現までの道のりは長いです。以下に可能なソリューションとともに、潜在的な障害や主要な限界を紹介します。 仮想通貨と法定通貨の両替:世界経済はいまだに法定通貨に基づいており、仮想通貨と法定通貨の交換は手軽なものとは言えないです。多くの場合、銀行口座が必要となります。P2Pトランザクションは銀行を必要としないですが、ユーザーはお金を使うために法定通貨を仮想通貨に交換する必要性があります。 モバイルとインターネットへの依存:発展登場国で生活する何百万人もの人たちはインターネットにアクセスすることがいまだにできず、多くはスマートフォンを持っていません。これまで説明してきたように、ブロックチェーンとの互換性のあるATMがソリューションの一部となるかもしれません。 規制:仮想通貨に対する規制はまだ確立していません。いくつかの国、特に外国からの現金流入に依存している国では、仮想通貨に対する規制は不明確または存在しません。しかし、ブロックチェーンテクノロジーのさらなる普及が規制を前進させるのは確実です。 複雑さ:仮想通貨とブロックチェーンテクノロジーを使うには、一定の技術的な知見が必要となります。ブロックチェーンを自律的に実行および使用することは簡単な作業ではないため、ほとんどのユーザーは依然としてサードパーティのサービスプロバイダーに依存しています。また、多くの仮想通貨ウォレットと取引所は教育的なガイドと直感的なインターフェースが欠けています。 ボラティリティ:仮想通貨市場はまだ未成熟で、高いボラティリティの影響を受けます。そのため、市場価値がすぐに変動してしまうかもしれず、日常利用にいつも適しているとは言えません。それ以外にも、ボラティリティの高い通貨はある場所から別の場所に資金を移動させたいだけの人にとって、理想の通貨とは言えません。ただし、この問題はそれほど懸念とされておらず、ステーブルコインが実現可能なソリューションを提供するでしょう。 まとめ 過去10年では大きな成長を経験し、そしてこれからも成長し続けるでしょう。そして、この大きな原因と考えられるのは、仕事や教育の機会を求める人々の移民率の増加です。世界移民レポート2018によると、2015年には2億4400万人の移民がいると予想されており、これは2000年の予想だった1億5500万人から57%も増加しています。 しかしながら、国際送金の分野はまだ非効率性と限界による問題を抱えています。その結果、より効率的な代替手段を提供するためにブロックチェーンテクノロジーを利用する企業が増えており、近い将来、移民労働者による、ブロックチェーンの普及が進むと思われます。 免責事項 : 本サイトは当ページのいかなるコンテンツや製品も推奨していない。本サイトは世界中他言語グローバルブロックチェーンサイトから引用したすべての重要情報を提供することを目的にしています。読者は上述の内容に関係したあらゆる行動をとる前に独自の調査を行い、自身の決断については全責任を負わねばならない。また、当記事は投資や金融商品購入のアドバイスではない。内容を参考としてご自由にご利用ください。

技術, 最新記事

デジタル署名とは?

デジタル署名は、デジタルデータの信頼性と整合性を検証するために使用される暗号化メカニズムです。通常の手書き署名のデジタル版と見なすこともできますが、より高度なレベルの複雑さとセキュリティを備えています。 単純化すると、デジタル署名はメッセージ、もしくはドキュメントに付随しているコードと説明できるかもしれません。発行後、このコードはメッセージが送信者から受信者に渡すまでの間に改ざんされなかったことの証明として機能します。 確かに、コミュニケーションを暗号を使って、安全にするというコンセプトは古くから行われてきましたが、デジタル署名が実現したのは、公開鍵暗号(PKC)が発展した、1970年代です。つまり、デジタル署名がどのように機能するのかを学ぶためには、ハッシュ関数と公開鍵暗号の基礎について、まず理解する必要があるということです。 ハッシュ関数 ハッシュはデジタル署名システムの核となる要素の1つです。このハッシュのプロセスには、あらゆるサイズのデータを固定のサイズの出力に転換するプロセスが含まれています。これはハッシュ関数という特別な種類のアルゴリズムによって行われています。このハッシュ関数による出力はハッシュ値、もしくはメッセージダイジェストとして知られています。 暗号学と組み合わせると、いわゆる暗号学的ハッシュ関数は固有のデジタルフィンガープリントとして機能するハッシュ関数(ダイジェスト)を発行するために使われます。つまり、入力データ(メッセージ)へのいかなる変更も出力(ハッシュ値)をまったく違うものにするという結果になります。このため、暗号学的ハッシュ関数はデジタルデータの真正性を検証するために広く使われています。 公開鍵暗号(PKC) 公開鍵暗号、もしくはPKCは暗号鍵と公開鍵のペアを使う暗号システムを指しています。この2つの鍵は数学的に関係していて、データの暗号化とデジタル署名両方のために使うことができます。 暗号化ツールとして、PKCは基本的に対称鍵暗号による方法よりも安全です。このより古いシステムは情報の暗号化と復号のために同じ鍵を使いますが、PKCはデータの暗号化は公開鍵で行い、復号はその公開鍵と一致する暗号鍵で行うことができます。 それ以外にも、PKCスキームはデジタル署名の発行にも適用できるかもしれません。実質的に、このプロセスは署名者の暗号鍵でメッセージ(もしくは、デジタルデータ)をハッシュします。次に、メッセージの受信者は署名者の公開鍵を使うことで、その署名が有効かどうかを確認できます。 一定の状況においては、デジタル署名の暗号化が含まれますが、必須ではないです。例えば、ビットコイン(Bitcoin)ブロックチェーンはPKCとデジタル署名を使いますが、このプロセスには暗号化は含まれていません。技術的な話をすると、ビットコイン(Bitcoin)はトランザクションの認証のために、いわゆる楕円曲線暗号(ECDSA)をデプロイしています。 デジタル署名の機能 仮想通貨において、デジタル署名システムはハッシュ、署名、検証の基本的な3つのステップによって構成されています。 ハッシュとデータ 最初のステップはメッセージ、もしくはデジタルデータをハッシュします。これはデータを ハッシュ アルゴリズムに提出し、ハッシュ値が発行されることで行われます。前述のように、メッセージのサイズは大きく異なる可能性がありますが、ハッシュされると、すべてのハッシュ値の長さが同じになります。これはハッシュ関数の最もベーシックな特徴です。 しかしながら、データをハッシュするのはデジタル署名を作るのに必須ではないです。なぜなら、まったくハッシュされていない暗号鍵でメッセージに署名をすることが可能だからです。しかし、仮想通貨においては、データは必ずハッシュされます。なぜなら、固定長のハッシュ値を処理するとプロセス全体のセキュリティが低下するからです。 署名 情報がハッシュされたら、メッセージの送信者はそれに署名をする必要があります。ここで、公開鍵暗号が登場します。いろんな種類のデジタル署名アルゴリズムがあり、それぞれが独自のメカニズムを持っています。しかし、本質的にハッシュされたメッセージは暗号鍵によって署名され、そのメッセージの受信者は一致する公開鍵(署名者が提供する)を使って、その正当性を確認します。 別の言い方をすれば、署名の生成時に秘密鍵が含まれていない場合、メッセージの受信者は対応する公開鍵を使用して、その有効性を検証することはできません。公開鍵、暗号鍵の両方ともメッセージの送信者によって発行されますが、暗号鍵は受信者には共有されません。 それぞれのメッセージにコンテンツに、デジタル署名は直接関連されています。そのため、メッセージに関わらず、同じとなる手書きでの署名と違い、デジタル署名されたメッセージはそれぞれ違うデジタル署名を持ちます。 検証 検証の最終ステップまでのプロセス全体を説明するために例を見てみましょう。アリスがボブにメッセージを書き、それをハッシュし、デジタル署名を発行するために暗号鍵とハッシュ値を組み合わせます。この署名はその特定のメッセージの固有のデジタルフィンガープリントとして機能します。 ボブがメッセージを受け取ったら、彼はアリスの公開鍵を使って、デジタル署名の有効性を確認します。この方法で、ボブはこの署名がアリスによって作られたものだと確認できます。なぜなら、彼女がその公開鍵と一致する暗号鍵を持っている、唯一の人物だからです。 そのため、アリスにとっては暗号鍵を安全に保管することが大切です。もしも、誰かがアリスの暗号鍵を手に入れた場合、その人物はアリスのデジタル署名を作って、なりすますことができます。ビットコイン(Bitcoin)においては、これは誰かがアリスの暗号鍵を使って、彼女の許可なしで、ビットコイン(Bitcoin)を使ったり、動かしたりすることができるということです。 なぜデジタル署名が重要なのか? デジタル署名はデータの整合性、認証、そして否認不可という3つの結果を実現するためによく使われます。 データの整合性:ボブはアリスのメッセージが受信されるまでに変更されていないことを確認できます。メッセージ対してなんらかの修正が行われたら、署名は全く別のものになります。 認証:アリスが暗号鍵を安全に保管する限り、ボブはアリスの公開鍵を使うことでデジタル署名が他の誰でもなく、アリスによって作られたことを確認できます。 否定不可:署名がなされたら、暗号鍵が何らかの理由で流出などしない限り、アリスは自分がその署名を行ったことを将来否定することができません。 ユースケース デジタル署名は様々な種類のデジタル署名と証明書に適用することができます。そのため、実際にいくつかのアプリケーションがあります。そして、最も一般的なユースケースとしては以下のような例が挙げられます。 IT インターネット通信システムのセキュリティ強化に活用されています。 金融 監査、支出報告書、借用書などにデジタル署名を適用することができます。 リーガル 公文書を含む、あらゆる種類のビジネス契約および法的契約において、デジタル署名を活用できます。 ヘルスケア デジタル署名によって、処方箋や医療記録の詐欺を防ぐことができます。 ブロックチェーン デジタル署名スキームは仮想通貨の正しい所有者しか、資産を動かすトランザクションに署名できないようにします。(暗号鍵が流出していない限り) 限界 デジタル署名スキームが直面している主要な課題は最低でも3つの要件に依存しています。 アルゴリズム デジタル署名スキームで使われているアルゴリズムのクオリティは重要です。ここには、信用できるハッシュ関数と暗号学システムの選択が含まれています。 実装 アルゴリズムが良くても、実装がダメだったばあい、デジタル署名システムに欠陥が生じる可能性があります。 暗号鍵 もしも、暗号鍵がなんらかの方法で流出した場合、認証と否定不可という特徴が無効になります。仮想通貨ユーザーの場合、暗号鍵を紛失すると、重大な経済的損失が生じる可能性があります。 電子署名 vs デジタル署名 簡単に言えば、デジタル署名は、特定の種類の電子署名に関連しています。こ子で言う電子署名は文書やメッセージに電子的に署名する方法を指します。そのため、全てのデジタル署名は電子署名の1形態ですが、電子署名が必ずしもデジタル署名を意味するわけではないです。 こういった電子署名の色んな方法における違いは認証メソッドです。デジタル署名はハッシュ関数、 公開鍵暗号化、暗号化技術のような暗号学のシステムをデプロイしています。 まとめ ハッシュ関数と公開鍵暗号化がデジタル署名システムのコアであり、現代では幅広いユースケースで採用されています。適切に実装されたら、デジタル署名はセキュリティを強化し、整合性を確保し、あらゆる種類のデジタルデータの認証を促進します。 ブロックチェーンにおいては、デジタル署名を使用して、仮想通貨のトランザクションに署名し、承認します。これは特にビットコイン(Bitcoin)では重要です。なぜなら、署名によってそのコインは対応する暗号鍵を保有している個人によって使われたことを保証するからです。 電子署名とデジタル署名の両方を何年も使用していますが、これらの技術にはまだ成長の余地があります。現代の行政において、大きな部分がペーパーワークに基づいていますが、よりデジタル化されたシステムに移行するにつれて、デジタル署名スキームがより採用されていくでしょう。 免責事項 : 本サイトは当ページのいかなるコンテンツや製品も推奨していない。本サイトは世界中他言語グローバルブロックチェーンサイトから引用したすべての重要情報を提供することを目的にしています。読者は上述の内容に関係したあらゆる行動をとる前に独自の調査を行い、自身の決断については全責任を負わねばならない。また、当記事は投資や金融商品購入のアドバイスではない。内容を参考としてご自由にご利用ください。

市場, 技術, 最新記事

デバイスフィンガープリンティング:ユーザーを識別する技術

デバイスフィンガープリンティングとは? コンピューターサイエンスにおいてフィンガープリンティングとは、あらゆるの種類のデジタルデータに対して識別子を作成することです。個別のユーザーや機器を特定するために利用する場合に、その技術をブラウザフィンガープリンティング、またはデバイスフィンガープリンティングと呼びます。 本質的には、スマートフォン、コンピューター、その他のデバイスから情報を集めることです。ユーザーがIPアドレスを隠したり、利用するブラウザを変えた場合でも、情報の収集が可能です。 何年もの間ウェブ解析サービスは、日常的なウェブサイトの利用を追跡したり犯罪行為を発見するために、デバイスやブラウザの情報を収集してきました。現在では手法が進化し、特定のパラメータを収集することができるようになっています。 以前のフィンガープリンティングは、主にコンピューターに特化していました。しかし現在の技術は、ほぼ全ての種類のデバイスを特定できるようになっており、利用規模が拡大しているモバイル環境での活用も増加しています。 仕組みは? 具体的には、デバイスフィンガープリンティングは複数のデータを収集し、ハッシュ関数を利用します。データを収集した後に、個々のデバイスやユーザーに対するIDとして利用するため、ハッシュ値を生成します。 集められた情報は対象のデバイスではなく、1つのデータベースに保存されることが多くなっています。1つのデータだけでは不十分ですが、複数のデータを組み合わせれば個々を識別できます。 デバイスフィンガープリンティングには、受動的な方法と能動的な方法がありますが、目的はどちらもデバイスの情報収集です。たとえ何千というコンピューターが同じOS(オペレーティングシステム)で動いていても、ソフトウェア、ハードウェア、ブラウザ、プラグイン、言語、タイムゾーン、一般的な設定といった情報を組み合わせれば、個々のコンピューターを識別できるようになります。 受動的フィンガープリンティング 名前の通り受動的フィンガープリンティングとは、ユーザーやリモートシステムに働きかけることなく、より発見されづらい方法で情報を収集することです。個々のデバイスから発せられた情報を元にデータを収集するため、受動的フィンガープリンティングは、OSのような特定に有用ではないデータしか取得できない傾向があります。 例えば、インターネットのモデムのようなネットワークデバイスの、ワイヤレスドライバーに関する情報を収集する受動的フィンガープリンティング技術を開発したとします。この場合、個々のデバイスからのアクションを要求せずに、様々な種類のドライバーを調べていくのが受動的デバイスフィンガープリンティングです。基本的にデバイスによって、利用できる通信(アクセスポイント)を探す方法は異なります。そのため、こういったデバイスごとの相違を活用し、ターゲットにするデバイスがどのドライバー使っているかを正確に特定します。 能動的フィンガープリンティング 一方、能動的フィンガープリンティングは、ネットワーク上で能動的にコミュニケーションを行い、ユーザーやデバイスをより特定しやすくなるように働きかけます。ウェブサイトには、ユーザーのデバイスやブラウザに関する情報を収集するために、JavaScriptのコードが使われているものがあります。ウィンドウの大きさ、フォント、プラグイン、言語設定、タイムゾーン、またハードウェアの詳細といった情報です。 キャンバスフィンガープリンティングは能動的手法の好例で、コンピューターとモバイルデバイスの両方に対して使われています。この方法では、HTML5を用いたホームページのキャンバス(グラフィック機能)と通信できるスクリプトをよく利用します。スクリプトは、ユーザー側に表示されているイメージをスクリーンに描くようにキャンバスに指示を出します。そうすると、スクリーンの解像度、フォント、背景色といった情報が記録され、それを利用してユーザーやデバイスを特定する仕組みになっています。 何に利用されているか? デバイスフィンガープリンティングという手法は、広告主がブラウザをまたいで消費者の行動を追跡する時に利用されます。また銀行が、送信されてきたリクエストが信頼するデバイスからのものなのか、以前不正行為に使用されたシステムからのものなのかを見極める時にも使われます。 他には、ウェブサイトで同じアカウントが複数登録されるのを防いだり、検索エンジンが不審な行為を行うデバイスを検出する場合にも使われます。 デバイスフィンガープリンティングは、個人情報の盗難やクレジットカード詐欺の発見・防止に適しています。しかしながら、こういった技術はユーザーのプライバシーを侵害し、使い方によって、特に受動的フィンガープリンティングではデータが収集されていることにユーザーが気づかないことがあります。 課題は? 能動的フィンガープリンティングでは、データの収集にJavaScriptのようなスクリプト言語を利用します。ユーザーはプライバシー保護用のソフトウェアやプラグインを活用し、特定されるのを難しくするためにスクリプト言語の利用を制限しようとします。また追跡や広告をブロックするブラウザの拡張機能を利用することもあるでしょう。 しかし逆に、プライバシーを重視するユーザーの方が特定しやすい場合があります。例えば、特別な設定をして珍しいソフトウェアやプラグインを使えば使うほど、皮肉にも目立ってしまい、識別しやすくなってしまうのです。 また、フィンガープリンティングの効果が、ユーザー側の環境の変化によって限定されてしまうことがあります。頻繁に設定を変更したり、複数の仮想オペレーティングシステムを利用するユーザーに対しては、データの収集が正確に行えない場合があります。 使うブラウザを変えるユーザーに対しても、情報収集がうまくできない可能性がありますが、今ではこの問題を解決するために、ブラウザ対策用のフィンガープリンティング技術が開発されています。 まとめ デバイスフィンガープリンティング技術を利用する方法は複数あり、データを収集して出所を特定できる効果は方法によって大きく異なります。 1つの方法を使う場合も、他の方法を組み合わせて使う場合も、デバイスフィンガープリンティングを利用すれば、行動の追跡やユーザーの特定が効果的に行えます。この強力な技術は、日常的な利用から違法と疑われる行動まで、広範囲に活用することができます。まずは、基本的な仕組みを理解しましょう。 免責事項 : 本サイトは当ページのいかなるコンテンツや製品も推奨していない。本サイトは世界中他言語グローバルブロックチェーンサイトから引用したすべての重要情報を提供することを目的にしています。読者は上述の内容に関係したあらゆる行動をとる前に独自の調査を行い、自身の決断については全責任を負わねばならない。また、当記事は投資や金融商品購入のアドバイスではない。内容を参考としてご自由にご利用ください。

プロジェクト, 市場, 技術, 最新記事

ミンブルウィンブル(Mimblewimble)とは?

ミンブルウィンブル(MW)はトランザクションを構造化して保存する新しい方法を採用したブロックチェーン設計です。Proof of Work (PoW)の新しい実装であるMWはプライバシーを強化し、ネットワークのスケーラビリティを改善します。 ミンブルウィンブル(Mimblewimble)の設計は2016年の中頃に、仮名のTom Elvis Jedusorによって生まれました。確かに、彼はコアのアイデアをシェアしようとしましたが、最初のミンブルウィンブル(Mimblewimble)のドキュメントにはいくつかの疑問点がありました。これ疑問を解消するために、Blockstreamの研究者のAndrew Poelstraがオリジナルのコンセプトを研究し、改善しました。そのすぐ後に、Poelstraは2016年10月にミンブルウィンブル(Mimblewimble)という題名の論文を発表しました。 それ以後、多くの研究者と開発者がMWプロトコルの可能性を研究してきました。そういった人たちの中には、このプロトコルをビットコイン(Bitcoin)に実装するのは技術的には可能なものの、相当困難になると考えています。Poelstraと他の支持者はミンブルウィンブル(Mimblewimble)は最終的にはビットコイン(Bitcoin)のサイドチェーンソリューションとして、ビットコイン(Bitcoin)ネットワークを改善するかもしれないと信じています。 ミンブルウィンブル(Mimblewimble)の機能 ミンブルウィンブル(Mimblewimble)はこれまでのブロックチェーントランザクションのモデルを変えます。これによって、ブロックチェーンが保有する履歴はよりコンパクトになるので、ダウンロード、同期、そして承認がより簡単、かつ早く行えるようになります。 MWブロックチェーンでは、特定可能、もしくは再利用可能なアドレスはなきので、当事者にしかトランザクションデータは見えず、当事者以外の人から見ると、全てのトランザクションはランダムデータのようにしか見えません。 そのため、ミンブルウィンブル(Mimblewimble)ブロックはたくさんのブロックの組み合わせというよりは、大きな1つのトランザクションのような構成になっています。つまり、ブロックの検証と承認は可能ですが、そこからそれぞれのトランザクションについての詳細はわからないようになっています。それぞれのインプットとそれに関連するアウトプットをつなげる方法はありません。 例を出して、説明をしていきます。アリスは5MWコインを彼女の母親から受け取り、さらに父親からも5MWコインを受け取りました。それから、彼女はそれらの10コインをボブに送りました。このトランザクションは承認されますが、詳細は公開されません。ボブがわかることはアリスが彼に10コイン送ったことだけで、アリスが誰からそのコインを受け取ったのかはわかりません。 ミンブルウィンブル(Mimblewimble)ブロックチェーン上でコインを転送するためには、送金者と受取人は検証情報を交換しなければいけません。そのため、アリスとボブがコミュニケーションは必要ですが、トランザクションを実行する時に、同時にオンラインである必要はないです。 また、ミンブルウィンブル(Mimblewimble)はカットスルーと呼ばれる機能も採用しており、この機能は重複するトランザクション情報を取り除くことで、ブロックデータを減らします。そのため、それぞれのインプットとアウトプットを記録する代わりに(アリスの両親からアリスへとアリスからボブへ)、そのブロックは1つのインプットとアウトプットのペアのみを記録します(アリスの両親からボブへ)。 技術的には、ミンブルウィンブル(Mimblewimble)の設計は、2013年にAdam Backが提唱し、Greg MaxwellとPieter Wuilleによって実装された、コンフィデンシャルトランザクション(CT)のコンセプトをサポートし、拡張します。簡単に説明すると、CTはブロックチェーン上での転送量を隠すためのプライバシーツールです。 ミンブルウィンブル(Mimblewimble)vsビットコイン(Bitcoin) ビットコイン(Bitcoin)ブロックチェーンはジェネシスブロックからの全てのトランザクションデータを維持しています。つまり、誰でもトランザクションデータをダウンロードし、トランザクション毎に公開されている履歴を確認することができます。 対照的に、ミンブルウィンブル(Mimblewimble)ブロックチェーンは必要な情報だけを保持しながら、プライバシーを保護します。バリデーターは二重支払いのような不正が行われていないことと循環しているコインの枚数が正確なことを確認します。 これ以外だと、ミンブルウィンブル(Mimblewimble)では、ビットコイン(Bitcoin)にあるトランザクションの構造化方法を定義する指示のリストであるスクリプトシステムがないです。スクリプトをなくすことでMWブロックチェーンのプライバシーとスケーラビリティを強化することができます。アドレスをまったく追跡できないため、よりプライベートであり、ブロックチェーンデータが小さいため、よりスケーラブルです。 つまり、もう1つのビットコイン(Bitcoin)とミンブルウィンブル(Mimblewimble)の主要な違いは、先ほど述べたカットスルー機能と関連する、ブロックチェーンに関係するデータのサイズです。不必要なトランザクションデータを除くことで、ミンブルウィンブル(Mimblewimble)で必要とされる計算リソースはより少なくなります。 アドバンテージ ブロックチェーンサイズ 前述のとおり、ミンブルウィンブル(Mimblewimble)はデータの圧縮を可能にすることで、ブロックチェーン全体のサイズを削減します。ノードはトランザクション履歴をはるかに早く検証でき、必要となるリソースも相当少なくなります。また、新しいノードがMWブロックチェーンをダウンロードして同期するのが簡単です。 ネットワークに参加し、ノードを稼働させるためのコストが削減されることによって、より多様化され、分散化されたコミュニティとなり、それによって多くのPoWブロックチェーンで発生しているマイニングが寡占化する恐れが減ります。 スケーラビリティ 最終的に、ミンブルウィンブル(Mimblewimble)は、ビットコイン(Bitcoin)または別の親チェーンに接続できるサイドチェーンソリューションとして使用される可能性があります。また、MWの設計はライトニングネットワークで使われているようなペイメントチャネルのパフォーマンスを向上させる可能性があります。 プライバシー ビットコイン(Bitcoin)のスクリプティングシステムを取り除き、コンフィデンシャルトランザクションを活用することでより高いレベルのプライバシーを実現することができます。これによって、トランザクションの詳細が他人には見えないようにできます。 さらに、ミンブルウィンブル(Mimblewimble)ブロックチェーンに基づくコインは代替可能と考えられています。代替可能性の特徴として、発行されたコインは他の同じコインと区別がなく、交換可能となっていることです。 限界 トランザクションスループット コンフィデンシャルトランザクションは大幅にトランザクションのスループットを減らします。プライバシー機能がないシステムと比べた時、CTを使っているブロックチェーンはよりプライバシーが保護されますが、TPS(1秒あたりに処理できるトランザクション数)のレートは下がります。それでも、MWのコンパクトなサイズは、コンフィデンシャルトランザクションによるTPSの限界に対応できると言えるかもしれません。 量子耐性がない ミンブルウィンブル(Mimblewimble)システムは現在のコンピュータに比べて計算能力が飛躍的に計算能力が増える量子コンピュータに対する耐性がありません。MWはデジタル署名の比較的単純な機能を使っています。量子コンピュータが実現するのは何十年もかかると言われており、さらにミンブルウィンブル(Mimblewimble)を使った仮想通貨における、量子コンピュータによる攻撃に対する対策は今後研究されていくと思われます。 まとめ ミンブルウィンブル(Mimblewimble)の誕生は、 ブロックチェーンの歴史における顕著なマイルストーンを示しています。カットスルー機能によってMWネットワークはより安価、かつ簡単にスケールするようになります。一方で、MWプロトコルはサイドチェーンやペイメントチャネルとして実装されるかもしれません。MWをそのように実装することによって親チェーンのプライバシーを強化し、さらにスケーラブルにすることができます。 これまで、ライトコイン(Litecoin)チームを含む、いくつかのブロックチェーンプロジェクトがミンブルウィンブル(Mimblewimble)のデザインに取り組んでいます。グリン(Grin)とビーム(Beam)は他の有名なミンブルウィンブル(Mimblewimble)に取り組んでいるプロジェクトです。グリン(Grin)はMWプロトコルの軽量な概念実証に取り組んでいるコミュニティ主導のプロジェクトですが、ビーム(Beam)はスタートアップのようなアプローチを採用しています。確かに、両方のプロジェクトともミンブルウィンブル(Mimblewimble)に基づいていますが、技術的には全く別のもので、それぞれが独自の方法でMWデザインを実装しています。 今のところ、未解決の問題は、ミンブルウィンブル(Mimblewimble)がかなりのレベルの信頼性と普及を実現できるかどうかです。ミンブルウィンブル(Mimblewimble)は刺激的で有望なアイデアですが、非常に若いものでもあります。そのため、潜在的なユースケースはまだ研究中であり、ミンブルウィンブル(Mimblewimble)の将来は依然として不透明です。 免責事項 : 本サイトは当ページのいかなるコンテンツや製品も推奨していない。本サイトは世界中他言語グローバルブロックチェーンサイトから引用したすべての重要情報を提供することを目的にしています。読者は上述の内容に関係したあらゆる行動をとる前に独自の調査を行い、自身の決断については全責任を負わねばならない。また、当記事は投資や金融商品購入のアドバイスではない。内容を参考としてご自由にご利用ください。

技術, 最新記事, 法規・政策

バイナンス(Binance)でのYubikeyの利用方法

Yubikeyとは? Yubikeyはセキュリティキーとして使うことのできる小さな電子デバイスで、様々な認証方法に使うことができます。バイナンス(Binance)では、セキュリティキーはアカウントセキュリティの追加レイヤーを提供し、アカウントへのログイン、資金の引き出し、パスワードのリセットのための二要素認証(2FA)の方法として機能します。セキュリティキーには他にもいくつかの種類はありますが、このガイドではYubikeyを取り上げます。 バイナンス(Binance)でのYubikey設定方法 バイナンス(Binance)アカウントにログインしたら、マウスをプロフィールアイコン(右上の角)に移動させてください。ドロップダウンメニューが開いたら、「Security」をクリックしてください。 次に、「Set up」をクリックして、プロセスを開始してください。   注意を慎重に読み、同意いただける場合は、「Continue anyway」をクリックしてください。 次のページで、Yubikeyを挿入して、アクティベートしてください。そのため、YubikeyをUSBポートに挿入し、ボタンを60秒間タッチしてください。何も反応がなかった場合はもう1度試してみてください。   もしも、以下のようなメッセージが表示された場合は「Allow」をクリックしてください。   そして、Yubikeyのラベル(名前)を設定することができますが、このステップは任意です。ラベルの設定が完了、もしくは設定しない場合は「Verify your account」をクリックしてください。 もしも、Google Authenticationを利用している場合は、アプリに表示されている6桁の数字を記入してください。 次に、メールからYubikeyのセットアップリクエストを有効化してください。 おめでとうございます。これで、あなたのアカウントはYubikeyによって、さらに安全になりました。 アカウントページの「Security」セクションから、セキュリティキーの詳細を確認することができます。 ただし、この認証方法はhttps://www.binance.comでしか利用できません。また、バイナンス(Binance)アプリとモバイルウォレットは現状セキュリティキーをサポートしていません。もしも、アカウントのセキュリティキーをアクティベートした場合、モバイルから引出を行うことができなくなります。 Yubikey認証の取り消し方法 バイナンス(Binance)アカウントにログインしたら、マウスをプロフィールアイコン(右上の角)に移動させてください。ドロップダウンメニューが開いたら、「Security」をクリックしてください。 次に、「Delete」をクリックして、プロセスを開始してください。 セキュリティキーを削除した場合、24時間そのアカウントから資金を引き出すことができなくなるので、ご注意ください。 次に、YubikeyをUSBポートに挿入し、ボタンを60秒間タッチしてください。何も反応がなかった場合はもう1度試してみてください。 このプロセスを完了するために、Google Authenticationのコードを挿入してください。   この時点で、以下の確認メッセージが表示されます。 免責事項 : 本サイトは当ページのいかなるコンテンツや製品も推奨していない。本サイトは世界中他言語グローバルブロックチェーンサイトから引用したすべての重要情報を提供することを目的にしています。読者は上述の内容に関係したあらゆる行動をとる前に独自の調査を行い、自身の決断については全責任を負わねばならない。また、当記事は投資や金融商品購入のアドバイスではない。内容を参考としてご自由にご利用ください。

イベント, プロジェクト, 技術, 最新記事, 法規・政策

スマートコントラクトとは?

はじめに Nick Szabo氏が初めてスマートコントラクトについて説明したのは1990年代のことです。当時、彼はスマートコントラクトを「プロトコルとユーザーインターフェースを組み合わせることで、コンピュータネットワークを形式化し、安全性を確保するツール」と定義していました。 Szabo氏は、クレジットシステム、決済処理、コンテンツ権利管理など、契約を伴うさまざまな分野でスマートコントラクトが活用される可能性について述べました。 仮想通貨の世界では、ブロックチェーン上で動作するアプリケーションやプログラムを、スマートコントラクトと定義することがあります。一般的には、特定のルールによって実施されるデジタルコントラクトとして機能します。これらのルールはコンピュータコードによって事前に定義され、すべてのネットワークノードにより複製され実行されます。 ブロックチェーンスマートコントラクトを使用すると、トラストレスプロトコルの作成が可能になります。つまり、双方の当事者が互いを知らなくても、あるいは信頼していなくても、ブロックチェーンを通じてコミットメントを行うことができるのです。条件が満たされなければ、契約は履行されません。その他、スマートコントラクトを利用することで、仲介者が不要になり、運用コストを大幅に削減することができます。 Bitcoinプロトコルは長年スマートコントラクトをサポートしてきましたが、Ethereumの生みの親でもあり、共同創設者のVitalik Buterin氏によって普及が進みました。ただし、ブロックチェーンごとにスマートコントラクトの実装方法が異なる可能性があるため、注意が必要です。  この記事では、Ethereumブロックチェーンの必須の要素である、Ethereum仮想マシン上で稼働するスマートコントラクトについて説明します。 スマートコントラクトの機能 簡単に言えば、スマートコントラクトは決定論的なプログラムとして機能します。そして、ある一定の条件が満たされたら、特定のタスクを実行します。このように、スマートコントラクトシステムは「if…then…」ステートメントに従います。しかし、使われている単語と違って、スマートコントラクトは法律上の契約でも、スマートでもないです。スマートコントラクトは分散型システム (ブロックチェーン) 上で稼働するコードにすぎません。 Ethereumネットワーク上では、スマートコントラクトはユーザー (アドレス) 間でなんらかの取引を行う際の実行と管理の役割を果たしています。スマートコントラクトではないアドレスは外部所有アカウント (EOA) と呼ばれます。つまり、スマートコントラクトはコンピュータコードによって、EOAはユーザーによってコントロールされています。 基本的に、Ethereumのスマートコントラクトはコントラクトコードと2つの公開鍵からできています。1つ目の公開鍵はコントラクトの作成者によって提供されています。もう1つの公開鍵はコントラクト自体を表し、それぞれのスマートコントラクト独自のデジタルIDとして機能します。 あらゆるスマートコントラクトのデプロイはブロックチェーントランザクションを通じて行われ、EOA (もしくは、他のスマートコントラクト) によって呼び出されたときにのみアクティベートされます。しかしながら、最初のトリガーは必ずEOA (ユーザー) によるものとなります。 主な機能 Ethereumスマートコントラクトには以下のような特徴があります。 分散性: スマートコントラクトはEthereumネットワーク内のすべてのノードで複製され、分散化されます。これは中央集権型サーバベースの他のソリューションとの主要な違いです。 決定論: スマートコントラクトは与えられた要件を満たされた時に、設計された行動だけを行います。また、その結果は何が起きようと、常に同一です。 自動化: スマートコントラクトはあらゆる作業を自動化し、自動執行プログラムのように機能します。そして、条件が満たされない限りは何も行いません。 改ざん耐性: デプロイされた後、スマートコントラクトを変更することはできません。事前にある特定の機能が実装されている場合のみスマートコントラクトを削除することができます。それゆえ、スマートコントラクトは改ざん耐性のあるコードと言われています。 カスタマイズ可能: デプロイする前に、スマートコントラクトはさまざまな方法でコード化することができます。そのため、多種類の分散型アプリケーション (DApps) を作成するために利用することができます。これは、Ethereumがチューリング完全なブロックチェーンであることと関係しています。 トラストレス: 2つ以上もしくはそれ以上の数の当事者が含まれるトランザクションにおいても、スマートコントラクトを使用することで、互いに知らなくてもやり取りすることができます。さらに、ブロックチェーン技術はデータが正確であることを保証します。 透明性: スマートコントラクトはパブリックブロックチェーンに基づいているため、そのソースコードは改ざん不可能なだけでなく、公開されています。 スマートコントラクトの変更や削除 デプロイ後のEthereumスマートコントラクトに新たな機能を追加することは不可能です。しかし、作成者が SELFDESTRUCT と呼ばれる関数をコードに含めると、将来的にスマートコントラクトを「削除」し、新しいものに置き換えることができるようになります。これに対して、関数が事前にコードに含まれていない場合、削除することはできません。 特に、いわゆるアップグレード可能なスマートコントラクトにより、開発者は不変性のあるコントラクトでも、より柔軟に対応することができます。複雑性の程度はさまざまですが、アップグレード可能なスマートコントラクトを作成する方法は多数あります。 単純化した例として、複数のスマートコントラクトに分割されたスマートコントラクトを考えてみましょう。それらの中の一部は変えられないように設計されますが、他のでは「Delete」機能が有効になっています。つまり、他の機能に変更を加えることなく、スマートコントラクトのコードの一部を削除したり、変更したりすることができるようになります。 アドバンテージとユースケース プログラミングできるコードとして、スマートコントラクトは高度にカスタマイズでき、様々な方法で設計することができ、そして多くの種類のサービスやソリューションを提供します。 分散型かつ自動執行プログラムとして、スマートコントラクトはさらなる透明性と運営コストの削減を実現するかもしれません。スマートコントラクトの実装によっては、効率性を向上させ、行政のコストを削減することもできます。 特に、スマートコントラクトは2つ以上もしくはそれ以上の当事者間での資金の移転、もしくは交換が含まれるシチュエーションにおいて便利です。 つまり、スマートコントラクトは、さまざまなユースケースを想定して設計することができるのです。例えば、トークン化された資産、投票システム、仮想通貨ウォレット、分散型取引所、ゲーム、モバイルアプリケーションなどの作成が挙げられます。また、ヘルスケア、チャリティ、サプライチェーン、ガバナンス、分散型金融 (DeFi) の分野に取り組む他のブロックチェーンソリューションと一緒にデプロイすることもできます。 ERC-20 Ethereumブロックチェーン上で発行されるトークンは、ERC-20と呼ばれる規格に準拠しています。この規格は、すべてのEthereumベーストークンのコア機能を記述しています。そのため、これらのデジタル資産はしばしばERC-20トークンと呼ばれ、既存の仮想通貨の大部分を占めています。 多くのブロックチェーン企業やスタートアップ企業は、Ethereumネットワーク上でデジタルトークンを発行するためにスマートコントラクトを導入しています。発行後、これらの企業の大半はイニシャル・コイン・オファリング (ICO)  イベントを通じてERC-20トークンを配布しています。多くの場合、スマートコントラクトを使用することで、トラストレスかつ効率的な方法で、資金のやり取りやトークンの配布が可能になりました。 課題 スマートコントラクトは人が書いたプログラミングコードによって動きます。そのためコードには脆弱性とバグがあるため、多くのリスクをもたらします。理想的には、機密情報や多額の資産を扱うシステムを含むコードを書いたことあるような、経験豊富なプログラマーがコードを書き、デプロイする必要があります。 それ以外にも、スマートコントラクトが提供するソリューションや機能の大半を中央集権型システムが提供できるとする意見もあります。主な相違点は、スマートコントラクトが中央集権型のサーバーではなく、分散型のP2Pネットワーク上で実行されることです。また、ブロックチェーンシステムに基づいているため、不変または変更が非常に困難な傾向があります。 不変であることは、ある状況においては素晴らしいことですが、他の状況においては非常に悪いことです。例えば、2016年に「The DAO」という分散型自律組織 (DAO) がハッキングされたとき、そのスマートコントラクトコードの欠陥により、数百万Ether (ETH) が盗難されました。 そのスマートコントラクトは不変であったため、開発者はコードを修正することが不可能でした。これがやがてハードフォークへとつながり、第2のEthereumチェーンを誕生させることになりました。ようするに、あるチェーンがハッキングを「取り消し」、資金を正当な所有者に資金を返還したのです (これは現在のEthereumブロックチェーンの一部です) 。もう一方のチェーンは、ブロックチェーン上で発生したことは決して変更すべきではないとして、ハッキングに干渉しないことを決定しました (このチェーンは現在、Ethereum Classicと呼ばれています) 。 ただし、重要なこととして、この問題はEthereumブロックチェーンによるものではなかったということです。Ethereumブロックチェーンの欠陥ではなく、スマートコントラクトの実装によって引き起こされました。 スマートコントラクトのもう1つの限界は法的な位置づけがまだ不明瞭であることです。スマートコントラクトが多くの国ではまだグレーゾーンであるだけでなく、既存の法的枠組みに適していないこともその理由です。 例えば、多くの国では契約を行う当事者は互いに18歳以上であることが必要です。ブロックチェーン技術だと仮名で取引ができ、仲介者がいないことと合わせると、こういった要件が満たされない可能性があります。確かに、こういった問題に対するソリューションも考えられてはいますが、スマートコントラクトの法的強制力は、特にボーダーレス、分散型ネットワークにおいては、大きな課題となります。 批判 ブロックチェーンの専門家の中にはスマートコントラクトは現在の商業、そして行政システムの大半を置き換え、自動化させるソリューションと考えている人もいます。確かに、それも可能ですが、実現するのは遥か先のことになるでしょう。 間違いなく、スマートコントラクトは面白い技術です。しかし、分散型で、決定論的で、透明性があり、ある程度不変でことは状況によっては不利となる可能性もあります。 本質的に、スマートコントラクトへの批判は多くの現実の問題にを解決するのに適したソリューションではないことを主張しています。実際、一部の組織は、従来のサーバーベースの代替手段を使用したほうがよいでしょう。 スマートコントラクトと比べた時、中央集権型のサーバーは保守、運用がより簡単かつ、安価で、スピードとクロスネットワーク・コミュニケーション (相互運用性) という観点でははるかに効率的な傾向になります。 まとめ スマートコントラクトが仮想通貨の分野に大きな影響を与え、さらにこの技術がブロックチェーン業界に革新をもたらしていることは疑いがありません。しかし、エンドユーザーは直接スマートコントラクトで直接やり取りすることはできないかもしれませんが、これらは将来、金融サービスからサプライチェーン管理に至るまで、幅広いアプリケーションに活用される可能性があります。 スマートコントラクトとブロックチェーンの組み合わせは、私たちの社会のほぼすべての領域を破壊する可能性を秘めています。しかし、これらの画期的な技術が、大規模な普及を阻む多くの障害を乗り越えられるかどうかは、時間が経ってみなければわかりません。 免責事項 : 本サイトは当ページのいかなるコンテンツや製品も推奨していない。本サイトは世界中他言語グローバルブロックチェーンサイトから引用したすべての重要情報を提供することを目的にしています。読者は上述の内容に関係したあらゆる行動をとる前に独自の調査を行い、自身の決断については全責任を負わねばならない。また、当記事は投資や金融商品購入のアドバイスではない。内容を参考としてご自由にご利用ください。

Scroll to Top