banner
leaf

leaf

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

Vitalik Buterinのウェブサイトブログ解読

2016 年 12 月 29 日これは「郵便」の一面の鏡ですhttps://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51

イーサリアム(およびビットコイン、NXT、Bitshares など)などのシステムは、全く新しい暗号経済の有機体です —— 完全にネットワーク空間に存在する非中央集権的で無管轄の実体であり、暗号学、経済学、社会的合意の結合によって維持されています。それらは BitTorrent に似ていますが、BitTorrent とは異なります。なぜなら、BitTorrent には状態の概念がないからです —— この違いは極めて重要です。彼らは時々分権自治会社と表現されますが、彼らは完全に会社ではありません —— あなたはマイクロソフトをハードフォークすることはできません。彼らはオープンソースソフトウェアプロジェクトに似ていますが、完全にそうではありません —— あなたはブロックチェーンを派生させることができますが、OpenOffice を派生させるほど簡単ではありません。

これらの暗号経済ネットワークにはさまざまなスタイルがあります ——ASIC ベースの PoW、GPU ベースの PoW、ナイーブ PoS、委任 PoS、そしてすぐに Casper PoS になることが期待されています —— 各スタイルは避けられないことに独自の基本理念を持っています。よく知られた例は、プルーフ・オブ・ワークの最大主義的な見解であり、ここで「正しい」ブロックチェーン、単数は、マイナーが最大量の経済資本を燃焼させて作成したチェーンとして定義されます。このメカニズムは最初はプロトコル内の分岐選択ルールに過ぎませんでしたが、多くのケースで神聖な原則に昇格されました ——私とクリス・デロスの Twitter での議論を参照してください。例えば、誰かがハッシュアルゴリズムがプロトコルを変更するハードフォークに直面しても、この考えを純粋な形で擁護しようと真剣に試みています。'Bitshares'委任プルーフ・オブ・ステークは、すべてが単一の原則から派生する一貫した哲学を提案していますが、この原則はより簡単に説明できます:株主投票

それぞれの哲学;中本聡の合意、社会的合意、株主投票の合意は、それぞれ独自の結論を導き出し、価値体系を形成しますが、その視点から見ると、この価値体系は非常に理にかなっています —— ただし、相互比較すると、確実に批判を受けるでしょう。カスパー合意にも哲学的基盤がありますが、これまでのところ簡潔に表現されていません。

私自身、Vlad、Dominic、Jae、そして他の人々は、なぜステークプロトコルの証明が存在し、どのように設計されるべきかについて独自の見解を持っていますが、ここでは私の個人的な見解を説明するつもりです。

