これが実現する前に、URIがどんな形を取るかについて合意が必要だ。[snip] ……最も適したスキームは、特定のアドレスではなく、コンテンツの一意性の産物であるハッシュによってリソースを見つけるように設計されたmagnet URIのようだ。 [snip] magnetの美点は、共有可能でその意味で開かれていることだ。
magnetリンクをすでにある程度普及しているからという理由だけで使っても、欠点を上回るメリットはないと思う。magnetリンクはピアツーピアネットワーク上のファイルまたはファイル群を参照するために設計されたもので、よく知られているパラメーターはどれもファイル(ファイル名、サイズなど)を指す。bitcoinはアプリケーション固有のxBitcoinパラメーターに頼ることになるし、ファイルとbitcoinトランザクションを1つのリンクに混在させたいわけでもない。だから、独自の別フォーマットを使わない説得力のある理由は特にない。ましてmagnetリンクも公式に認められているわけではないのだから。
KarmicadsURIを調べる過程でfreenetと、彼らが使うmagnet風のシステムを思い出して、また見に行ってみた。[snip] これを使えば、出版者自身のウェブサイトの機能やビジネスシステム向けに設計された、アプリケーション固有データのリッチなデータベースにURIを連結できないか? bitcoinノードが実際のトランザクションを処理する一方で、freenetノードが個別に提示されるデータを処理する。
うわっ! Bitcoinクライアントを起動するだけの軽量なURLハンドラから、Freenetを必要とするところまで行くのは少し飛躍だ。これは本当にオプションであるべきだ。
ただ、トランザクションに追加情報を付けられるのは確かにとても良い。ecの最初の投稿と、さらなる詳細が必要だという点を踏まえ、以下のURLパラメーター(あるいはその短縮版)を持つべきだと思う。
- address: bitcoinの送信先アドレス。人ごとに異なるアドレスを渡せるので、これは送信者の識別にもなりうる。
- amount(オプション): 送る金額。
- message(オプション): トランザクションを説明する短いメッセージ(Bitcoinクライアントのフィールドと同じ)。
- details(オプション): トランザクションの詳細をエンコードしたURL。たとえばオンラインショップでの購入なら、購入の詳細にリンクできる。これ自体がフル機能のURLになるので、匿名性を保つためにfreenetやi2p、torにリンクすることもできる。