Proof of Stake

提供: tezos-wiki
移動先: 案内検索

ステークの証拠はProof of Workの代替案です。仕事の証明、コンセンサスと二倍防止("主な"ビット共有スレッドを参照、および[1])。フォークの作成はコストがかかりません。なぜなら、外部リソースを焼くのではなく、ステークの証拠だけでは実現不可能なコンセンサスメカニズムと考えられます。

おそらくQuantumMechanicという名前のメンバーによって最初に提案されたものです[2]。実証では、ブロックを採掘する確率は、鉱夫によって行われた作業(例えば、CPU / GPUサイクルがハッシュをチェックするのに費やされる)に依存する。ステークの証拠と比較すると、Bitcoinの1%を保有している人は、「ステークブロックの証明」の1%を採掘することができます。

Proof of Workだけでは、[悲劇(コモンズの悲劇)]のために時間が経つにつれて減少するブロックインセンティブを持つ暗号侵害のネットワークセキュリティが低くなる可能性があると主張し、ステークの証拠はより高いネットワークセキュリティに賛成して鉱夫のインセンティブを変更しました。

ステークの証明の動機=

  • 立証証拠システムは、ネットワーク上の悪意のある攻撃からの保護を強化する可能性があります。追加の保護は2つの情報源からもたらされます:
  • #攻撃を実行する方がはるかに高価になります。
  • #攻撃に対するインセンティブの軽減。攻撃者はすべてのビットコインのほぼ大半を所有する必要があります。したがって、攻撃者は自分の攻撃から深刻な苦しみを受ける。
  • ブロック報酬がtxnの手数料で発生した場合、ステークシステムの証明は、txnの均衡手数料の低下をもたらします。ロングラン手数料を低くすると、代替支払いシステムに対するビットコインの競争力が高まる。直感的に削減された手数料は、リソースの無駄の規模の大幅な縮小によるものです。

独占問題[編集]

単一のエンティティ(以下、独占企業)がtxn検証リソースの大部分を制御した場合、これらのリソースを使用して残りのネットワークに条件を課すことができます。潜在的に、独占企業は、二重支出やサービス拒否などの悪意のある方法でこれを行うことを選択する可能性があります。独占企業が悪意のある戦略を選んで長期間支配を維持すると、ビットコインへの信頼が損なわれ、ビットコインの購買力が崩壊する。あるいは、独占企業は善意で行動することもできる。慈悲深い独占者は、他のすべてのtxn検証者を手数料収集や通貨の生成から除外しますが、決して通貨保有者を搾取しようとはしません。良い評判を維持するために、彼は二重支出を控え、サービス提供を維持するだろう。この場合、Bitcoinの基本機能はすべて影響を受けないため、Bitcoinに対する信頼は独占的に維持される可能性があります。

善意と悪意ある独占の両方が潜在的に有益なので、起業家の鉱夫がある時点で独占企業になることを試みるかもしれないと疑う理由がある。 [コモンズの悲劇]効果のために、独占の試みはますます時間の経過とともにますます増えるだろう。

ステークの証明が独占問題にどのように対処するか[編集]

独占は依然として立証証拠のもとで可能である。しかし、2つの理由から、ステークの証明は悪意のある攻撃に対してより安全です。

第一に、ステークの証明は、検証の独占を確立することをより困難にする。執筆時点では、起業家はコンピューティングハードウェアに最大1000万ドルを投資して仕事の証明に関して独占を達成することができました。難しさが増すにつれて他の鉱夫が終了するため、必要な実際の投資額はこれより少なくなる可能性がありますが、出口がどれだけ発生するかを正確に予測することは困難です。非常に大規模な購入(おそらくそうでない)に直面して価格が一定に保たれた場合、そのような起業家は、担保証拠のもとで独占を得るために少なくとも2000万ドルを投資する必要がある。このような大規模な購入はビットコインの価格を劇的に上昇させるため、起業家はこの金額の何倍も投資する必要があります。このように、現在でさえも、立証責任の独占は、仕事の証明の独占よりも数倍の費用がかかります。時間の経過とともに、独占コストの比較はますます劇的になるでしょう。ビットコインの市場価値に対する賞金の割合は、指数関数的に減少するようにプログラムされています。このような状況が発生すると、労働実績の独占がより簡単になり、取得が容易になる一方で、総資金供給の多くが流通するにつれて、ステークの独占権の取得は徐々に困難になるでしょう。