私は観察結果と結論を直接列挙します。

  • 暗号学は 21 世紀において特別です。なぜなら、暗号学は敵対的な対立が防御者に非常に有利に働く数少ない領域の一つだからです。城は建設するよりも破壊する方がはるかに簡単で、島は防御できますが、攻撃される可能性もありますが、一般人の ECC キーは国家レベルの行為者に対しても十分に安全です。サイファーパンク哲学は根本的に、この貴重な非対称性を利用して、個人の自主権をより良く保護する世界を創造することです。そして、暗号経済学はある意味でこの哲学の延長であり、今回は単に個人情報の完全性と機密性を保護するだけでなく、複雑な調整と協力システムの安全性と活性を保護します。サイバーパンク精神のイデオロギーの継承者であると考えるシステムは、この基本的な特性を維持すべきであり、それを破壊または損なうことは、それを使用し維持することよりもはるかに高価です。

  • “サイバーパンク精神” は理想主義だけではありません;防御を構築する方が攻撃するよりも簡単なシステムを作ることも合理的なエンジニアリングです。

  • 中長期的なスケールで、人類は非常に一貫性があります。たとえ敵が無限のハッシュ能力を持ち、主要なブロックチェーンに対して 51%攻撃を仕掛け、先月の歴史を復元したとしても、コミュニティを説得してこのチェーンが合法であると認めさせることは、単にメインチェーンのハッシュ能力を超えるよりもはるかに困難です。彼らはブロックエクスプローラー、コミュニティ内の信頼できるメンバー、ニューヨークタイムズ、archive.org、そしてインターネット上の多くの他の情報源を覆す必要があります;要するに、世界に新しい攻撃チェーンが 21 世紀の情報技術集約型の最初の出現であると信じさせることは、アメリカの月面着陸が決して起こらなかったと信じさせることと同じくらい困難です。長期的には、これらの社会的要因が最終的にどのブロックチェーンも保護します、ブロックチェーンコミュニティがこれを認めるかどうかにかかわらず(注意してくださいビットコインコアが確かに認めている社会層のこの優位性)。

  • しかし、社会的合意だけで保護されたブロックチェーンは効率が低く、速度が遅く、分岐が無限に続くことを容易にします(困難ではありますが、それは起こりました);したがって、経済的合意は短期的に活性と安全性の特性を保護する上で極めて重要な役割を果たします。

  • プルーフ・オブ・ワークの証明は集団報酬からしか得られません(ドミニク・ウィリアムズの言葉を借りれば、3 つの e のうち 2 つが欠けています)、マイナーへのインセンティブは、彼らが将来の大規模報酬を失うリスクからしか得られません。プルーフ・オブ・ワークは、巨額の報酬のインセンティブの下で巨大な権力が存在するという論理に基づかなければなりません。PoW 攻撃から回復することは非常に困難です:最初に発生したとき、あなたは PoW を変更するためにハードフォークを行うことができます。これにより攻撃者の ASIC は無用になりますが、2 回目にはその選択肢はなくなり、攻撃者は何度も攻撃を仕掛けることができます。したがって、マイニングネットワークの規模は非常に大きくなければならず、攻撃が想像できないものでなければなりません。ネットワークが毎日 X を費やし続けることで、X 未満の攻撃者の出現を防ぎます。私はこの論理を拒否します。なぜなら、それは木を殺すからであり、(ii) それはサイバーパンク精神を実現できないからです —— 攻撃コストと防御コストの比率は 1:1 であり、防御側に優位性はありません

  • ステークの証明はこの対称性を打破します。なぜなら、それは安全な報酬に依存せず、罰則に依存するからです。検証者は資金(「デポジット」)を危険にさらし、資本をロックし、ノードを維持し、私の鍵を安全に保つために追加の予防措置を講じることでわずかな報酬を得ますが、取引を回復するためのコストの大部分は、彼らが同時に得る報酬の数百倍または数千倍の罰金から来ます。したがって、ステークの証明の「一文の哲学」は「安全は燃焼するエネルギーから来る」ではなく、「安全は経済的損失の価値を提示することから来る」です。あなたが証明できるなら、悪意のあるノードが共謀して交換機に $X のプロトコル内損失を支払わせようとしない限り、同等の終了レベルのブロックまたは状態は実現できません。したがって、与えられたブロックまたは状態は $X の安全性を持っています。

  • 理論的には、過半数の検証者が利益チェーンの証明を乗っ取り、悪意のある行動を開始する可能性があります。しかし、(I) 巧妙なプロトコル設計によって、彼らがこの操作を通じて追加の利益を得る能力はできるだけ制限され、さらに重要なのは (ii) 彼らが新しい検証者の参加を妨げたり、51%攻撃を実行しようとした場合、コミュニティは単にハードフォークを調整して違反した検証者のデポジットを削除できます。成功した攻撃は 5000 万ドルかかるかもしれませんが、結果を清算するプロセスはそれよりも重くはありません2016 年 11 月 25 日の geth/parity の合意失敗。2 日後、ブロックチェーンとコミュニティは再び軌道に戻り、攻撃者は 5000 万ドルを失い、コミュニティの他の人々は攻撃によってトークンの価値が上昇することによってより豊かになるかもしれません。それはあなたにとって攻撃 / 防御の非対称性です。

  • 上記の内容は、計画外のハードフォークが頻繁に発生することを意味するものではありません;必要であれば、単一の51%攻撃はステーク証明に対して高いコストの永続的な51%攻撃として設定できますし、攻撃の純粋なコストと無効性は、実際にはほとんど試みられないことを保証するはずです。

  • 経済学はすべてではありません。個々の行為者はプロトコル外の動機によって動かされる可能性があり、彼らはハッキングされるかもしれませんし、誘拐されるかもしれませんし、単に酔っ払ってブロックチェーンを破壊することを決定するかもしれません、コストはどうでもいいことです。さらに良い面から見ると、個人の道徳的抑制とコミュニケーションの非効率性は、攻撃のコストをプロトコルが規定する名目上の損失値をはるかに超えるレベルに引き上げることがよくあります。これは私たちが依存できない利点ですが、同時に私たちが不必要に放棄すべきではない利点でもあります。

  • したがって、最良のプロトコルは、さまざまなモデルと仮定の下でうまく機能するプロトコルです— 選択の経済的合理性、個人選択の経済的合理性、単純なフォールトトレランス、ビザンチンフォールトトレランス(理想的には適応型と非適応型の敵の変種)、Ariely/Kahneman に触発された行動経済学モデル(「私たちは皆少し欺いています」)理想的には、他のモデルは現実的に実行可能です。重要なのは、2 層の防御を持つことです:経済的インセンティブが集中したカルテルが反社会的行動を取るのを防ぎ、反集中インセンティブが最初からカルテルの形成を防ぎます。

  • できるだけ早く機能する合意プロトコルにはリスクがあり、扱う場合は非常に注意が必要です。なぜなら、可能性が非常に早く…インセンティブに関連している場合、この組み合わせは非常に高いレベルの、システム的リスクを引き起こすネットワークレベルの集中化を報酬します(例えば、すべての検証者が同じホスティングプロバイダーから運営されている)。合意プロトコルは、検証者がメッセージを送信する速度にはあまり関心がなく、特定の許容可能な長い間隔内(例えば 4-8 秒、イーサリアムの遅延は通常約 500 ミリ秒から 1 秒であることが経験的に知られています)にメッセージを送信する限り、これらの懸念はありません。可能な中間的立場は、非常に迅速に機能するプロトコルを作成することですが、イーサリアムの叔父メカニズムのようなメカニズムが、ノードが特定の容易に達成可能な点を超えてネットワーク接続度を増加させることを保証することです。

ここから先、もちろん多くの詳細があり、詳細において多くの方法で意見が分かれる可能性がありますが、上記は少なくとも私のカスパーのバージョンに基づく核心原則です。ここから、私たちは競合する価値観の間のトレードオフについて議論することができます。私たちは ETH に 1%の年発行率を与え、5000 万ドルの強制的な救済ハードフォークコストを得るのか、それとも ETH にゼロの年発行率を与え、500 万ドルの強制的な救済ハードフォークコストを得るのか?経済モデルの下で、私たちはいつプロトコルの安全性を高めて、フォールトトレランスモデルの下でその安全性を低下させるのか?私たちは予測可能な安全レベルを重視するのか、それとも予測可能な発行レベルを重視するのか?これらは別の投稿の問題であり、これらの価値の間の実行の異なるトレードオフはさらに多くの投稿の問題です。しかし、私たちはそれについて話すでしょう。

ハードフォーク、ソフトフォーク、デフォルトと強制#

中国語の翻訳は以下の通りです:

新しい合意ルールが発表された後、アップグレードされていないノードは新しい合意ルールの下で不正なブロックを生成し、一時的な分岐が生じます。

