banner
leaf

leaf

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

イーサリアムは5つの主要な部分から成り立っています:

イーサリアムの 5 つの主要部分:#

「イーサリアム 101」基礎編

「イーサリアム 201」より複雑な概念を深く探る

(イーサリアム 301)暗号文脈におけるアイデンティティ認証部分

(イーサリアム 401)分散型金融部分

(イーサリアム 501)イーサリアムの未来に関する部分、特にこの部分では PoS(プルーフ・オブ・ステーク)への移行について探ります(今これがあなたに関係ない場合は、あまり心配しないでください)。

各部分では、多くの複雑な専門用語を説明し、イーサリアムにおける最も重要な概念的テーマを平易な言葉で説明するために多くの実用的な図表を作成しました。また、ガイドの最後には、さらなる学びのための追加資料を添付しました。

イーサリアムを理解する際には、ガイドの異なる部分を対象に迅速に読み進めたり、未来を探るためのインスピレーションのポイントとしてガイドを利用したり、最近暗号分野に興味を持った友人とリンクを共有したりできます。

例えば、Ctrl+F キーを押して「Uniswap」を検索し、分散型取引所についてさらに詳しく学ぶことができます。また、「wallet」(ウォレット)を検索して、非保管型ウォレットのセキュリティについてもっと学ぶこともできます。

イーサリアム共同創設者のヴィタリック・ブテリンが人気のブログ投稿で書いたように、

「時には、わずかな違いのある過度の単純化が、私たちが世界を理解するために必要なものです。」

これらの複雑なトピックを極めてシンプルな内容に凝縮することで、このガイドがすべての人にイーサリアムの世界を理解する手助けになることを願っています。

イーサリアム 101 - 基礎編

イーサリアムを理解する前に、その基本概念を理解する必要があります。

この部分では、ブロックチェーンとは何か、ブロックがどのようにチェーンに追加されるのか、イーサリアムがどのように世界のコンピュータとして機能するのか、そしてスマートコントラクトがどのように動作するのかを説明します。

ブロックチェーン - ブロックチェーンとは、特定のネットワーク内で一連の独立したコンピュータが処理し維持するすべての取引の公開記録です。これらの取引データベースを中央集権的に管理する(Amazon や Facebook が自分のデータを管理する方法のように)代わりに、ブロックチェーン上には単一のデータ所有者が存在せず、これにより分散化が実現されます。このネットワーク内のコンピュータは、すべての取引の記録を保存するために特定の規範とメカニズムに従います。

これらの規範により、コンピュータはネットワーク内で発生するすべての(取引)行為に同意し、またはその合意に達することができます:コンピュータ A がコンピュータ B に資金を送信したか、コンピュータ B がその資金をコンピュータ C に送信したか、そしてそれはいつ行われたのか?先週何が起こったのか?6 ヶ月前には何が起こったのか?

ネットワーク内のコンピュータは独立しているため、コンピュータ D と E(および F と G......)はコンピュータ A、B、または C を知らないかもしれません。ブロックチェーンの一連のルールは、単一のコンピュータが他のコンピュータが提供するデータの正確性を独自に検証する必要なく、ブロックチェーンの歴史における取引に合意することを可能にします。

言い換えれば、コンピュータ同士は互いを信頼することなく合意に達することができます。ネットワーク内のコンピュータ間でのこの非信頼合意メカニズムは、非常に重要です。

ブロックチェーンの数は非常に多く、各チェーンは独自に設定された規範に従って合意に達します。イーサリアムブロックチェーンは、ゲーム、アート、金融、ソーシャルメディアなどのさまざまな分野でクールで新しいアプリケーションにインフラストラクチャサービスと設計スペースを提供することを目指しています。

合意メカニズム - ブロックチェーン上のすべてのコンピュータがネットワーク内で発生した事実に同意することを「合意に達する」と言います。単一のコンピュータはブロックチェーンのルールに基づいて合意に達し、新しい取引をチェーンにパッケージ化するたびに、すべてのコンピュータは合意に達するプロセスを経る必要があります。

これらのコンピュータが合意に達すると、取引ブロックはブロックチェーンにパッケージ化され、ネットワークの歴史の一部となります。

大まかに言えば、コンピュータが新しい取引をチェーンに追加する行為に異議を唱えない場合、それはブロックチェーンの全歴史に同意したことになります。なぜなら、彼らはそのすべての環に参加しなければならないからです。

合意は、ブロックチェーンの世界全体を支える重要な概念です。信頼できないネットワーク内で、上記の取引をどのように検証するかは非常に難しい人間の問題であり、ブロックチェーンはこの問題の最適解です。異なる規範(または「合意メカニズム」)は、個々のコンピュータがブロックチェーン内で合意に達することを促進します。以下に 2 つの主要な合意メカニズムを紹介します:

プルーフ・オブ・ワーク(PoW) - プルーフ・オブ・ワークメカニズムでは、コンピュータ間で競争的に複雑な数学的問題を解決します。ネットワークは、問題を最初に解決したコンピュータに経済的報酬を提供し、これがコンピュータの背後にいる人々を刺激してノードを更新し続ける(言い換えれば、ネットワークが常に取引を処理することを保証します)。

おそらく、あなたはこの計算集約型の数学的問題を解決するプロセスを「マイニング」と呼ぶことを聞いたことがあるでしょう。基本的に、合法と認められた取引は安全にブロックチェーンに追加されます。これはビットコインブロックチェーンおよび現在のイーサリアムブロックチェーンで実施されているルールでもあります。

プルーフ・オブ・ワークメカニズムには欠点もあります。主に以下の 2 点です:

1)最終的には、最も強力(かつ最も高価な)コンピュータが問題をより早く解決できるため、富者はますます富む;

2)コンピュータで高難度の数学的問題を解決するには多くのエネルギーを消費する必要があり、これはブロックチェーン全体で最も批判される点となっています。

プルーフ・オブ・ステーク(PoS) - プルーフ・オブ・ワーク(PoW)のように多くの計算能力を消費して合意に達するのではなく、プルーフ・オブ・ステークメカニズムは、罰のリスク(およびいくつかの経済的インセンティブ)を利用して参加者を制約 / 刺激します。