第二に、そしておそらくもっと重要なのは、ステーク・オブ・ステークの独占企業は、Bitcoinの持分のために善意で行動する可能性が高いということです。慈悲深い独占では、通貨はいつものように続きますが、独占者はすべての手数料とコインの世代を稼いでいます。しかし、他のtxnベリファイアはシステムからシャットアウトされます。鉱業はビットコインの需要の源泉ではないため、ビットコインは慈善的な攻撃の場合にその価値の大部分を保持する可能性があります。善意の攻撃からの収益は、攻撃が立証証拠の下で発生するのか、仕事の証明で起きるのかにかかわらず同様です。悪意のある攻撃では、攻撃者はビットコインの破壊から利益を得る機会をいくつか持っています(単純な二重の支出は、考えられる動機ではなく、競合する支払いプラットフォームの所有権です)。同時に、攻撃者は、攻撃に必要なビットコイン固有の投資に対する損失に関連するコストに直面します。悪意のある攻撃がビットコインの購買力をゼロに落とすことが想定されます。このような攻撃のもとでは、立証責任の独占者は投資全体を失うことになる。対照的に、悪意ある作業証明の独占企業は、再販を通じてハードウェアへの投資の多くを回収することができます。また、必要な作業証明投資は、投資証明証拠投資よりもはるかに小さいことを想起してください。したがって、悪意のある攻撃のコストは、作業証明の下で数倍になります。悪意のある攻撃に関連するコストが低いため、悪意のある攻撃が発生する可能性が高くなります。

なぜステークの証拠が長期的にTxn手数料をかなり下げるか[編集]

競争市場の均衡において、txn手数料の総量は、txnsを検証するために使用されるすべてのリソースの機会費用と等しくなければならない。作業実績鉱業では、採掘電力、採掘設備減価償却費、鉱業分、鉱業資本の市場収益率に費やされる総額として機会費用を計算することができます。ここでは電気料金、鉱山機械のリターン、設備減価償却費が支配的になる可能性があります。これらのコストがそれほど大きくない場合、マイニングネットワークを独占することは非常に簡単です。独占を防止するために必要な手数料は、クレジットカードの購入に現在課されている3%の手数料を超える可能性があります。純粋な証拠のもとで、機会費用は鉱業労働に費やされた総額とリスクフリーのビットコイン貸付の市場金利(ハードウェア関連費用は無視できる)として計算することができます。ビットコインは、ハードコードされた供給制限のために時間が経つと認識するように設計されているため、リスクフリーのビットコイン建てローンの金利は無視できる程度です。したがって、純粋な立証証拠の下でのtxn手数料の総量は、帯域幅と保管スペースを維持する労力を補うのにちょうど十分である必要があります。関連するtxn料金は例外的に低くなります。これらの例外的に低い手数料にもかかわらず、立証証明ネットワークは、作業証明ネットワークよりも悪用されることが何倍もコストがかかるでしょう。およそ1年分の通貨生成とtxn費用に相当する支出を使用して、およそ労働証明ネットワークを利用することができます。これとは対照的に、立証証明ネットワークを利用するには、現存するすべての硬貨の大半または大半を購入する必要があります。

実装[編集]

現在、PoSの実装方法に関するいくつかの異なる提案があります

Cuniculaのミックスされた作業証明書とステークの証拠の実装[編集]

この提案は、Proof-of-Work / Stake-of-Stakeシステムを組み合わせたものです。

Cuniculaのノート[編集]