したがって、簡単に理解すると、ソフトフォークは実際には一時的であり、アップグレードされていないノードが最新の状態に再アップグレードされる限り、最新のチェーンの状態に戻る可能性があります。ソフトフォークが発生したチェーンでは、アップグレードされていないノードはアップグレードされたノードが生成したブロックを検証でき、アップグレードされたノードもアップグレードされていないノードが生成したブロックを検証できます。私たちの画像で説明しましょう。

image

ソフトフォークの特徴:

1. より良い互換性があり、以前のバージョンの機能をアップグレードせずに使用できます。

2. ブロックチェーン内に分岐のないチェーンがあり、上の図のように新しいブロックと古いブロックの違いだけです。

3. 長期間アップグレードを許可し、新旧のブロックが共存します。

2)ハードフォーク

ここでもビットコイン公式サイトの英語の説明を引用します:

ブロックチェーン内の永久的な分岐であり、通常はアップグレードされていないノードがアップグレードされたノードが生成したブロックを検証できない場合に発生します。

中国語の翻訳は以下の通りです:

ブロックチェーンが永久的な分岐を起こし、新しい合意ルールが発表された後、アップグレードされていないノードがアップグレードされたノードが生成したブロックを検証できない場合、通常ハードフォークが発生します。

つまり、ハードフォークは永久的な分岐であり、一度分岐すると元の分岐に戻ることはできません。ブロックチェーンのバージョンが更新され、アップグレードされていないノードはアップグレードされたノードが生成したブロックを検証することを拒否し、アップグレードされたノードはアップグレードされていないノードが生成したブロックを検証でき、新旧のノードがそれぞれ自分のバージョンのブロックを生成し続けることで、異なる 2 つのチェーンが形成されます。言わば、道が異なれば相互に協力できません。私たちが意見が合わない場合、古いノードは新しいノードを受け入れず、私たちはそれぞれの道を進むことになります。同様に、再び画像を使って説明します。

特徴:

1. 互換性がなく、以前のバージョンと互換性がなく、アップグレードを強調します。

2. ブロックチェーン内に 2 つのチェーンが分かれています。上の図のように。

3. 一定の時間内に全員がアップグレードに同意する必要があり、同意しない場合は古いチェーンに入ります。

二、なぜハードフォークが発生するのか
ソフトフォークまたはハードフォークが発生する理由は、個人的な理解では、主にいくつかの問題に対してさまざまな提案がされるためですが、それぞれが自分の提案が良いと考え、意見が一致しないために、互いに譲らず、それぞれが自分の提案を進めることになり、この分岐が生じます。例えば、スケーリングの問題に対して、さまざまな提案がされました。

元のビットコインシステムでは、1 ブロックの容量が 1M と規定され、1 ブロックの確認時間は 10 分であり、つまり、各ブロックは毎秒約 7 件の取引を処理できる能力があります。この処理能力は実際には低すぎて、簡単に詰まる可能性があり、最終的には崩壊します。そこで、誰かがブロックの拡張を提案しました。2M に変更する、20M に変更する、無限容量に変更するなど。誰の意見を聞くのか、決定できないので、それぞれが自分のバージョンを進めるしかありません。

比較的広く知られているハードフォークは ETC と ETH です。これは 2016 年 7 月に、イーサリアム開発チームがイーサリアムソフトウェアコードを修正し、192000 ブロックで、The DAO(分散型自律組織)およびその子 DAO のすべての資金を特定の返金契約アドレスに強制的に移動させ、ハッカーが制御していた DAO 契約のイーサを取り戻しました。その後、2 つのチェーンが形成されました。一つは ETC(元のチェーン)、もう一つは ETH(フォークチェーン)です。

ブロックチェーン分野の重要な議論は、ハードフォークとソフトフォークのどちらが優先されるプロトコルのアップグレードメカニズムであるかということです。両者の基本的な違いは、ソフトフォークがプロトコルのルールを厳密に復元する有効なトランザクションセットを変更し、したがって古いルールに従うノードが新しいチェーンに入ることができる(大多数のマイナー / 検証者がフォークを実装したと仮定)一方で、ハードフォークは以前は無効だったトランザクションとブロックを有効にすることを許可し、したがってクライアントはハードフォークチェーンに留まるためにクライアントをアップグレードする必要があります。ハードフォークには 2 つのサブタイプがあります:厳密な拡張ハードフォークであり、これは有効なトランザクションセットを厳密に拡張するため、古いルールに対して新しいルールは実質的にソフトフォークであり、双方向のハードフォークであり、これらの 2 つのルールセットは双方向で互換性がありません。

ここにベン図があり、分岐のタイプを示しています:

これらの 2 つの利点は通常次のように挙げられます。

  • ハードフォークは、プロトコルのアップグレードを行う際に開発者により大きな柔軟性を許可します。なぜなら、彼らは新しいルールが「古いルールに適合する」ことを確保する必要がないからです。

  • ソフトフォークはユーザーにとってより便利です。なぜなら、ユーザーはアップグレードせずにチェーンに留まることができるからです。

  • ソフトフォークはチェーンの断裂を引き起こす可能性が低いです。

  • ソフトフォークは実際にはマイナー / 検証者からの同意だけを必要とします(なぜなら、たとえユーザーが古いルールを使用し続けても、チェーンを構成するノードが新しいルールを使用している場合、いかなる場合でも新しいルールの下で有効なものだけがチェーンに入るからです);ハードフォークは選択的にユーザーの同意を必要とします。

それに加えて、ハードフォークに対する主要な批判は、ハードフォークが「強制的」であるということです。ここで暗示されている強制は肉体的な強制ではありません;むしろ、これはネットワーク効果による強制です。つまり、ネットワークがルールを A から B に変更した場合、たとえあなたが個人的に A を好んでいても、他の大多数のユーザーが B を好み、B に切り替えた場合、あなたは B に切り替えなければなりません。たとえあなたがこの変更に個人的に反対していても、他の人と同じネットワーク上に留まるために。