プルーフ・オブ・ステークメカニズムでは、参加者は資金を準備(技術的には「ステーク」する)し、ランダム選抜プロセスに参加する資格を得ます。ランダムに選ばれたコンピュータは、次の取引のバッチを検証する必要があります。ランダムに選ばれたコンピュータが取引を正しく処理すると(プルーフ・オブ・ステークメカニズムの制限内で)、報酬を得ることができます。

ネットワークによってランダムに選ばれた参加者がプルーフ・オブ・ステークメカニズムの規定に違反した場合、その参加者がステークした資産は減少します(または「没収される」)。

PoS ブロックチェーンは、ネットワーク内のすべてのコンピュータに数学的問題を解決することを同時に要求するのではなく、ランダムに選ばれたコンピュータを通じて取引を検証します。重い計算プロセスを省略することで、PoW メカニズムにおける 2 つの主要な問題を軽減できます。これが、イーサリアムが 2022 年に次世代ブロックチェーンを展開する際にこの合意メカニズムを採用する予定の一因です。

ノード - イーサリアムブロックチェーンの運用のために、ネットワーク内の参加者は特定のソフトウェアを実行し、ブロックチェーンと対話する必要があります。私は、各ノードが独立したコンピュータとしてイーサリアムソフトウェアを実行していると考えています。

同様に、ノード(ネットワーク内の参加者)が多ければ多いほど分散化が進みますが、時にはすべてのノードを維持するのが面倒なこともあります。そのため、異なるノードは異なる目的に応じて使用されます:

フルノード - フルノードは完全なブロックチェーンデータを保存し、ブロックの検証を助けてチェーンにパッケージ化します。このタイプのノードは、過去の取引の有効性を証明する役割も果たします。

ライトノード - ライトノードの機能は、設計上フルノードよりも少ないです。フルノードの完全なブロックチェーンデータを保存する代わりに、ライトノードは過去の取引の証明を少量だけ保存します。このタイプのノードは、より多くの人々がネットワークに参加できるようにし、より少ないデータを保存するため、運用コストが低くなります。

アーカイブノード - アーカイブノードはイーサリアムの世界のプログラムライブラリ / ウィキペディアの辞書です。これらはフルノードのすべてのデータを保存し、さらにはそれ以上のデータを保存します。分析ツールやウォレットプロバイダーは、アーカイブノードを利用してかなり前の情報を引き出すことがあります。

クライアント - これはイーサリアムのソフトウェアで、コンピュータ(ノード)がイーサリアムネットワークと対話できるようにします。単一のノードは、使用したいクライアントソフトウェアを選択できますが、異なるタイプのクライアントを多く使用することは分散化にとって重要です。特定のクライアントにバグや問題が発生した場合に備えてです。

現在、実行クライアントと合意クライアントの 2 種類がありますが、これはガイドの範囲外です。

現在、チェーン上には多くの利用可能なクライアントがあり、最近イーサリアムコミュニティは最大のノード運営機関がその運営ノードのクライアントを多様化することを目指しています。

重要なのは、イーサリアムネットワークの運営に参加したいユーザーは誰でも自分のクライアントを作成できることで、これによりユーザーはブロックチェーンを検証するために第三者に依存する必要がなくなります。

状態 - イーサリアムブロックチェーンの状態は、特定の時点におけるブロックチェーン上のアカウントの残高状況を指します。新しい事象が発生すると(例えば新しい取引ブロックを処理する場合)、状態は更新され、新しい取引がパッケージ化された後のブロックチェーンの状況を正確に反映します。

イーサリアムの状態は、異なるアカウントとその残高に関する情報を保存します。言い換えれば、ブロックチェーンが新しい取引を検証すると、状態も更新され、新しく追加された取引情報を利用して新しいアカウント残高を反映します。

サイドバー - どのようにブロックをブロックチェーンにパッケージ化するのか?

ユーザーはイーサリアムブロックチェーンを使用して他のユーザーに資金を送信したいと思うかもしれません。送信者のユーザーが取引を開始すると、この取引は受信者のユーザーがその資金を受け取る前に、取引チェーンにパッケージ化される必要があります。

このように取引がイーサリアムブロックチェーンにパッケージ化されると、各ノードは取引がパッケージ化されてチェーンの一部になる前に、合意に達するプロセス全体を完了する必要があります。

下の図では、上記の単純な取引、つまり 1 人のユーザーが別のユーザーに資金を送信する様子が示されています。この取引はブロックにパッケージ化され、ノードが合意に達した後にチェーンに追加されるのを待っています。

image

image

出典: Understanding Ethereum

実際、ブロックチェーンはすべてのユーザーがネットワーク内で発生した歴史的取引に合意する方法に過ぎず、ブロックチェーンの状態は新しい取引によってリアルタイムで更新されたアカウント残高です。

image

出典: Understanding the Ethereum Yellow Paper

スマートコントラクト - ある意味で、スマートコントラクトは物理的な世界で使用される従来の契約の電子版に似ています。従来の契約(例えば雇用契約やアパートの賃貸契約)では、2 人以上の契約当事者が一連の条件を設定し、弁護士や司法制度を通じて契約の条件を実行します。

一方、スマートコントラクトでは、2 人以上のユーザーがルールのセットを作成しますが、司法制度を通じて契約を実行するのではなく、プログラムコードとしてスマートコントラクトに書き込まれ、ブロックチェーンに送信されます(またはブロックチェーン上にデプロイされます)。スマートコントラクトは、事前に書かれたコードに基づいて自動的に実行され、弁護士の介入は必要ありません。

上記のサイドバー部分では、ブロックがチェーンにパッケージ化されるプロセスについて説明しました。スマートコントラクトは、ブロック内の取引を通じてチェーンにデプロイされるコードです。将来の取引は「呼び出す」ことができるか、スマートコントラクトと相互作用することができます。

簡単な例を挙げると、ユーザー A はユーザー B とビットコインの価値について 2 年後の賭けをしたいと考えています。ユーザー A は、2032 年 1 月 1 日にビットコインが 100,000 ドルを超えると考え、ユーザー B はビットコインがその価格を下回ると考えています。

そのため、2 人のユーザーはスマートコントラクトを作成し、互いの資金を契約に置き、単純なルールを設定します:もしビットコインが 2032 年 1 月 1 日に 100,000 ドルを超えた場合、スマートコントラクトはその資金をユーザー A に解放し、逆に、スマートコントラクトは資金をユーザー B に送ります。この取引プロセスは非常にシンプルで直接的であり、信頼を必要としません。

