以下のスレッドを参照してください: http://www.bitcoin.org/smf/index.php?topic=1786.msg22119#msg22119 http://www.bitcoin.org/smf/index.php?topic=2181.msg28729#msg28729
なるほど。つまり現在、手数料は事前に決めなければならないため厄介で、低すぎた場合にトランザクションを修正する方法がなく、ネットワークはいずれ忘れるものの、ウォレットにはコインを使ったと記録されたままになる。これはすでに起こり始めています。
ネットワークは忘れないし、所有者のクライアントは再ブロードキャストし続ける。オーバーフロートランザクションは、残りの0.3.8ノードが減少する中でも数ヶ月間ネットワークに記憶されていた。
優先度には経過時間が含まれるため、トランザクションが待機するにつれて経過時間が増え、最終的には十分な優先度を持つようになる。
上記のリンクの1つで、手数料を増やすために正直な二重支払いを送信することを検討している。多くの作業が必要だが、実行は可能だ。現時点ではその価値はないと思う。
現在のシステムでは、ノードが現在の条件に十分な手数料を含めるようにし、ネットワークがすべてのトランザクションを最終的に処理するようにしており、十分に機能している。Gavinは、ノードが自分のトランザクションを書き込む際に優先度をチェックしていなかった見落としを修正している。
処理速度の不確実性を心配するユーザーは、手数料を含めることへの動機付けと考えるべきだ。
プロトコルにはpublisher/subscriberチャネルを設定するための未完成の部分があり、ネットワークを介した分散ルーティングを扱っています。これの目的は何でしたか?P2Pマーケットのアイデアでしたか、それとも予想されるトランザクション手数料のブロードキャストなど、何かもっと低レベルの機能でしたか?
クライアントに組み込んだeBayスタイルのマーケットプレイスを実装しようとしていた。Publish/subscribeは商品オファーや評価・レビューのブロードキャストに使用される予定だった。レビューはあなたが生成したブロックによって重み付けされる。JSON-RPCを優先して正しく放棄した。これにより他の開発者が外部で実装できるようになった。publish/subscribeの「中間で出会う」メカニズムは興味深い概念だったが、それを使用するものは何も残っていない。
これは最も技術的に要求の厳しいユースケースを探索し、ブロックチェーンが開始された後のルールのロックイン性を考慮して、将来必要になる可能性のあるすべてをBitcoinがサポートできることを確認するためのコード作成の一部だった。
数ヶ月前にBitCoinを一般化することについて興味深い議論がありましたが、あなたがそれをどのように達成しようとしていたかを完全に理解するのは難しかったです。複数の独立したチェーンの上に別のmerkleツリーを配置するという概念は理解できたと思います:
http://www.bitcoin.org/smf/index.php?topic=3414.msg48171#msg48171
しかし、後方互換性のために200バイトを持つというあなたのコメントは理解できませんでした。また、これは明らかだと思いますが、念のため確認します。あなたのアイデアでは、代替チェーンはBitCoinとまったく同じ形式と検証ルールのセット(同じスクリプト言語など)を共有し、すべてのマイナーは非金融的な性質のブロックであっても検証できるということですか?そして、別々のブロックチェーンを持つ意味は、単にクライアントモード実装のストレージコストと帯域幅を管理することですか?
いいえ、他のチェーンはBitcoinのルールには従わない。それらは完全に独立したチェーンだ。マイナー以外は何も共有しない。他のネットワークのProof of Workの定義は、自分のブロックのハッシュを含むBitcoin形式のブロックを(自分のチェーンの難易度に従って)解くことだ。Bitcoinブロックが有効であるか、Bitcoinによって使用されているかは気にしないが、マイナーが両方のチェーンを同時に作業できるようにする。
BitDNSブロックをハッシュする手順:
- BitDNSブロックをハッシュする
- Bitcoinブロックを構築する
- BitcoinブロックのTx 0のscriptSigにBitDNSハッシュを挿入する
- Bitcoinブロックをハッシュする
そのハッシュがBitDNSのターゲット以下であれば、BitDNSブロックは有効だ。
BitDNSブロックには、ハッシュに使用されたBitcoinブロックを再構築するために必要な約200バイトのデータが必要だ:
- Bitcoinブロックヘッダー
- Tx 0へのmerkleブランチ
- Tx 0(ちなみに、Tx 0のprevハッシュは常に0なので、省略すると32バイト節約できる)
素材となる「Bitcoinブロック」がBitcoinチェーンで実際に有効であったかどうかは問題ではない。ただし、有効であった可能性はある。BitDNSにとっては、その複雑なハッシュ計算を行うために必要な単なるソルトの集まりだ。マイナーがBitDNSのみをマイニングしていてBitcoinに関心がない場合、すべてゼロの空白Bitcoinブロック(nonceを除く)を使用するだろう。
アイデアをさらに拡張性のために発展させるなら、BitDNSブロックハッシュをTx 0に入れる代わりに、BitDNSを含むmerkleツリーのルートを入れることを検討してくれ。これが概念的に最上部にあるmerkleツリーだ。