ハードフォークの支持者はしばしば、ネットワークを「悪意を持って乗っ取る」ことを試みており、ユーザーに従わせることを「強制」していると嘲笑されます。さらに、チェーンの断裂のリスクは、ハードフォークを「不安全」と見なすためにしばしば使用されます。

私の個人的な見解は、これらの批判は誤りであり、多くのケースでは完全に逆行しているということです。この見解は、イーサリアム、ビットコイン、または他のどのブロックチェーンにも特有のものではありません;それはこれらのシステムの一般的な性質から生じ、どのシステムにも適用されます。さらに、以下の議論は、少なくとも 1 つのグループ(マイナー / 検証者とユーザー)の大部分がこれらの変更に反対している場合にのみ適用されます;変更が無争議であれば、フォークの形式に関係なく、通常は安全に実行できます。

まず、強制の問題について議論しましょう。ハードフォークとソフトフォークはどちらも、いくつかのユーザーが好まない方法でプロトコルを変更します;いかなるプロトコル変更が 100%の支持を得られない場合、それはそうなります。さらに、ほぼ避けられないのは、少なくともいくつかの異なる意見を持つ人々が、常に大多数のネットワーク効果を維持することを重視し、自分自身のプロトコルルールの好みよりも重視することです。したがって、ネットワーク効果の観点から見ると、両方のフォークは強制的です。

しかし、ハードフォークとソフトフォークには本質的な違いがあります:ハードフォークは選択的であり、ソフトフォークはユーザーに「選択」を許可しません。ユーザーがハードフォークチェーンに参加するためには、フォークルールを実装したソフトウェアパッケージを自分でインストールする必要があり、ルール変更に同意しないユーザー群は、ネットワーク効果を重視するよりも強く、単に古いチェーンに留まることができます —— 実際、そうしたイベントはすでに発生しています

厳密な拡張ハードフォークでも双方向ハードフォークでも同様です。しかし、ソフトフォークの場合、フォークが成功すれば、未偽造のチェーンは存在しません。したがって、ソフトフォークは制度的に明らかに強制的であり、分裂よりも強制的であり、ハードフォークは逆の傾向を持っています。私自身の道徳的見解は、強制よりも分裂を好む傾向がありますが、他の人は異なる意見を持つかもしれません(最も一般的な議論は、ネットワーク効果が本当に重要であり、「1 枚のコインがすべてを支配する」ことが重要であるということですが、より穏やかなバージョンも存在します)。

もし私が推測するなら、これらの議論にもかかわらず、ソフトフォークがハードフォークよりも「強制的でない」と宣伝されることが多いのは、ソフトフォークがユーザーにソフトウェアの更新をインストールすることを「強制」するように感じられるからです。一方、ソフトフォークを使用する場合、ユーザーは何も「しなければならない」ことはありません。しかし、この直感は誤りです:重要なのは、個々のユーザーが「ダウンロード」ボタンをクリックするという単純な官僚的ステップを実行する必要があるかどうかではなく、ユーザーがプロトコルルールの変更を受け入れることを強制されるかどうかです。彼らが望まない場合。この基準に基づけば、上記のように、両方のフォークは最終的に強制的であり、ハードフォークはユーザーの自由を保護する上でより良い結果を示します。


さて、特にマイナー / 検証者の好みとユーザーの好みが対立するフォークについて見てみましょう。ここには 3 つのケースがあります:(1)双方向ハードフォーク、(2)厳密な拡張ハードフォーク、(3)いわゆる「ユーザーアクティベーションソフトフォーク」(UASF)。第 4 のカテゴリーは、ユーザーの同意なしにマイナーアクティベーションソフトフォークです *;これについては後で話します。

最初に、双方向ハードフォークです。最良のケースでは、状況は非常にシンプルです。この 2 つのコインは市場で取引され、トレーダーが両者の相対的な価値を決定します。ETC/ETH のケースから、私たちは、彼ら自身のイデオロギー的見解に関係なく、マイナーが単に価格比率に基づいてハッシュを配分し、利益を最大化する可能性が非常に高いという圧倒的な証拠を持っています。

image

たとえ一部のマイナーがイデオロギー的に片方に傾いていることを認めても、価格比率と購買力比率の間の不一致をアービトラージするために十分な数のマイナーが存在する可能性が高く、両者を一致させるでしょう。もしマイナーのカルテルが一つのチェーンで採掘しないことを試みた場合、彼らには裏切るための過剰な動機があります。

ここには 2 つの極端なケースがあります。最初の可能性は、非効率的な難易度調整アルゴリズムのために、コインを採掘する価値が低下し、価格が下がるが、難易度がそれを補うために下がらないため、採掘が非常に利益を生まなくなり、マイナーが赤字で採掘することを望まなくなり、難易度がバランスを回復するまでチェーンを前進させ続けることになります。イーサリアムはそうではありませんが、ビットコインはそうである可能性がありますそうです。したがって、少数民族チェーンは永遠に立ち上がらない可能性が高く、死にます。規範的な問題これは本当に良いことなのかは、強制と分裂の見解によって異なります;私が上で書いたことから想像できるように、私は個人的にこの少数民族チェーンの敵対的な難易度調整アルゴリズムは良くないと考えています。

2 番目の限界ケースは、ギャップが非常に大きい場合、大きなチェーンが小さなチェーンに対して 51%攻撃を仕掛けることができるということです。たとえ ETH/ETC が 10:1 の比率で分割された場合でも、この状況は発生しませんでした;したがって、これは必然的ではありません。しかし、支配的なチェーンのマイナーが分離を強制することを好み、これらの価値観に従って行動する場合、これは常に可能性があります。