古い実装のページ履歴を確認します。私は私の説明を、私がはるかに安全であると信じている新しいシステムに置き換えています。新しいシステムは、CobleeのProof of Activity proposalの大幅に改良されたバージョンです。これは、二重支出とサービス拒否の両方のPoW攻撃に対して非常に強力な保護を提供します。 PoW攻撃者にも多額の(しかし大多数はない)持分があるとしても、脆弱ではない。完全なノードを維持するための強力なインセンティブを提供します。このシステムは、完全なノードを維持できないコイン所有者の税金によってサポートされています。税収は、完全なノードを維持しているコインの所有者に再分配されます。完全ノードのメンテナンスは、システム内のセキュリティを提供する重要な要素です。

この議論では、システムの長期メンテナンスに焦点を当てています。コインの初期配分は、PoW鉱業、IPOメカニズム、または最初のコインをPoW鉱夫およびコイン所有者が投票した事業者に配分することを可能にするより複雑なスキームを通じて発生する可能性がある。最初の配布の問題は長期的なメンテナンスとは別物であり、2つを一緒に話し合うのは混乱します。

用語集[編集]

任意署名 - 任意監査プロセスの結果、任意署名が生成されます。ブロックがマイニングされると、ランダム選択に基づいて監査用のキーが選択されます。署名は、公開鍵の所有者が完全なノードを実行しているというパブリックな証拠を提供します。監査に合格すると、秘密鍵が有効なままになります。

アクティブキー - デフォルトでは、ブロックチェインに表示される公開キーは、少なくとも1つのフルコインの残高を持つ場合にアクティブになります。無作為に監査されたときに任意の署名を提供する公開鍵は有効なままです。有効な公開鍵は、PoWブロックへの署名とPoSブロックのマイニングに宝くじに参加する資格があります。これは報酬です。署名を提供できない公開鍵は、死んだ秘密鍵になります。

デッドキー - 署名の提供に失敗した鍵は、宝くじの適格性を失います。 1コイン未満の残高を持つキーは、デフォルトでは無効とみなされます。デッドキーでPoSブロックを採掘することはできません。しかし、これらのデッドキーはtxnsを生成するために使用できます。ネットワークのメンテナンスは、主にデッドキーによって送信されたコインに課せられた強制手数料によってサポートされます。デッドキーを使用してコインが送られた後、少なくとも1コインの残高を保有する場合、キーはアクティブになります。

必須署名シーケンス - PoWブロックが有効でブロックチェーンに入るためには、ランダムに選択された5つのアクティブなキーのシーケンスによって署名されていなければなりません。シーケンスの5番目の署名者は、PoSブロックを採掘します。

PoSブロック - PoWブロックの5番目の署名者は、PoWの提出なしで自分のブロックを作成する必要があります。このブロックはPoSブロックと呼ばれます。

コイン・エイジ - コイン・エイジとは、txnインプットの年齢を指します。コインの年齢は、送られたコインの枚数とこれらのコインの平均年齢を乗算したものに等しい。年齢はブロック単位で測定されます。年齢は、コインが送られるたびに1ブロックにリセットされ、コインが署名を与えるたびに(必須および任意の署名の両方がカウントされます)、リセットされます。コイン・エイジは必須手数料の計算に使用されます。

徴税手数料 - 連鎖保障は、主に派遣された入力に対する徴税税によって支えられています。この税金は、コイン年齢で測定された平均入力年齢に比例します。私は、合理的な手数料としてコイン - 年当たり5%を提案します。アクティブなキーは、アクティブな状態を維持するだけで、デマーレイション料金を回避できます。したがって、実際の手数料の発生率は年間5%をはるかに下回ります。死んだ鍵は賞金を支払う必要があります。猶予期間を回避する機会は活動を動機づけます。

オプション手数料 - 手数料は、ブロックスペースを確保するために使用されます。ブロックは高い料金で優先順位付けを選択します。仮払い手数料だけでは、txnのインクルージョンを促すには不十分な場合、ユーザーは自分のtxnにオプションの手数料を追加することができます。