スマートコントラクトは、誰でも信頼を必要とせずに世界のコンピュータ上でコードをデプロイできるようにし、また、誰でも信頼を必要とせずにコードの内容を検証できるようにします(彼らがコードを理解できる限り!)

最終的に、スマートコントラクト技術の存在は、去中心化アプリケーションの波に大きな機会をもたらしましたが、ブロックチェーン技術がなければ、これらは実現できませんでした。

ビットコインとイーサリアムの最大の違いは、イーサリアムがスマートコントラクト計算プラットフォームの波を生み出したことです。これらのプラットフォームは、スマートコントラクトコードを記述し、直接チェーンにデプロイすることができます。

イーサリアム財団の研究者ジョン・スタークはスマートコントラクトに関する記事を書いており、この概念についてさらに深く理解したい場合は、この記事を読むことをお勧めします。

イーサ(ETH) - イーサはイーサリアムブロックチェーンを支えるネイティブ通貨です。プルーフ・オブ・ワークメカニズムでは、(マイニング)報酬は数学的問題を解決したコンピュータにイーサで支払われます。また、参加者がプルーフ・オブ・ステークメカニズムでステークする資金もイーサで行われます(32 ETH をステークする必要があります)。

イーサは暗号通貨の名前であり、イーサリアムはネットワークの名前です。

イーサリアム仮想マシン(EVM) - イーサリアム仮想マシンという名前は、「仮想の」コンピュータを指し、これはイーサリアムネットワークに参加するすべての独立した小型コンピュータで構成されています。このような単一の大型コンピュータは、実際には特定の場所に存在する「物理的な」コンピュータではなく、まるで一台の大型コンピュータ(グローバルな)として機能します。

イーサリアムブロックチェーンの状態はこのコンピュータ上でアクティブであり、次のブロックがチェーンにパッケージ化されるとき、状態更新の規範を実行します。イーサリアムネットワーク内のユーザーがスマートコントラクトコードを取引に組み込む場合、そのコードは EVM 上で実行されます。

サイドバー - イーサリアム仮想マシンはどのように機能するのか?

初心者にとっては、EVM の動作の複雑さを理解する必要はないかもしれませんが、これはイーサリアムブロックチェーンの重要な構成要素であり、読者が分散型がどのようにスケールするかを大まかに理解するのに役立ちます。

以下の図は、少し複雑ですが、良く描かれています。ステップに従って見てみましょう:

image

まず、特定の時点におけるイーサリアムブロックチェーンの状態から始まります。左側のボックスは「世界の状態 σ t」と呼ばれます。

取引がチェーンにパッケージ化されると、例えばあるウォレットから別のウォレットにイーサを移動させる場合、図の上部のボックスは「情報呼び出し取引」です。

取引が発生する前のイーサリアムの状態(再度、左側のボックス)と新しい取引(上部のボックス)の入力データが EVM 上で実行されます。ここで、EVM はブロックチェーンの状態を更新します。

EVM が状態を更新すると、新しい状態「World state σ t+1」が保存されます。

トークン - 通常、トークンはブロックチェーン上の資産を指します。トークンは多くの異なるタイプの資産を表すことができます。

例えば、一般的にトークンは通貨として扱える資産、または特定の意思決定プロセスで保有者に投票権を提供する資産(ガバナンストークン)、または他の何かとして完全に機能することができます。トークンは暗号世界において異なる種類の資産の価値を表す原子単位です。

同質トークン(fungible token) - この用語「fungible」は、相互に交換可能な商品や物品を指します。これは暗号原生の用語ではなく、一般的な通貨は同質通貨を指します。

例えば、私のポケットにある 1 ドルは、あなたのポケットにある 1 ドルと交換可能であり、これらの 1 ドルは 1 ドルのものを購入するために使用できます。これらは等価です。交換可能性が暗号概念に適用される場合、それは同じ集合内の他の暗号資産と交換可能かどうかを指します。私のイーサとあなたのイーサは交換可能です。

非同質トークン(NFTs) - 非同質トークンは、その独自の存在により交換不可能なデジタル資産を指します。

NFT は主にデジタルアートやデジタルコレクションのために注目を集めていますが、それだけに留まらず、あらゆる独自のデジタル資産として機能することができます。

デジタルアートやデジタルコレクションは、NFT の最初のユースケースの 1 つであり、広く一般の共鳴を引き起こしました。このトークンは多くの人々の暗号界への興味を引き起こしましたが、私は、Bored Ape や NBATopShot のような NFT プロジェクトの台頭が、イーサリアムブロックチェーンのような信頼できる決済レイヤー上に独自のデジタル資産をデプロイすることによる他の側面の効用を過小評価させたと考えています。

概念的には、NFT は多くのデジタルコレクション以外の他のユースケースにも適用できます。特定のデジタル資産の所有権とその希少性の有効性を検証する必要がある場合、公共ブロックチェーン上の NFT が役立ちます。

例えば、コンサート会場は NFT を使用してチケットを代替したり、ビデオゲームのデザイナーはゲーム内で入手が難しい資産を NFT に変換し、ユーザー間で転送または取引できるようにすることができます。

この概念は新しいアイデアを生むこともできます:ある資産は同質的でありながら非同質的でもあり得ます。これは、それらと比較される集合によって異なります。例えば、私は 19 世紀の 1 ドルの古いコインを持っていて、それをガラスの瓶に保管しています。明らかに、この 1 ドル(非同質的!)は、ポケットに押し込まれた新しい 1 ドル紙幣とは全く異なります。

しかし、もし私がガラスの瓶から 1 ドルを取り出してスターバックスで使った場合、彼らは(おそらく)それを受け入れてくれるでしょう。これは、ある程度の意味で、それは他の 1 ドル紙幣と交換可能であるからです。とはいえ、他の観点から見ると、それらは全く異なるものです。

image

出典: Graphical Guide to Understanding Uniswap

イーサリアム 201 - さらに深く理解する

この部分では、ガスコストが高い理由、コンポーザビリティがどのように機能するか、ユーザーがイーサリアム上に構築されたアプリケーションとどのように相互作用するかを説明します。