次に、厳密な拡張ハードフォークを見てみましょう。SEHF には、フォークルールの下で、非フォークチェーンが有効であるという属性があります。したがって、フォークチェーンの価格が非フォークチェーンよりも低い場合、そのハッシュパワーは非フォークチェーンよりも低くなるため、非フォークチェーンは最終的に元のクライアントとフォーククライアントのルールを通じて最長のチェーンとして受け入れられます —— したがって、フォークのチェーンは「消滅する」ことになります。

このようなフォークが成功することには強い内在的な偏見があるという見解があります。なぜなら、フォークチェーンが消滅する可能性が価格に組み込まれ、価格を押し下げ、消滅する可能性を高めるからです... この議論は私にとって非常に強力に思えるので、これはいかなる論争のあるハードフォークを双方向ではなく厳密に拡張する良い理由です。

ビットコインの無限開発者は、次のようにこの問題を解決することを提案しました手動で双方向ハードフォークを作成するが、より良い選択肢は双方向性を内在化することです;たとえば、ビットコインの場合、いくつかの未使用のオペコードを禁止するルールを追加し、そのオペコードを含むトランザクションを非フォークチェーンで行うことで、フォークルールの下で非フォークチェーンは無効と見なされることになります。イーサリアムの例では、状態計算がどのように機能するかに関するさまざまな詳細により、ほぼすべてのハードフォークは自動的に双方向になります。他のチェーンは、その構造に応じて異なる属性を持つ可能性があります。


上記で言及した最後のフォークは、ユーザーアクティベーションソフトフォークです。UASF では、ユーザーがソフトフォークルールを開き、マイナーからの合意を得ることなく行います;経済的利益の観点から、マイナーは参加する可能性があります。多くのユーザーが UASF に同意しない場合、ハードコインの分裂が発生し、厳密な拡張ハードフォークと同じシナリオが生じます。ただし —— これはこの概念の本当に賢い部分であり、迂回的な部分です ——同じ「消滅のリスク」が厳密な拡張ハードフォークのフォークチェーンに対して強く不利であり、UASF のフォークチェーンに対して強く有利です。たとえ UASF が選択的であっても、それは成功を偏らせるために経済的不対称性を利用します(ただし、この偏りは絶対的ではありません;UASF が絶対に人気がない場合、成功せず、単にチェーンの分裂を引き起こすだけです)。

しかし、UASF は危険なゲームです。たとえば、あるプロジェクトの開発者が UASF パッチを作成し、以前はすべてのトランザクションを受け入れていた未使用のオペコードを、いくつかの非常にクールな新機能に合致するトランザクションのルールに変換しようとした場合、これは政治的または技術的に論争の的であり、マイナーが好まない場合です。マイナーは賢く狡猾な反撃方法を持っています:彼らは一方的にマイナーアクティベーションソフトフォークを実装し、そのソフトフォークで作成された特性のトランザクションは常に失敗するようにします

現在、私たちは 3 つのルールセットを持っています:

  1. オペコード X は常に有効な元のルールです。

  2. オペコード X は、トランザクションの残りの部分が新しいルールに合致する場合にのみ有効です。

  3. オペコード X は常に無効です。

注意

(2)は(1)に対するソフトフォークであり、(3)は(2)に対するソフトフォークです。

現在、(3)には強力な経済的圧力が支持されているため、ソフトフォークはその目標を達成できません。

結論は次のようになります。ソフトフォークは危険なゲームであり、論争がある場合、マイナーが反撃を開始すると、さらに危険になります。厳密な拡張ハードフォークも危険なゲームです。マイナーアクティベーションソフトフォークは強制的です;ユーザーアクティベーションソフトフォークはそれほど強制的ではありませんが、経済的圧力のために依然としてかなり強制的であり、またそれらにも危険があります。もしあなたが本当に論争のある変更を行いたいのであれば、そしてその高い社会的コストを支払う価値があると決定したのであれば、クリーンな双方向ハードフォークを行い、適切なリプレイ保護を追加するために少し時間をかけ、市場に解決させることが最善です。

2017 年 3 月 14 日

問題の特定

では、良いトークン販売メカニズムとは何でしょうか?一つの始め方は、現在の販売モデルが受けている批判を観察し、人気のある特徴のリストを見つけることです。

これを一緒にやってみましょう。いくつかの固有の特徴には以下が含まれます:

image

1、** 評価の確実性:** もしあなたが販売プロジェクトに参加するなら、少なくとも評価の上限がいくらであるか(または、あなたが得られるトークンの最高の割合)を確定する必要があります。

2、** 参加度の確実性:** もしあなたがこのような販売プロジェクトに参加したいなら、成功を得る意図を持たなければなりません。

3、** 資金調達の上限:** 貪欲に対する批判を避けるため(または規制の関心のリスクを排除するために)、販売は資金調達の上限を制限しなければなりません。

4、** 中央銀行なし:** トークン販売の発起者は、過剰な量のトークンを保有してはならず、市場を支配することを避けなければなりません。

5、** 効率:** 販売は経済的な非効率や無駄な損失を引き起こしてはなりません。

合理的に聞こえますか?

さて、以下はそれほど面白くない内容です。

1、(1)と(2)は同時に満たすことはできません。

2、少なくとも何の巧妙な手段も取れない場合、(3)、(4)および(5)は同時に満たすことはできません。

これらは「第 1 のトークン販売のジレンマ」と「第 2 のトークン販売の三難困難」と呼ぶことができます。

第 1 のジレンマの証明は非常に簡単です:あなたが販売中にユーザーに確定的な 1 億ドルの評価を提供したと仮定します。今、ユーザーが 1.01 億ドルを投入したいと仮定します。少なくとも一部の人は失敗します。単純な供給と需要の関係が第 2 の三難困難を証明できます。項目(4)を満たす場合、あなたはすべてまたは固定割合の総トークンを販売しなければならず、したがって、あなたが販売する評価は、あなたが販売する価格に比例します。項目(3)を満たす場合、あなたは価格に上限を設定します。しかし、あなたが販売する数量に対応する均衡価格があなたが設定した価格上限を超える可能性があるため、供給不足の状況を避けることはできません:(i)繁盛しているレストランで 4 時間待つデジタル化された同等物;(ii)転売のデジタル化された同等物、大量の無駄な損失、そして(5)との対立。