手数料ファンド - オプションの手数料とデメレイジ手数料の両方が、鉱夫に直接配給されるのではなく、ファンドに入金されます。手数料はすぐにファンドに追加されるため、高額報酬をブロックに含めるインセンティブは弱い。 PoW鉱業者は、累積基金の0.01%に等しい分配を受ける。最初の4名の義務的署名者にはそれぞれ0.1%の義務があります。 PoSブロック・マイナーは0.1%も受け取るが、彼のブロックに含まれているtxnsに基づいてファンドが更新されるため、彼の見解はわずかに異なる。ファンドの使用は、鉱業報酬のボラティリティを低下させる。

ルート秘密鍵 - ルート秘密鍵には完全な支出と署名の権限があります。重要な残高が保持されている場合、盗難防止のためにこのキーをオフラインバックアップとして保持する必要があります。

ステーク署名鍵 - 秘密鍵は署名と送信権を他の秘密鍵に委譲できます。委任されたキーはブロックに署名することができ、コインを送る権限が制限されています。コインを送る権限は、2つの正の定数tとkによって決まります。次のtxnルールは、ステーク署名鍵の支出権限を制限します。

              公開鍵に変更> =他のアドレスに送られたすべてのコイン* {max(k、k *(t /公開鍵のコイン年)}               可能なパラメータとして、k = 9、t = 1/12が提案されている。これらのパラメータにより、ステーク署名鍵は、1か月あたりの合計鍵残高の最大10%を費やすことができます。盗難の際のリスクの最大値               このキーは10%です。大規模な預金者は、鉱業を通じたコイン・エイジを頻繁にゼロにし、盗難リスクを軽減します。これが週に1回行われた場合などは、大きな残高所有者は               リスクは1週間にバランスの2.3%を費やすことができ、盗難の場合には2.3%しか失われません。盗難が検出されると、残っているコインはすべて、安全なコンピュータに移動できます。               ルート秘密鍵。

マイニングプロセス[編集]

1)ブロック会議作業難易度ターゲットを採掘します。 1 PoWブロックが10分ごとに到着するように、目標を定期的に調整するのが難しい。

2)作業提出は連続して10回ハッシュされる。各連続ハッシュは、ブロックチェーン内の個々の未使用出力にマップされます。これは本質的には5組の勝者の2組を描く宝くじです。最初の5つのハッシュは必須の署名にマップされ、最後の5つのハッシュは任意の署名にマップされます。

3)必須署名がアクティブな公開鍵[用語集を参照]にマッピングされている場合、そのブロックは潜在的に有効である可能性があります。それ以外の場合、ブロックは無効であり、破棄する必要があります。

4)PoWマイナーが潜在的に有効なブロックを見つけた場合、彼はネットワークに以下のハッシュを送信する:{仕事提出;ハッシュ(彼のブロック、以前の有効ブロック)}

5)作業提出物が困難な目標を満たし、活動署名者にマッピングされた場合、ブロックはネットワークを介して中継される。そうしないと、メッセージはスパムとして破棄されます。

5)最初に選ばれた5名の署名者はこのハッシュに署名し、それを{仕事提出物;ハッシュ; sig 1; sig 2; sig 3; sig 4; sig 5}

6)必須署名シーケンスが完了した後、最終署名者は、PoWブロックおよび自身のPoSブロックを発行する。

7)最後の5つのハッシュは任意の署名にマップされます。これらの任意の署名は、次の6つのブロック内の任意のブロックに特別なtxnsとして挿入できます。これらの費用は手数料を必要としません。

9)手順1に進む

注:このプロセスは同時であり、ネットワーク内で複数のブロックハッシュが循環し、5つのシグネチャを収集し、PoW / PoSブロックペアを生成しようとします。このレースを失うブロックペア 孤立しています。

標準的な攻撃ベクトルのinfeasability[編集]