燃料(Gas) - イーサリアムブロックチェーンとの各インタラクションはコスト(ガス)を消費し、このコストはイーサリアム仮想マシンが特定のコードを実行するのに必要な計算能力に依存します。

ブロックチェーン上の各ブロックのスペースは固定された数の取引しか収容できないため、ガスの概念はイーサリアムが希少なブロックスペースリソースを配分するのに役立ちます。

複雑な取引ほど、完了するために支払う必要があるガスが多くなる可能性があります。例えば、あるウォレットから別のウォレットにイーサを送信する場合、仮想マシン上で数行のコードを実行するだけで済むため、必要なガスは、分散型取引所でトークンを交換するような計算集約型のインタラクションに必要なガスよりも少なくなります(詳細は下の分散型金融部分を参照してください)。

ガスは、中央集権的なクレジットカード会社がサービス手数料を請求するのに似たものと考えることができます。

例えば、1950 年代から運営されている Visa は、Visa ネットワークを使用するすべての取引に固定の 3%の手数料を請求します。

対照的に、イーサリアムの「手数料」は固定されておらず、取引時のネットワークの需給状況に基づいて変動します。ガス料金は、イーサリアムブロックチェーンの運営に参加するコンピュータに支払われます(詳細は下を参照してください)。

ガスは ETH で計算され、ユーザーは取引時間を短縮し、取引が次のブロックにパッケージ化される確率を高めるために、より多くのガスを支払うことを選択できます(コンピュータにチップを支払うことで)。

Gwei - 技術的には、ガスの価格は wei で表され、ETH の最小単位です。1wei は 0.000000000000000001 ETH(10 (18) wei、つまり 1 ETH を表すのに 5 つのコンマが必要です)、1gwei は 1,000,000,000 wei ですので、ガス価格を比較する際には、gwei で ETH を計算する方が便利です。

ユーザーはガス価格を gwei 単位で表すことに慣れています。例えば、0.0001 ETH は 1 gwei であり、このガス料金は非常に低いです。ユーザーは Gas.Watch を使用してリアルタイムのガス価格を監視できます。ガスは、ブロックチェーンにパッケージ化される取引の需要に応じて上下に変動します。

発音は gwey であるべきですが、goo-ee と読む人もいるのを聞いたことがあります。ですので、私は他の人にその発音を尋ねるのがあまり得意ではありません。

サイドバー - なぜガスが必要で、どのように適用されるのか?

ブロックチェーン取引を検証するコンピュータは、経済的にインセンティブを与える必要があります。これらのインセンティブが提供されなければ、彼らを説得してコンピュータとブロックチェーンを運営させることは難しく、もしチェーン上に十分なコンピュータが存在しなければ、ブロックチェーンは過度に中央集権化され、数人のユーザーによって制御されることになります。

上記のように、ネットワーク参加者に支払われるガスは、ブロックチェーンにパッケージ化される取引の需要に応じて変動します。

image

出典: Understanding Ethereum

Solidity - Solidity は、ユーザーがイーサリアムブロックチェーン上でスマートコントラクトを記述し、分散型アプリケーションを作成するためのプログラミング言語です。

重要なのは、Solidity がチューリング完全なプログラミング言語であることです。これは基本的に「あなたがコードに書けるものは何でも Solidity で書ける」ということを意味します。これにより、開発者は Solidity を使用してイーサリアム上で多くのクールなものを開発できます。

コンポーザビリティ - スマートコントラクトがオープンソースコードとしてイーサリアム上にデプロイされているため、誰でもこれらのスマートコントラクトに基づいて構築(または「フォーク」して自分で変更)することができます。これは、イーサリアム(および他の類似のブロックチェーン)上のアプリケーションがコンポーザブルであることを示しています。

コンポーザビリティは、ブロックチェーンの API のように考えることができます。理論的には、数世代前の開発者は他の技術基盤に基づいてアプリケーションを作成できましたが、暗号のコンポーザビリティは他の分野とは異なり、すべての基盤プロトコルが分散化されている点にあります。

言い換えれば、開発者は、特定の中央集権的なエンティティがすべての基盤データを掌握し、突然プラットフォームのルールを変更したり、開発者のアクセスを制限したりすることを心配する必要がありません。これは、2018 年に Twitter API に基づいてアプリケーションを構築した開発者が直面した状況のようにです。

サイドバー - コンポーザビリティのケースは何ですか?実際にはどのように適用されるのか?

コンポーザビリティは、開発者が公共ブロックチェーン上に構築され、デプロイされた他のアプリケーションを利用して新しいアプリケーションを作成できることを指します。

例えば、Compound は DeFi アプリケーションとして、ユーザーが預金を通じて利益を得ることができる高利の貯蓄口座のようなものです。仮に、あるプロジェクト(例えば Argent 暗号ウォレット)の開発者が Compound を彼らが構築したアプリケーションに組み込みたい場合、彼らはシステムを再構築することなく、Compound を簡単に統合できます。これがコンポーザビリティです。

image

出典: Understanding Ethereum

イーサリアム改善提案(EIP) - イーサリアムのようなブロックチェーンは本質的に公開されており、分散化され、オープンソースであるため、その開発者コミュニティがプロトコルを変更する方法は、中央集権的なエンティティが意思決定を行う方法とは大きく異なります。現代のオープンソースコミュニティ(Linux や Python の活発なコミュニティなど)とイーサリアムの開発プロセスはより似ています。

イーサリアムコミュニティは、コミュニティメンバーがイーサリアムプロトコルに改善提案を行う方法を概説するプロセスを策定しました。これらのプロセスには、議論のための公共フォーラムを提供し、コミュニティのオープンソースへの参加を奨励することが含まれます。これは、イーサリアムブロックチェーンにとって特に重要です。なぜなら、これは分散型ブロックチェーンであり、世界中に分布したコミュニティがその監視と改善を行うことに依存しているからです。

提案は、ブロックチェーンが従うコアルールに関連することもあれば(例えば、いつ合意に達するか)、イーサリアムのコアコンポーネントに標準化されたバージョンを提案することもあります(非同質トークンやウォレットなど、下記で詳述します)。ユーザーがイーサリアムのコンポーザビリティを利用し、特定の標準化された規範に基づいてアプリケーションを構築する際、コードが期待通りに動作することは明らかです。

