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-stage-design-philosophy-506585978 d51

イーサリアム(およびビットコイン、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 つのルールセットが双方向で非互換であることを意味します。

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

これらの利点は通常次のように列挙されます。

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

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

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

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

それに加えて、ハードフォークに対する主要な批判は、ハードフォークが「強制的」であるということです。ここに暗示されている強制は肉体的な強制ではありません。むしろ、これはネットワーク効果による強制です。つまり、ネットワークがルールを 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 などのプロトコル実装に関する無数の作業や、イーサリアムエコシステム内のアプリケーションやビジネスの歴史は、意図的に範囲を超えています。

カスパーとシャーディング研究の歴史も範囲外です。もちろん、私たちはフラッド、ガビン、私自身、他の人々が提案し放棄したさまざまなアイデアについて、ブログ記事をもっと発表することができます。これには「作業証明」、軸状のチェーン、超立方体シャドーチェーン(言うまでもなく……プラズマ)、チェーン状の繊維、およびカスパーのさまざまな反復や、フラッドが合意プロトコルにおけるアクターのインセンティブとその属性についての推論の急速な発展など、非常に複雑な物語になるため、ここでは省略します。

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

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

image

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

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

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

image

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

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

image

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

image


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

image

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

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

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

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

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

image

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

image

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


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

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

image

Dagger は、アルゴリズムで使用される数学的構造「有向非巡回グラフ」(DAG)にちなんで名付けられました。その考え方は、N ブロックごとに、新しい DAG がシードから擬似ランダムに生成され、DAG の底層は数千メガバイトを保存する必要があるノードの集合になります。しかし、DAG 内で任意の単一の値を生成するには、数千のエ

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