攻撃者が大きなシェアを所有していない限り、あらゆる種類のPoW攻撃は計算上実行不可能です。私には2種類の既知の攻撃があると思います:1)二重支出2)サービス拒否 私は以下の近似を考慮する。数値は非常に好都合であり、正確な統計値を考慮することは特に興味深いものではありません。

1)二重支出。

二重の支出は秘密主義に依存します。秘密のブロックを採掘するために、PoWの鉱夫は抽選で彼自身の公開鍵のうちの5つを選択しなければならない。 PoW鉱夫がすべてのコインの0 <s <1のシェアを所有している場合、 難易度目標を満たすブロックを実行する確率は、鉱夫の硬貨を(1 / s)^ 5に選択します。 s = 0.01の場合、100億ブロックのうちの1ブロックがこの基準を満たす。 極端に小さいハッシュ集計率であっても、他のすべての鉱夫を組み合わせた場合よりも100億倍も速い速度で私的に鉱山するのは現実的ではありません。 s = 0.1の場合、100,000ブロックのうち1ブロックは この基準を満たす。 (つまり、攻撃にはまだすべてのハッシュパワーの約99.999%が必要です)。 s = 0.5の場合、総ハッシュレートの51%を制御すると、攻撃者は成功します。

2) Denial of Service

An attacker who mines publicly could simply produce empty PoW blocks. However, this would fail to deny service. 50% of all blocks are randomly mined via PoS. The attacker cannot force the PoS miners to produce empty blocks. Therefore he cannot deny service regardless of how much hash rate he controls.

Long-term Chain Evaluation[編集]

1) Comparison of two long chains is based on a simple sum of block difficulty, just as in bitcoin.

2) A criticism of PoS is that there is no reason not to sign attack chains. However, in a long secret chain, many stakeholders will have dead signatures. These dead stakeholders will not be able to sign the main chain, but not the attack chain. They will have a strong incentive to make sure the main chain wins because the attack chain will impose demurrage fees on them.

Incentives to maintain full nodes[編集]

This system introduces powerful incentives to maintain full nodes. Many people argue that the lack of an incentive to maintain a full node is a problem in the bitcoin system.

1) a steady flow of txns will generate some fees even if all public keys remain active. Active keys must be maintaining full nodes. Otherwise they could not provide the voluntary signatures which prove their activity. Even very weak incentives are sufficient in this case. If almost all keys are associated with active nodes, then it is not necessary to motivate additional participation.

2) Some public keys may decide to become inactive. This is costly for them. They will suffer a loss of 5% of their balance per year for as long as they remain inactive.

3) The active public keys constantly capture revenue from inactive public keys. This means that the incentives to remain increase dramatically as participation falls. Suppose that 50% of public keys maintain full nodes, then this 50% will capture 2.5% of coins per annum. This is equal to an annual of return of 2.0%. The alternative, inactivity, yields an annual return of -5.0% as discussed in point 2. I consider this a reasonable incentive level and participation rate. Suppose that I am wrong, and only 10% of public keys maintain full nodes. Then these 10% will capture 4.5% of all extant coins per annum. This implies an annual return on participation equal to 45% per annum. This is a very strong incentive and is almost certain to be sufficient, even if nodes are quite costly to maintain. If only 1% of coins participate, then 4.95% of all extant coins will be distributed to this 1% each year. This implies a weekly return on participation of 3%, a pirate ponzi scheme level return. If these incentive are inadequate to support a healthy network of full nodes (which seems unlikely to me), then the levy on dead coins could be increased to exceed 5% per annum.

4) Many people will not have enough coins to justify running their own node. Such individuals will likely use an online banking service which could store their limited spend key. The service could return interest to users in exchange for managing their keys.

5) Other individuals may prefer the privacy associated with dropping out of participation. These individuals are still welcome to use the network, but must face a wealth tax of 5% per annum to compensate for the security risk created by their behavior.

Storage of Blockchain Metadata[編集]