第 1 のジレンマは克服できません;評価と参加度の確実性は避けられず、可能な場合は評価の確実性を選ぶ方が参加度の確実性を選ぶよりも良いです。私たちが得られる最も近い結果は、全面的な参加を犠牲にして部分的な参加を保証することです。これは比例的な払い戻しによって実現できます(例えば、1 億ドルの評価で 1.01 億ドルのトークンを購入し、全員が 1%の払い戻しを受け取る)。私たちはこのメカニズムが上限のない販売であると考えることもできます。ここで部分的な支払いはロックされた資金の形で提示され、消費されるのではなく;ただし、この観点から見ると、ロックされた資金の要件が効率の損失であることは確定的であり、したがってこのメカニズムは(5)を満たすことができません。もしイーサリアムの株が適切に分配されていない場合、富裕層の株主に偏る可能性があり、公正性を損なうことになります。

第 2 のジレンマは克服するのが難しいです。これを克服するための多くの試みは失敗するか、予測できない悪い結果をもたらす可能性があります。例えば、Bancor トークン販売は、購入取引のガソリン価格を 50 エントロピー(通常のガソリン価格の約 12 倍)に制限することを検討しました。しかし、これは買い手の最適戦略が多数のアカウントを設定し、各アカウントから取引を送信し、契約をトリガーし、購入することを意味します(買い手が自分の期待を超えて購入しないように、資金要件を減らすために)。買い手が設定するアカウントが多いほど、彼らが購入する可能性が高くなります。したがって、均衡状態では、これはイーサリアムブロックチェーンの混雑を悪化させる可能性があり、BAT タイプの販売を超える可能性があります;このような販売の単一の取引手数料は少なくとも 6600 ドルであり、ネットワークが拒否サービス攻撃を受けることになります。そして、いかなるタイプのオンチェーン取引競争も公平性を深刻に損なうことになります。なぜなら、競争に参加するコストは不変であり、報酬はあなたの資金量に依存するため、結果は富裕層の株主に不均衡に有利になるからです。

次のステップ

あなたができる賢明なことは 3 つあります。まず、Gnosis のように逆オランダ式オークションを行うことですが、調整を加えます:未販売のトークンを保持せず、公共の利益のために使用します。簡単な例には:(i)エアドロップ(イーサリアム保有者に再分配);(ii)イーサリアム財団(Ethereum Foundation)への寄付;(iii)Parity、Brainbot、Smartpool、または他のイーサリアム分野で独立してインフラを構築している会社や個人への寄付;(iv)最初の 3 つを組み合わせ、トークン購入者が投票した比率に従って行うことができます。

第二に、未販売のトークンを保持することができますが、全自動でトークンの支出方法を決定することで「中央銀行」問題を解決します。ここでの推論は、多くの経済学者がルールベースの貨幣政策に興味を持つ理由と似ています:中央集権的な機関が強力な資源を大幅に制御でき、特定の使用ルールに従うことで生じる政治的不確実性を排除できるからです。たとえば、未販売のトークンはマーケットメーカーに渡され、彼がトークン価格の安定性を維持します。

第三に、上限のある販売を行うことができます。誰もが購入できる金額を制限します。これを効果的に行うには KYC プロセスが必要ですが、幸いなことに KYC 機関はこのタスクを一度に完了でき、特定の個人を代表するアドレスを確認した後、ユーザーアドレスのホワイトリストを作成し、このリストを各トークン販売に再利用できるようにします。さらに、このモデルから利益を得る可能性のある他のアプリケーション(たとえば、Akasha ゲームの投票)にも適用できます。ここでも無駄な損失(効率)が発生し、トークンに興味がない個人が販売に参加することになります。なぜなら、彼らはすぐに市場で利益を得られることを知っているからです。しかし、これはそれほど悪くはないかもしれません:これは暗号通貨の国民基本所得を創造し、「禀賦効果」のような行動経済学の仮定が少しでも正確であれば、トークン分配の普及性を保証する目標を達成します。

image

単一ラウンドの販売は良いですか?

「貪欲」という話題に戻ります。私は、原則として、5 億ドルを費やす開発チームが 5 億ドルを得る素晴らしいプロジェクトを作成することに反対する人はあまりいないと思います。人々が反対するのは:(i)全く新しい未検証の開発チームが一度に 5000 万ドルを得ること;(ii)より重要なのは、開発者の報酬とトークン購入者の利息の間の時間差です。単一ラウンドの販売では、開発者はプロジェクト作成資金を得る機会が一度だけあり、それは開発プロセスが始まる時間帯に近いです。ここにはそのようなフィードバックメカニズムはありません:チームはまず少量の資金を得て自分を証明し、その後、自分が信頼でき、成功できることを証明した後、時間の経過とともにより多くの資金を得ることになります。販売期間中、優れた開発チームと悪い開発チームの情報は相対的に少なく、販売が完了すると、開発者が働き続ける意欲は従来の会社に比べて低くなります。「貪欲」とは、多くのお金を得ることではなく、このお金を賢明に使うことができることを証明する努力をせずに大金を得ようとすることを指します。

image

もしあなたが問題の核心を突きたいのであれば、私たちはどのように解決すべきでしょうか?私は、答えは非常にシンプルだと思います:メカニズムに焦点を当て、単一ラウンドの販売ではなく。

いくつかの参考例を挙げることができます:

Angelshares、このプロジェクトの販売は 2014 年に行われ、数ヶ月間、固定比率の AGS を毎日販売しました。毎日、人々はクラウドファンディングプロジェクトに無制限の資金を提供でき、その日の AGS 配分は数人の出資者の間で分配されます。基本的に、これは約 1 年間続く数百の無制限販売の「小さなラウンド取引」を維持するようなものです;私はこの販売の持続時間をさらに長くすることができると言います。

Mysterium、大規模な販売の前に 6 ヶ月間の小規模販売を行い、ほとんど誰も気づきませんでした。

Bancor、最近、すべての資金調達額をマーケットメーカーに渡し、彼らがトークン価格の安定性を維持し、最低価格を 0.01 イーサに制限することに同意しました。2 年間、これらの資金を引き出すことはできません。

これらの 3 つはどれも不十分です。私たちは、より長い販売プロジェクトを継続し、大量の資金を提供する前に、どの開発チームが最も信頼できるかを理解するための時間を増やしたいと考えています。しかし、これは探求する最も生産的な方向性であるように思えます。

ジレンマを乗り越える

上記の分析をまとめると、直接的に上記のジレンマや三難困難を克服することはできませんが、革新的な思考とそれほど深刻でない類似の問題を克服することで、少しずつ周辺から突破することができます。私たちは参加度について合意し、時間を第三の次元として取り入れ、影響を排除することができます:もしあなたが第 N ラウンドの販売に参加しなかった場合、1 週間後の第 N+1 ラウンドまで待つことができ、その時の価格はそれほど大きな違いがないかもしれません。

私たちは上限のない販売を行うことができますが、異なるサイクルを含め、各サイクル内の販売に上限を設定しないようにします;このようにして、少額の販売を管理できることを証明できない限り、チームは大量の資金を要求しません。私たちは一度に小部分のトークンを販売し、契約で残りの供給量を定め、事前に設定された公式に従って自動的に販売することで、政治的不確実性を排除します。

image

以下は、これらの考えに従ったいくつかの実行可能なメカニズムです:

Gnosis のように逆オランダ式オークションを行い、低い上限(例えば 100 万ドル)を設定します。もしオークションで販売されたトークンが総供給量の 100%に満たない場合、2 ヶ月後に自動的に残りの資金を別のオークションに転送し、30%高い上限を設定します。このプロセスを繰り返し、発行されたすべてのトークンが販売されるまで続けます。

X ドルの価格で無制限にトークンを販売し、収益の 90%をスマートコントラクトに保管し、5 年間その最低価格を X の 0.9 倍、最高価格は無限に増加させ、最低価格は無限にゼロに近づけることができます。

AngelShares の方法を模倣しますが、数ヶ月ではなく 5 年間に延長します。

Gnosis のように逆オランダ式オークションを行い、オークションで販売されたトークンが総供給量の 100%に満たない場合、残りの資金を自動的なマーケットメーカーに転送し、彼らがトークン価格の安定性を維持します(価格が上昇し続ける場合、マーケットメーカーはトークンを販売でき、その一部の収益を開発チームに渡します)。

すべてのトークンをマーケットメーカーに即座に移転し、パラメータと X 変数(X は最低価格)、s(販売されたトークンの割合)、t(販売が行われた時間)、T(販売が続く予定の時間、例えば 5 年)を設定し、k / (t/T - s) の価格でトークンを販売します(これは少し奇妙で、経済分析が必要かもしれません)。

注意:トークン販売の問題を解決する他のメカニズムも試す必要があります。たとえば、収益を複数の受託者に渡し、特定の閾値に達した場合にのみ資金を渡すというアイデアは非常に興味深く、深く探求する価値があります。しかし、設計の領域は多次元であり、試す方法はまだたくさんあります。

翻訳:Annie_Xu

ここ 2 年間、現在のイーサリアムプロトコルの背後にある思想は基本的に安定していますが、イーサリアムはその現在の概念を突然出現させて完全に形成されたわけではありません。ブロックチェーンが立ち上がる前に、このプロトコルは多くの重要な発展と設計決定を経ました。この記事の目的は、プロトコルが開始からリリースまでに経験したさまざまな進化を紹介することです;プロトコルの実現に関して行われた無数の作業、たとえば Geth、cppethereum、pyethereum、EthereumJ、そしてイーサリアムエコシステム内のアプリケーションやビジネスの歴史は、意図的に範囲を超えています。

カスパーとシャーディング研究の歴史も範囲外です。私たちはもちろん、Vlad、Gavin、私自身、そして他の人々が提案し放棄したさまざまなアイデアについて、たくさんのブログ記事を発表することができますが、「プルーフ・オブ・ワーク」、ハブアンドスポークチェーンなどのハイパーキューブシャドーチェーン(言うまでもなく……プラズマ)、チェーンファイバー、およびカスパーのさまざまな反復や、Vlad が合意プロトコルにおける行為者のインセンティブとその属性についての推論を急速に発展させたことについても、非常に複雑な物語であり、1 つの文章で語るには過ぎるので、今は省略します。

まず、最終的にイーサリアムとなる最初のバージョンから始めましょう。その時点では、まだイーサリアムとは呼ばれていませんでした。2013 年 10 月にイスラエルを訪れたとき、私は Mastercoin チームとかなりの時間を過ごし、彼らにいくつかの機能を提案しました。彼らが何をしているのかを考えるために何度か時間を費やした後、私は彼らのプロトコルをより汎用的にし、同じように巨大で複雑な機能セットを追加することなく、より多くのタイプの契約をサポートする提案をチームに提出しました:

https://web.archive.org/web/20150627031414/http://vbuterin.com/ultimate_scripting.html

image

ご注意ください、これは後により広範なイーサリアムのビジョンとは大きく異なります:それは純粋に Mastercoin がすでに集中しようとしていた分野、つまり A 側と B 側の契約に焦点を当てており、A 側と B 側が資金を投入し、契約に指定された何らかの公式に基づいて資金を受け取ることになります(例えば、賭けは「X が発生した場合、すべての資金を A に渡し、そうでなければすべての資金を B に渡す」と言います)。スクリプト言語はチューリング完全ではありません。