イーサリアム注釈リクエスト(ERC) - ERC は EIP の一種であり、具体的には ERC は「アプリケーションレベルの標準と協定」を記述する EIP です。

この種の EIP は、イーサリアム上で最も重要で知名度の高い使用例の契約標準のテンプレートであるため、ここで言及する価値があります。開発者はイーサリアム上で構築する際に、これらの契約標準を使用して時間と労力を節約でき、ゼロから始める必要はありません。いくつかの広く知られている ERC は以下の通りです:

ERC-20:これは同質トークンの一種のトークン標準です。

ERC-721:これは非同質トークンの一種のトークン標準です。

ERC-1155:これは一部の ERC-20 および ERC-721 を最適化したトークン標準であり、一般的にはフラグメント化された非同質トークンに使用されます。

サイドバー - なぜ非同質トークンを分解(または代替可能にする)必要があるのか?

フラグメント化された NFT という概念は一見矛盾しているように思えますが、いくつかの異なるユースケースがあります。

最も良い解釈は、高価なアート作品(例えば、Beeple の NFT が 6900 万ドルで売却されたり、モナリザの名画など)を普通の人が購入するのは難しいということです。高価な NFT をフラグメント化することで、消費者は(価値のある非同質的な)トークンの一部を保有する機会を得ることができます。

画像 出典: Algorand

注意すべきは、大多数の分解された NFT のフラグメント間には代替可能性があるため、あるユーザーが持っているモナリザの顔のフラグメントは、手のフラグメントや背景のフラグメントと相互に排他的ではないということです(つまり、フラグメント間は等価です)。

これらの異なる部分のフラグメントは実際には代替不可能です(顔のフラグメントよりも背景のフラグメントを安く購入したいと思うかもしれません)。現実には、ユーザーは全体のアート作品の小さな代替可能なフラグメントしか持たないでしょう。

フラグメント化された NFT はお金の問題だけではありません。NFT は独自のデジタル資産を表しているため、NFT のフラグメント化は所有権、アイデンティティ、コミュニティの概念をも含んでいます。

テストネット - テストネットはブロックチェーンのコピーであり、開発者が自由に開発し、コードが「メインネット」ブロックチェーン上でどのように動作するかをテストすることができます。

開発者がブロックチェーン上にスマートコントラクトをデプロイすると、いくつかのスマートコントラクトはもはや使用されなくなりますが、ブロックチェーンが活発である限り、これらのコードは可視化されます。

この永続性とスマートコントラクトが大きな資金と相互作用する可能性があるため、開発者はテストネットでテストを行い、コードが期待通りに動作することを確認したいと考えます。

イーサリアムのケースでは、開発者が実際の資産をリスクにさらすことなくコードをテストできるように、Rinkby、Ropsten、Kovan などの多くのテストネットがあります。テストネットは暗号ソフトウェア開発者の開発実践環境です。

ファ aucet - ファ aucet は開発者に「虚偽の」ETH を配布し、テストネットでスマートコントラクトをテストできるようにします。

開発者はスマートコントラクトをデプロイし、それと相互作用するために ETH が必要ですが、メインネットの ETH とは異なり、テストネットのテストコインには実際の経済的価値はありません。ファ aucet は開発者が ETH テストコインを取得する簡単な手段です。

あなたが開発者で、イーサリアム上にスマートコントラクトをデプロイする準備をしていると仮定します。あなたの手元にあるスマートコントラクトは資金を処理するもので、分散型取引所に似たものかもしれません(下の分散型金融部分で詳述します)。

まず、テストネットでスマートコントラクトをテストしたいと思います。コードが期待通りに動作することを確認するためです。スマートコントラクトを実行するには、テストネットの ETH が必要です。

ただし、テストネットはイーサリアムブロックチェーンのコピーに過ぎないため、テストネット上の ETH は本質的に「虚偽の」ものであり、これらのトークンはメインネットの ETH に交換することはできません。

読者がイーサを使用してコントラクトをテストし、その実際の動作を観察したい場合、ファ aucet はユーザーが ETH を取得し、テストネットで自由に使用 / 浪費できるようにします。

オラクル - 必要に応じて、オラクルはブロックチェーンと外部システムを接続するために使用されます。時には、イーサリアム上に構築されたアプリケーションが、非イーサリアムネットワークで保護された外部データストリームと相互作用することを望むことがあります。一部のデータは、今日の天気やバスケットボールの試合のスコアのように、オフチェーンから取得する必要があります。

したがって、オラクルは「現実世界」へのインターフェースです。

作物保険のために、オラクルはフロリダ州のオレンジ農場近くの天気を確認したり、分散型スポーツベッティングアプリのスコアを検証したりするために使用されることがあります。オラクルには潜在的な信頼のリスクがあります(なぜなら、ブロックチェーンを構成するコンピュータネットワークはフロリダの天気を本当に検証できないからです)が、これらのオラクルを必要とするアプリケーションには、良いソリューションがあります。

オラクルプロバイダー(Chainlink など)は、オラクルが攻撃を受けにくいようにするためのシステムを構築しています(ただし、単一のオラクルは依然としてブロックチェーン上の攻撃に対する脆弱性です)。

読者は考えてみてください:オラクルシステム(複数のオラクルで構成される)に合意メカニズムを構築することができます。攻撃の可能性があるため(オフチェーンデータは常に何らかの方法で操作される可能性があります)、それでも 9/16 のオラクルがオラクルネットワークの情報に合意する必要があります。あるいは、類似のメカニズムです。

メモリプール - 取引がユーザーによって提出されたが、まだ検証されておらず、チェーンにパッケージ化されていない場合、この待機中の取引はメモリプールと呼ばれる待機エリアに送信されます。

取引を処理する前に、ネットワーク内のコンピュータノードは取引の有効性を検証します。例えば、アカウントが取引を送信する際に、アカウント内の有効な資金を超える支出を行う可能性があるか、プライベートキーと送信者のウォレット(詳細は下のウォレットとアイデンティティ認証の部分を参照)に関連する公開鍵が一致しない可能性があります。ネットワーク内のコンピュータがこれらの潜在的なリスクを検証している間、待機中の取引はメモリプールで待機します。

技術的には、ネットワーク内の各参加者には独自のメモリプールがありますが、初心者の読者が理解しやすくするために、メモリプールをすべてのブロックチェーン取引の待機エリアとして考えることができます。