To facilitate the system, data should be extracted from the block chain in a readily accessible database that is updated with each block. The database only needs to incorporate public keys which control at least 1 coin. Keys with balances less than 1 coin are considered dead by default. These low-value public keys are not allowed to create limited stake public keys. If a public key balance drops below 1 coin, the limited stake public key associated with the root key is invalidated.

The database would look like this:

Public Key (ordered list) Linked Stake Public key (if any) Balance Cumulative Balance Active? Coin-age (in years)
A As 1 1 1 0.03
B Bs 2.5 3.5 0 0.1
C Cs 3 6.5 1 0.2
... ... ... ... ... ...

The block chain must maintain records of links between public keys and delegated limited stake public keys. These should be put in a simple database for easy access.

Cumulative balance can be used to determine the winners of the lottery. (i.e. the lottery is a uniform draw on the support [0,total issued coins]) This indicates a unique lottery winner, whose chance of winning is proportional to his ownership share.

Coin-age is updated as follows. If no send, Coin-age_t = Coin-age_t-1 + 1. If send, Coin_age_t = 1. If send and receipt of coins, Coin_age_t = 1. If receipt of coins but no send, Coin_age_t = [Coin_age_(t-1)*balance_(t-1)+received coins]/balance(t)

Coin-age is necessary to determine mandatory demurrage fees and to calculate spending limits for limited stake public keys.

Active is 1 by default and becomes 0 if a key fails to provide a requested voluntary signature. 0 is an absorbing state.

Beneficiaries and Lossers from Txn Fees[編集]

The total amount of demurrage fees collected annually varies between 0% and 5% of the total money supply.

The most burdensome fee in the system is the fee paid to PoW miners. This fee imposes a demurrage tax of between 0% and 0.1% per annum on all users of the system. In addition to the demurrage tax, PoW miners receive a 2% share of any optional fees paid to access scarce block space. All coin owners are net losers as a result of PoW mining fees. To minimize costs to coin owners, PoW fee payments are kept as low as possible. Since large hash rates play only a tiny role in security, larger fees for PoW miners are unnecessary.

Other demurrage fees are transfers of revenue from one private key to another. Some keys are net beneficiaries of these transfers, while other keys are net losers. Collectively, these fees do not make coin owners better or worse off. Their effects are neutral. However, individually, the fees do create winners and losers. Active users that spend infrequently gain from the system. An active user with average spend frequency is likely to gain from the system as well, but only by a small amount. An active user that spends very frequently will probably lose from the system. Dead users will certainly lose from the system. This loss serves as a punishment for failure to maintain an active node.

Meni's implementation[編集]

This proposal is for a proof-of-work (PoW) skeleton on which occasional checkpoints set by stakeholders are placed. In one variant, double-spending is prevented by waiting for a transaction to be included in a checkpoint; the variant described here uses cementing to prevent double-spending, and checkpoints to resolve cementing conflicts.

Proof of work[編集]

Miners use their hashrate to find blocks and build the blockchain exactly as with the pure PoW system. They receive any new generated coins from the block; there will be two kinds of transaction fees, one of which is a mining fee given to the miner who finds the block, just like the PoW transaction fees.

Signatures[編集]

One block every 100 blocks (a different number can be used instead) is a signature block. When a signature block is found and confirmed with several subsequent blocks, stakeholders (people who have bitcoins) are expected to sign it by using a private key associated with their address which contains coins to sign the block hash. If there are several blocks of the same height, an address should not sign more than one of them. The signatures are broadcast on the network and included in a future block. For every candidate block, the total weight of all signatures is tallied (the weight of an address is determined mostly by the number of coins in it, as of the last signature block). Stakeholders will be able to collect signature fees when providing a signature, proportionally to their weight.

At the basic level, there are no rules to choosing which of several conflicting blocks to sign, stakeholders should just choose one.

Cementing[編集]

Cementing is a node's reluctance to do a blockchain reorganization. A node will reject any new block found if it contradicts a 6-block deep branch it is already aware of and currently considers valid. That is, once a node receives 6 confirmations for a block, it will not accept a competing block even if it is part of a longer branch.