Mastercoin チームは感銘を受けましたが、彼らがやっているすべてを放棄してこの方向に進むことには興味がありませんでした。私はますますこれが正しい選択であると信じるようになりました。第二版が登場し、約 12 月に発表されました:

https://web.archive.org/web/20131219030753/http://vitalik.ca/ethereum.html

image

ここで、あなたは大規模な再編成の結果を見ることができます。これは主に私が 11 月にサンフランシスコを歩いているときに得たもので、スマートコントラクトが完全に普及する可能性に気づいたときのものです。スクリプト言語は、単に両者の関係の条件を記述する方法ではなく、契約自体が完全に成熟したアカウントであり、資産を保持し、送信し、受信し、さらには永久的なストレージを維持することができるようになりました(当時、永久的なストレージは「メモリ」と呼ばれ、唯一の一時的な「メモリ」は 256 のレジスタでした)。この言語は、私自身の意志に基づいてスタックベースのマシンからレジスタベースのマシンに変わりました;私はそれに異議を唱えることはありませんでしたが、単にそれがより複雑に思えました。

さらに、今では内蔵の料金メカニズムがあります:

image

この時点で、イーサは実際にはガスです;各計算ステップの後、トランザクションが呼び出す契約の残高はわずかに減少し、契約の資金が尽きると、実行が停止します。この「受取人が支払う」メカニズムは、契約自体が送信者に契約に対して料金を支払うよう要求し、この料金が存在しない場合は即座に退出する必要があることを意味します;プロトコルは 16 の自由な実行ステップを規定しており、契約は非支払いトランザクションを拒否することができます。

image


これはイーサリアムプロトコルが完全に私自身によって創造されたときです。しかし、ここから新しい参加者がこのサークルに加わり始めました。これまでのところ、礼儀の面で最も目立つのは Gavin Wood であり、彼は 2013 年 12 月に私にメッセージを送ってきました。

image

「ヘイ、ジェレミー、あなたがイーサリアムに興味を持っているのを見て嬉しいです……」

Gavin の最初の貢献は二重のものでした。まず、あなたは最初の設計における契約呼び出しモデルが非同期であることに気づくかもしれません:契約 A が契約 B に「内部トランザクション」を作成することができます(「内部トランザクション」は Etherscan の専門用語です;最初は単に「トランザクション」と呼ばれていましたが、後に「メッセージ呼び出し」または「呼び出し」と呼ばれるようになりました)、最初のトランザクションが完全に実行されるまで、内部トランザクションは開始されませんでした。これは、トランザクションが内部トランザクションを他の契約から情報を取得する方法として使用できないことを意味します;これを行う唯一の方法は EXTRO オペコード(SLOAD のようなもので、他の契約のストレージを読み取るために使用できる)であり、後に Gavin や他の人々の支持の下で削除されました。

私の初期の仕様を実装する際、Gavin は自然に内部トランザクションを同期的に実装しました。意図が異なることを認識せずに —— つまり、Gavin の実装では、契約が別の契約を呼び出すと、内部トランザクションは即座に実行され、実行が完了すると、VM は内部トランザクションを作成した契約に戻り、次のオペコードを続けます。このアプローチは、私たち双方にとってより優れているように思えたので、私たちはそれを仕様の一部として採用することに決めました。

第二に、私と彼の間のある議論(サンフランシスコを歩いている間に行われたため、正確な詳細は歴史の風の中に永遠に消え、NSA の深層アーカイブに 1、2 部のコピーがあるかもしれません)により、トランザクション手数料モデルが再分解され、「契約が支払う」方法から「送信者が支払う」方法に移行し、「ガス」アーキテクチャに切り替わりました。各個別のトランザクションステップが即座に少しのイーサを持っていくのではなく、トランザクションの送信者が支払い、いくつかの「ガス」(粗く言えば、計算ステップのカウンター)を割り当てられ、その計算ステップがそのガスの許可された量から引き出されます。もしトランザクションがガスを使い果たした場合、ガスは没収されますが、全体の実行は復元されます;これは、契約が以前に心配しなければならなかった「部分実行」攻撃の一整類を排除するため、最も安全な方法のように思えます。トランザクションの実行が完了すると、未使用のガスの料金が返金されます。

Gavin はまた、ビジョンの微妙な変化に大きく貢献しました。イーサリアムをプログラム可能な通貨を構築するプラットフォームとして見ることから、ブロックチェーン上の契約がデジタル資産を保持し、事前に設定されたルールに従ってそれらを移転できるようにすることから、一般的な計算プラットフォームへと変化しました。これは、焦点と用語の微妙な変化から始まり、その後、「Web 3」という全体への関心の高まりとともにその影響が強まっていきました。この全体は、イーサリアムを分散型技術のセットの一部として見なします。その他の 2 つは Whisper と Swarm です。

image

2014 年初頭には、他の人々によって提案された変化もいくつかありました。Andrew Miller や他の人々がこのアイデアを提案した後、私たちは最終的にスタックベースのアーキテクチャに戻りました。

image

チャールズ・ホーキンソンは、ビットコインの SHA256 から更新された SHA3(またはより正確には keccak256)に移行することを提案しました。しばらくの間、いくつかの議論がありましたが、Gavin、Andrew、他の人々との議論により、スタック上の値のサイズは 32 バイトに制限されるべきであるという合意が形成されました;考慮されていた別の選択肢である無限サイズの整数には、加算、乗算、その他の演算にかかるコストを計算するのが難しいという問題がありました。


2014 年 1 月初め、私たちの頭の中で最初に考えられたマイニングアルゴリズムは Dagger という装置でした:

https://github.com/ethereum/wiki/blob/master/Dagger.md

image

Dagger は、アルゴリ

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