通常、取引はメモリプールで数秒から数分待機します。これは需要によって異なります(下でスケーラビリティについてさらに議論します)。

イーサリアム上の待機中の取引は、データプロバイダー(例えば Etherscan)で確認できます。

サイドバー - ユーザーとアプリケーションはどのようにイーサリアムと相互作用するのか?

ユーザーはほとんどの場合、Chrome などのブラウザを通じてウェブアプリケーションを使用します。これらのウェブアプリケーションは、特定のライブラリ(web3.js や ethers.js など)を使用して構築されており、これによりウェブアプリケーションはブロックチェーンノードと直接相互作用できます。

image

出典: Understanding Ethereum

開発者が構築したアプリケーションは、ノードがクライアントソフトウェアを実行することでイーサリアムと相互作用します。以下の例では、実行されているクライアントは Geth であり、これはイーサリアムブロックチェーンと相互作用するためのコマンドラインインターフェースです。

Infura のような「ノード・アズ・ア・サービス」プロバイダーもあり、これにより開発者はサービスプロバイダーが制御するノードと簡単に相互作用できます。これは、開発者が AWS を使用してサーバースペースにアクセスするプロセスに似ています。次に、これらのノードはイーサリアム上でスマートコントラクトや個々のアカウント残高と相互作用します。

これは、現在の他のソフトウェア製品の「バックエンド」と「フロントエンド」とは大きく異なります。左下の図では、ユーザーがどのように従来のウェブアプリケーションに接続するかを見ることができます。

この図の隣には、イーサリアムに基づくアプリケーションのアーキテクチャの例があります。両者は非常に似ています!違いは、イーサリアムが暗号アプリケーションにサービスを提供するバックエンドインフラストラクチャとして機能するため、グローバル化、許可不要、検閲耐性の特性を持つことです。

image

出典: The Architecture of a Web3.0 Application

イーサリアム 301 - ウォレットとアイデンティティ

設計上、ブロックチェーンはユーザーが資産を自己保管できるようにしますが、ウォレットの役割はユーザーに自己保管の権利を与えるだけでなく、暗号世界におけるユーザーの自己表現でもあります。

この部分では、DAO とアイデンティティの関係、そしてユーザーがウォレットのセキュリティをどのように確保するかについて説明します。

ウォレット - あなたの資産を暗号ウォレットに保管することは、現金を物理的な財布に保管することに似ています。しかし、これらの暗号ウォレットは、あなたとあなたの行動を表す情報も保存しています。例えば、あなたが相互作用したアプリケーションや、そのウォレットを使用して行った取引などです。

覚えておくべきことは、設計上、ブロックチェーン取引は公開されており透明であるため、イーサリアム上でウォレットを使用して何かを行うとき、あなたのウォレットはこれらの取引に関する追跡可能で公開されたデータを管理しているということです。

これらの追跡可能なデータは、web3 における「自分のデータを持つ」という理念を強調しています。あなたの資産、取引履歴、分散型アプリケーションとの相互作用データは、あなたのウォレットと共に移動します。また、物理的な財布とは異なり、多くの暗号ユーザーは異なる目的のために複数の暗号ウォレットを使用します。

ここで、ウォレットの概念を完全に説明するために他の定義を理解する必要があります:

公開鍵 - これは長いコードの行で、ウォレットの外部アドレスを表します。公開鍵はあなたの家庭の住所のようなもので、このアドレスはユニークであり、秘密ではありません(公共記録など)。このアドレスは家庭(またはこの場合、あなたのアカウント)に対応しています。

あなたは、手紙や贈り物を送るために友人とあなたの住所を共有するかもしれませんが、誰かが地元政府の財産記録であなたの家庭の住所を見ても問題ありません。誰かがあなたの公開鍵を見ても問題ありません。

秘密鍵 - 一方、秘密鍵はウォレットのパスワードであり、他の人に秘密鍵を知られてはいけません。秘密鍵は特定のウォレットの公開鍵に対応しているため、誰かが秘密鍵を手に入れた場合、彼らはウォレットに完全にアクセスできます。

秘密鍵は家の鍵のようなもので、誰かがあなたの家の住所を知っていることを気にしないかもしれませんが、もし彼らがあなたの家の鍵を持っていたら、あなたは必ず不安になります。

再度強調しますが、誰かが秘密鍵を手に入れると、そのウォレットにアクセスできるようになります。秘密鍵を誰にも教えないでください。また、他の人が見つけられる場所に保存しないでください。

サイドバー - 公開鍵と秘密鍵の原理は?

公開鍵と秘密鍵の背後にあるメカニズムは非常に重要な基礎知識です。基本的に、公開鍵と秘密鍵は、暗号化とアイデンティティを検証するための方法であり、これを秘密鍵暗号学と呼びます。

公開鍵は外部に公開されています。ユーザーが友人のウォレットに取引を開始する際(友人の公開鍵を使用して)、これは取引にロックをかけることになります。ユーザーの友人が実際に受信者ウォレットの秘密鍵を持っている場合にのみ、そのロックを解除できます。取引は可視化されています(なぜなら、それはパブリックチェーン上に存在するからです)が、特定の秘密鍵(秘密鍵に対応する資産を持つウォレット)がない限り、これらの資産を「解除」することはできません。

あなたがイーサリアム上でプロジェクトを構築する開発者であろうと、単なるユーザーであろうと、公開鍵と秘密鍵の違いを理解することは非常に重要です。誤って(または「間違って」)公開鍵と秘密鍵を使用すると、深刻な資金の結果を引き起こす可能性があります。また、これは中央集権的なウェブサイトのパスワードを忘れるのとは異なり、アプリケーションの開発者はユーザーが鍵を復元するのを助けることができません。

ますます多くのユーザーが暗号ウォレットを作成し、ブロックチェーン上で取引を行うにつれて、この取引モデルはより標準化されるでしょう。同時に、学習曲線に注意し、他のユーザーに説明する手助けをすることも重要です。

image

出典: How to Generate Public and Private Keys

ニーモニックフレーズ - 一組のニーモニックフレーズ(通常は 12 から 24 のランダムな単語)は、ウォレットの緊急時の最終的な復元ツールです。これは秘密鍵と同様に保護される必要があります。なぜなら、ニーモニックフレーズを失ったり、見つけられる場所に保存したりすると、ウォレットのすべてが露呈してしまうからです。

