できるだけ早くソースコードをリリースするよう急いでいる。これらの実装に関する疑問をすべて解消する参考になるだろう。
レイ・ディリンジャーの投稿(2008年11月15日 02:20 UTC)コインを使う際、買い手と売り手は ( ブラインド化された ) トランザクション記録にデジタル署名する。
署名するのは買い手のみであり、ブラインド化はない。
レイ・ディリンジャー誰かが二重支払いを行った場合、そのトランザクション記録は ブラインドを解除でき、不正者の身元が明らかになる。
身元は使用されず、償還請求への依存もない。すべては予防だ。
レイ・ディリンジャーこれはかなり標準的なカットアンドチューズアルゴリズムで行われ、 買い手は秘密分散を使ったいくつかのチャレンジに応答する
チャレンジも秘密分散もない。基本的なトランザクションはセクション 2 の図に示されているものだ。前のトランザクションの公開鍵を満たす(買い手の)署名と、次回使用時に満たす必要がある(売り手の)新しい公開鍵だ。
レイ・ディリンジャー作業中に延長しようとしているチェーンと同じ長さだが、 最後の数「リンク」が取り組んでいるチェーンと共通でない リンクであるチェーンを受信することもある。 これらは無視する。
その通り、長さが等しい場合は、最初に受信したものを保持することで同点を解消する。
レイ・ディリンジャーもし二重支払いが含まれていれば、二重支払いの証拠となる 「トランザクション」を作成し、自分のプール A に追加して ブロードキャストし、作業を続ける。
そのような「二重支払いの証拠」の報告は必要ない。同じチェーンに両方の支払いが含まれている場合、そのブロックは無効であり拒否される。
ブロックに十分なプルーフ・オブ・ワークがない場合も同様だ。そのブロックは無効であり拒否される。それについてレポートを回覧する必要はない。すべてのノードがそれを確認し、リレーする前に拒否できる。
2 つの競合するチェーンがあり、それぞれが同じトランザクションの異なるバージョンを含み、一方が資金をある人に、もう一方が同じ資金を別の人に送ろうとしている場合、どちらの支払いが有効かを裁定するのがプルーフ・オブ・ワークチェーンのすべてだ。
我々は二重支払いを「監視」してアラームを鳴らし不正者を捕まえるのではない。単にどちらの支払いが有効かを裁定するのだ。トランザクションの受取人は、解決のための時間を確保するために数ブロック待つ必要がある。不正を試みる者はすべて好きなだけ二重支払いを同時に試みればよいが、数ブロック以内に支払いの 1 つが有効となり、他は無効となる。メインチェーンに既に支払いが存在すれば、後の二重支払いは即座に拒否される。
まだチェーンに入っていないが、すべてのノードのプールに既にある場合でも、2番目の支払いは既に最初の支払いを持っているすべてのノードによって拒否される。
レイ・ディリンジャー新しいチェーンが受け入れられた場合、現在のリンクの追加を 諦め、プール L からすべてのトランザクションをプール A に 戻し(作業開始以降に受信または作成したトランザクションとともに)、 新しいチェーンのリンクの一部であるトランザクション記録を プール A から除外し、新しいチェーンの延長を 再度試みて作業を開始する。
その通り。新しいトランザクションが入るたびにリフレッシュも行うので、L はほぼすべての A 内のものを常に含んでいる。
レイ・ディリンジャーCPU 集約型のデジタル署名アルゴリズムで 新しいブロック L を含むチェーンに署名する。
これは署名ではなく、Hashcash 方式の SHA-256 プルーフ・オブ・ワーク(ゼロの部分的プリイメージ)だ。
レイ・ディリンジャー「チェーン」が最も速い 3〜4 ノードのみによって追加されたリンクで占められないことを保証する仕組みはあるのか? なぜなら、ブロードキャストされたトランザクション記録がその 3〜4 ノードに届かないことは容易にあり得る。そうなって、かつそのノードがチェーンを支配し続ければ、そのトランザクションは永久に追加されないかもしれない。
これを CPU 集約型のデジタル署名として考えている場合、長い操作を最初に完了する競争であり、最も速い者が常に勝つと考えているかもしれない。
プルーフ・オブ・ワークは Hashcash 方式の SHA-256 衝突発見だ。毎秒数百万回のハッシュを行うメモリーレスプロセスであり、毎回小さな確率で見つかる。最も速い 3〜4 ノードの優位性は、総 CPU パワーに占めるシェアに比例するだけだ。誰でもいつでも解を見つける確率は、CPU パワーに比例する。
トランザクション手数料があるため、ノードは受信したすべてのトランザクションを受け入れて含めるインセンティブを持つ。作成されたコインの総数が所定の上限に達すると、ノードは最終的にトランザクション手数料のみで報酬を受ける。
レイ・ディリンジャーまた、チェーンにリンクを追加する作業要求は、過去一週間にそのチェーンに追加されたリンクの数に応じて ( これも指数的に ) 変動させ、コイン生成 ( したがってインフレ ) の率を厳格に制御できるようにすべきだ。
その通り。
レイ・ディリンジャーこれをスケールさせるにはコインの集約が必要だ。 誰かが単一額面のコイン 10枚を引退させ、 額面 10 の新しいコイン 1枚を作成する「証明可能な」 トランザクションが必要だ。
すべてのトランザクションがこれだ。セクション 9、価値の結合と分割を参照。
Satoshi Nakamoto
The Cryptography Mailing List Unsubscribe by sending “unsubscribe cryptography” to majordomo at metzdowd.com