In a pure PoW system this is problematic to do because a node could be stuck on "the wrong version" - if an attacker isolates the node and feeds him bogus data, it will not embrace the true, longer chain when he learns of it. However, using PoS to have the final say in such situations makes this possible.

Branch selection[編集]

When a node needs to select which of several branches is valid, it chooses one based on the following criteria in increasing importance (each one is overridden by the next):

  1. Branch length (total difficulty of all blocks), as in a PoW system.
  2. Cementing - an already cemented block will not be replaced by a longer branch.
  3. Signatures - even a cemented block will be overridden by a signature block with signature weight more than half the total possible weight by some margin.

If the conflict is so long that it contains more than one spot for a signature block, the conflicting signature blocks will be traversed earliest to latest, each time choosing the branch with the majority vote. After the newest uncontested signature block it proceeds to use cementing and branch length.

A signature block with no clear majority will be considered tied, and will not override the other criteria. Signature fees will not be given out but instead carried over to the next signature spot, to encourage stakeholders to participate then.

Double-spending prevention[編集]

A good level of security can be achieved by waiting for a block to be cemented. By that time it is safe to assume that the network recognizes this block and will not easily switch to a different block, even if a longer branch is presented.

A more authoritative confirmation is enabled by waiting for a signature block. Once a block achieves a majority (and some more time is allowed for this majority to spread in the network), it is extremely unlikely that the network will ever switch away from this block.

Weights[編集]

The weight of every address starts at 0. When an address provides a signature, its weight increases so that after several signatures, the weight approaches the number of coins in the address as of the last signature block. For example,

New weight = 0.9 * Old weight + 0.1 * Balance

If a signature is not provided by the address in a signature block, its weight decreases:

New weight = 0.9 * Old weight

This way, addresses whose owners do not wish to participate in signing do not hamper the ability to reach a majority.

If an address signs two conflicting blocks, its weight is reset to 0. This is to limit the power of malicious stakeholders.

If coins move to a new address, weight is proportionally taken away from the addressed, but is not transferred to the new address. The new stakeholder will have to build up his weight.

Malicious stakeholders[編集]

The system is resilient against stakeholders who misuse their signature power, even if they have a majority of the bitcoins. Since their only obligation is to not sign conflicting blocks, the only way they could double-spend is if they first sign one block so it achieves a majority, then sign a different one so that it achieves a bigger majority. Generally this will not work. A short while after a majority is achieved, most of the network will be aware of the relevant signatures. If a different signature is broadcast, the conflict will be detected and both signatures will be ignored. This will cause the current majority block to become tied, but the network is already cemented on it and will vote for this branch in the next signature block. The weight of the attacker will by then reduce to 0 so he will be unable to create more disruption.

Another attack is refusing to sign blocks to keep them tied. Since this causes a decay of the weight, they can only stand in the way of a majority for a short time.

Denial of service[編集]

The method as described does not solve a denial of service scenario. A majority miner could create only blocks with no transactions (or with many transactions missing) and reject all other blocks.

This may be solvable by adding some measure of the transaction in a block to the selection criteria, such as Bitcoin days destroyed.

Also, proposals to replace the block chain with a directed acyclic graph have been made, and could be used to make it easier to include transactions.

Key difference between the two proposals[編集]

In Cunicula's system, voting power is determined by combining (multiplicatively) your hashrate and stake. This would be problematic if small players could not compete effectively with large players. Though we are waiting on a formal mathematical proof, evidence to date suggests that small and large players would have an equal competitive footing. Simulations described in this thread [3] indicate that small players are competitive with large players because the multiplicative combination of hashrate and stake exhibits constant returns. Evidence in the thread suggests that these simulation results are accepted by both Cunicula and Meni.)

In Meni's, there's a skeleton based purely on hashrate, and superimposed on it are occasional checkpoints set by stakeholders. You can contribute PoW without having stake, and you can contribute PoS without having work, and in both cases your voting power and reward is linearly proportional to the resources you have.

See also[編集]