ユーザーはニーモニックフレーズを適切に保存し、その安全性と機密性を確保する必要があります。

ウォレットアプリの開発者はニーモニックフレーズにアクセスできないため、読者が自分の鍵やニーモニックフレーズを失った場合、あなたのウォレットは復元できなくなります。秘密鍵を失っただけであれば、ニーモニックフレーズを使用してウォレットを復元できます。

ホスティングウォレット - この種のウォレットは、ホスティングプロバイダー(ウォレット資金を管理する中央集権的なエンティティ)が管理します。例えば、通常の Coinbase アカウントはホスティングウォレットです。これらのホスティングプロバイダーは、ユーザーがホスティングウォレットを使用する場合、秘密鍵を自分で保管する必要がないように、ウォレット内の基本資産を管理します。これにより、ユーザーにより中央集権的でスムーズなユーザー体験を提供します。

このユーザー体験には、暗号原生のアイデンティティ認証メカニズムは通常含まれていません。例えば、ユーザーは Google のメールアドレスとパスワードを使用して Coinbase アカウントにログインできます。

ホスティングウォレットは、暗号の旅を始める良い方法であり、現金資産を暗号通貨に交換する実用的な方法でもあります。一方で、これらのホスティングプロバイダーは中央集権的な機関によって保有および管理されているため、データ所有権、情報フローの制御、潜在的な規制要件など、去中心化が解決しようとする問題を引き起こします。

暗号界にはホスティングウォレットに関する流行の言葉があります - 「鍵がなければ、コインもない」。

Coinbase の CEO ブライアン・アームストロングも、ホスティングウォレットの重要性について言及したことがあります。なぜなら、ホスティングウォレットの提供者は政府の規制を受けるリスクがあるからです。完全に分散化された方法で資産と取引を管理することを好むユーザーにとって、非ホスティングウォレットはより良い選択です。

非ホスティングウォレット - この種のウォレットの管理者はただ...... あなたです!ソフトウェアプロバイダー(MetaMask、Argent、Rainbow など)は、ユーザーが自分のウォレットにアクセスできるソフトウェアを提供しますが、主にウォレット資産はプロバイダーではなくチェーン上に保存されます。

したがって、MetaMask ウォレットで何かが起こってアクセスできなくなった場合、ユーザーは Rainbow ウォレットに移動し、彼らのウォレットをインポートして(MetaMask の許可なしに)自分の資産を操作することができます。

非ホスティングハードウェアウォレットもあり、秘密鍵は物理デバイスに直接保存されます(通常は USB のように見える小さな金属の物体です)。

非ホスティングウォレットの使用は、公開鍵、秘密鍵、ニーモニックフレーズを管理する負担を伴いますが、このウォレットはユーザーに自治権(資産を直接保有すること)とイーサリアムの世界への唯一のアイデンティティを提供します。

イーサリアムアプリはユーザーに「イーサリアムでログインする」(Sign in with Ethereum, SIWE)ことを許可します。これにより、非ホスティングウォレットはユーザーのアイデンティティを表し、これらのウォレットはアイデンティティ、資格、所有権に関する新しい考え方を暗号界に拡張します。

ソーシャルリカバリウォレット - これは一部の非ホスティングウォレットプロバイダーによってサポートされるウォレットリカバリ戦略です。

このウォレットはニーモニックフレーズを必要とせず(ユーザーがニーモニックフレーズを失ったことがあるため)、ユーザーは自分のソーシャルネットワーク内の他の人に委任して、ウォレットがそれに対応する人に一致するかどうかを検証できます。ソーシャルリカバリウォレットを使用することで、ユーザーは自分のソーシャルサークルの信頼ネットワークを非ホスティングウォレットのバックアップとして利用でき、同時に非ホスティングウォレットの自己保管 / 去中心化 / シングルサインオンの利点を保持できます。

Argent はソーシャルリカバリウォレットの一例です。

サイドバー - ユーザーはウォレットの使用セキュリティにどのように注意すべきか?

このセクションでは、すべてのウォレットセキュリティに関する必要な情報を 1 つの図にまとめることは現実的ではないため、図を使用するつもりはありません。暗号界において、ウォレットのセキュリティは非常に重要であり、資金管理のベストプラクティスを探求するために時間を費やす価値があります。

@Punk6529 は、ウォレットを安全に使用するために注意すべきすべての情報をカバーした素晴らしい Twitter の長文を公開しました。

ヴィタリックは、ソーシャルリカバリウォレットの重要性について大規模な章を書いています(ここをクリックして日本語版を読む)。ここには、ハードウェアウォレットプロバイダー Ledger からのウォレットセキュリティに関するさらなる情報があります。

ここに @Punk6529 の長いツイートのいくつかのハイライトがありますが、私は読者が自分で Twitter でこのツイートを読むことを強くお勧めします:

「公開鍵とは異なり、秘密鍵を他の誰にも絶対に教えないでください。誰かがあなたの秘密鍵を取得したら、それは終わりです。」

「アドレス / 公開鍵:あなたのメールアドレス(共有可能)

秘密鍵:受信箱のパスワード(絶対に共有しない)

ウォレット:秘密鍵を保存する

ニーモニックフレーズ:秘密鍵のリカバリシステム(絶対に共有しない)

パスワード(オプション):新しいウォレットを作成するための追加のパスワード(絶対に失わない)

セキュリティと弾力性は相反する目標です:秘密鍵をチラシに印刷する行為は非常に弾力的ですが、あなたの NFT は消えてしまいます(秘密鍵が漏洩した場合)。秘密鍵を破壊することでセキュリティの問題を簡単に解決できますが、その結果、あなた自身も自分の NFT にアクセスできなくなります。セキュリティと弾力性のバランスを取ることは芸術です。

イーサリアムドメインサービス(ENS) - イーサリアムドメインサービスは、イーサリアムブロックチェーンのために生まれたオープンソースのドメインシステムであり、ある意味で従来のウェブサイトのドメインプロバイダーに似ています。

ENS はイーサリアム上のアドレスを人間が読める名前にマッピングします。これにより、私は「brunny.eth」のようなアドレスを使用でき、長い公開鍵の代わりに使用できます:0xF67cAEbBbE7b630d137d2901637C02899ED3211b。

読者は、自分の暗号ウォレット(ホスティングまたは非ホスティング)で直接試してみることができます:少量の ETH を送信する小額取引を作成し、私の公開鍵を使用するのではなく、「brunny.eth」を受取人として使用します。このサービスは「brunny.eth」と対応するウォレットアドレスをマッチングします。

全体として、公共財としての ENS ドメインは、イーサリアムエコシステム内のアイデンティティにとって非常に重要であり、それゆえに彼らは独自のバージョンのドメインシステムを持つに値します。

分散型自律組織(DAOs) - DAO は暗号原生の組織形式です。これは、暗号原生のルールに基づいて自己管理および組織化される会社、非営利団体、社会団体、または他のあらゆるタイプの組織である可能性があります。

ここでの暗号原生のルールは、コミュニティの所有権、透明性、分散化などの概念を指します。注目すべきは、分散化にはスペクトルがあり、単純に分かれているわけではないということです。

従来の企業が実体を持って組織構造を中央集権的に管理するのとは異なり、DAO は中央集権的なエンティティなしで意思決定を行う暗号原生プロジェクトとビジネスの運営のために設計されています。これにより、プロジェクトのコミュニティ所有権を追求します。

多くの DAO の別のビジョンは、完全な分散化と民主化の実現です。つまり、DAO のさまざまな意思決定は、主要な参加者によって民主的に投票されます。

DAO は、チェーン上のアプリケーションレベルの製品の変動に対して投票するだけでなく、報酬とインセンティブシステムの参加者の役割を果たすこともできます。

一部の DAO は、実際に自律的なレベルに非常に近いです。ある意味で、自動実行されるスマートコントラクトコードが DAO の多くの機能を実行しています。

この分野の一例は、DeFi 内の DAO です。この DAO のコアバリューは、DeFi 内の特定の目的のためにサービスを提供するスマートコントラクトの分散型メンテナンスです。ほとんどの DAO は分散化の方向に徐々に進化しており、その多くは銀行口座のグループチャットに似ており、真の意味での自律組織ではありません。

DAO は、許可のないブロックチェーン、非ホスティングウォレット、アイデンティティ認証ツール(ENS など)、およびエコシステム参加者の共有意志など、さまざまな事物の社会的副産物です。

DAO は、専用のセクションで詳述する価値があります(さらにはガイド全体を使って!)。私の個人的な見解では、暗号界で参加する DAO はデジタル原生アイデンティティを再定義する鍵であるため、この章で「アイデンティティ」と一緒に DAO について話すことは非常に意味があります。

  1. 1. 狭義 DAC

前述の DAC は比較的広い概念です。しかし、厳密な意味での DAC は、完全に分散化されている必要があります。これは、中央集権的なサーバーに依存せず、中央集権的な中央リーダーシップ機関に依存せず、さらには中央集権的なドメインにも依存しないことを意味します。

狭義 DAC では、まず全体のシステムと行動規範は完全に公開されている必要があります。もしそれがソフトウェアやネットワークシステムの形で現れる場合、完全にオープンソースである必要があります。参加する各ノードは、システムの運用のすべての詳細、すべてのコード行を理解する権利を持っています。

次に、中央集権的な役割を果たすサーバーは、その計算とストレージ機能を分散化し、分散型のアプローチを通じて、計算能力とストレージ能力を公平でオープンな原則に基づいて、システムに参加する各ノードに展開する必要があります。各ノードは、全体のシステムの計算とストレージ運算に参加でき、自身の能力に応じてサービスを提供し、システム全体はノードの貢献能力に応じて相応の報酬を提供します。この報酬は、システムの株式の報酬である可能性が高いです。システムに応じて、通常、このノードがシステムにサービスを提供する行為をマイニング(Mining)と呼び、マイニング行為を提供するノードをマイナー(Miner)と呼びます。

  1. 1. 狭義 DAC

前述の DAC は比較的広い概念です。しかし、厳密な意味での DAC は、完全に分散化されている必要があります。これは、中央集権的なサーバーに依存せず、中央集権的な中央リーダーシップ機関に依存せず、さらには中央集権的なドメインにも依存しないことを意味します。

狭義 DAC では、まず全体のシステムと行動規範は完全に公開されている必要があります。もしそれがソフトウェアやネットワークシステムの形で現れる場合、完全にオープンソースである必要があります。参加する各ノードは、システムの運用のすべての詳細、すべてのコード行を理解する権利を持っています。

次に、中央集権的な役割を果たすサーバーは、その計算とストレージ機能を分散化し、分散型のアプローチを通じて、計算能力とストレージ能力を公平でオープンな原則に基づいて、システムに参加する各ノードに展開する必要があります。各ノードは、全体のシステムの計算とストレージ運算に参加でき、自身の能力に応じてサービスを提供し、システム全体はノードの貢献能力に応じて相応の報酬を提供します。この報酬は、システムの株式の報酬である可能性が高いです。システムに応じて、通常、このノードがシステムにサービスを提供する行為をマイニング(Mining)と呼び、マイニング行為を提供するノードをマイナー(Miner)と呼びます。

そして、システム全体の開発者とリーダーは、システム内での位置が他の参加者(ノード)と平等であり、特権を持っていない必要があります。プロジェクトのリーダーや開発者は、システムに参加する他の人々と単に役割が異なるだけであり、コミュニティ内の疑問に応じる必要があります。そして、51%を超えるノードがその行動に反対した場合、彼らは解任され、新しいリーダーが選出されることができます。残りの人々はこれらの決定に従うか、自主的に DAC を離れる必要があります。理論的には、DAC に大きな対立が生じ、双方の意見が調和しない場合、2 つの DAC に分裂して独立して発展することができます。

厳密な意味での DAC では、システム全体に中央集権的な重要な事物(ドメイン、著作権、企業資産など)が存在してはなりません。つまり、これらのものはシステムの特定の人または一部の人に属することはできず、もしそうであれば、分散化されなければなりません。もしそれを分散化できないのであれば、放棄しなければなりません。

狭義 DAC が厳しいと感じる人もいるかもしれませんが、完全に分散化できない場合、全体のプロセスにおける人為的要因を最小限に抑えることはできません。Bitcoin や BitShares のようなものは、狭義 DAC の概念に適合しています。

  1. 1. 広義 DAC

広い範囲

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