ビットコインで作る決済システム(備忘録)

2.使い方の変更、運用の工夫をする必要があるところ

使い方の変更、運用の工夫 1

2.1 使い方の変更

  • Chain of Digital Signatures
    • Bitcoinの一つ一つのトランザクションは、まさに「コイン」のイメージで、価値を保有し、流通するために使われますが、ここでは、仕組みはそのままに、買掛債務を証明する債務証書ないしは支払いを確約する支払い指図書として使用します
  • Minting coins
    • Bitcoinでは、創立時に一定量の本源的なコインがSatoshi Nakamoto を起点に鋳造され、それが創立者から参加者に分け与えられて、流通が始まっています。実物の金貨のようなコインは、半分に割ったり、沢山に千切って使うことはしませんが、Bitcoinの「コイン」は分割して使用できますし、頻繁に行われます(合算もできます)
    • 本源的な鋳造分だけでは、いくら沢山に分割使用できると言っても、量的に足りなくなるでしょう。前述のように、Bitcoinでは、Proof of Work という処理を行った人に対し、システムがご褒美としてコインを鋳造し、残高が増えていきます。一方、参加者が勝手に「価値」のあるコインを鋳造することはできません
    • 当方のシステムでは、「価値」ではなく「債務」を示す債務証書を作るので、債務を申し出たい人はいくらでも自分で新規発行が出来てよいわけです
    • Bitcoinのソースに大きく改変を入れて、新規発行ができる機能を作るのが対応策の一つですが、かなりの大ごとであり、その後の世代のブロックチェーン開発環境やソリューションで取り入れられるようになりました
    • 当方のシステムの検討では、システムの管理部門が最初の本源的なコインを膨大な単位で鋳造し(白紙の用紙台帳のイメージ)、使う人に少しづつ千切って渡すことで債務証書を発行しつづける、またそれを流通させるときに、さらに細かく千切って使用できることを想定しました

使い方の変更、運用の工夫 2

2.2 運用の工夫

  • Timestamp server
    • 取引がある時刻に存在したことを証明するための機能です。Bitcoinでは、取引が起きるごとに、その取引データをハッシュ関数を通してハッシュ値を出してタイムスタンプを押します。一つ前の取引のハッシュ値もいれて関数を通すので、取引が時系列につながったような芋ずる式のデータを作っていきます
    • 取引は、Usenetのような、公開された掲示板に記録されます
    • 当方のシステム検討では、参加者が特定できる閉域網で始めることを想定していたので、取引の掲示も、公開されたサイトではなく、このシステム固有の掲示板で良いとの想定でした
  • Natural deflation (losing coins)
    • Satoshi Nakamotoと開発者たちの討議の中に触れられています。利用者の送金ミスやデータのロスでコインが消失することがあることを認めています。預金の世界でも、預金者が亡くなって使用しなくなった口座へ間違って送金すると、返金は事実上困難ですが、Bitcoinの休眠アドレスに間違って送れば、取り返すことはできないでしょう
    • Bitcoinでは、「採掘」で与えられるご褒美としてのコインの量が、長期的には逓減していくというシステムになっており、その成長通貨のスローダウンする速度に対して、失われるコインが増えてくると、システム全体として「net deflation」になる時がくるかもしれないと指摘されています
    • 当方のシステムでは、買掛から作る債務証書という「負債」の決済が終わって証書が不要になった、効力を失った時点で、この使用済み証書をどうするかという決め事が必要でした
    • 取引ログは別途、必要期間残すことができ、会計処理上の手続きも、別途、各会計システムとインターフェースを取り、会計システム側で終了するので、そのまま、効力を失った使用済み証書を持っていても良いですが、廃棄処理を考えました
    • Bitcoin上に、そこからさらには送付できないアドレス、つまり電子署名に使用する秘密鍵を捨てて、それ以上流通できないアドレスを設定し、廃棄ボックスとして、そこに送るという運用です

使い方の変更、運用の工夫 3

2.2 運用の工夫(続き)

  • DoS Attack & Flooding Atack
    • Bitcoinのシステムでも、DoS attackやDDoS attackの可能性はありますが、どのシステムにも共通の脅威であり、また、サーバーが多数あるため、すべてのサーバーを同時に機能不全に陥れることは極めて難しいでしょう。アタックされていないサーバーがいくらかでもあれば、採掘は行われます。当方のシステムでは、承認された参加者だけが利用する閉域網を想定していたため、その意味で、サーバー数が少なくても、こうしたアタックのリスクは低いと見ていました
    • ただし、DoS attackの一つとして、極めて少額を大量に送る、flooding attackがあります。Bitcoinでは、コインを大量に送るには、その攻撃者が自分のBitcoin資産を消耗せざるを得ないため、行われる可能性は低いでしょう。一方、当方のシステムでは、あり得ると見ていました。例えば、会社に不満を持った社員が、債務証書をいたずらに少額、大量に分割発行するケースです。これは、システムにとって負荷となります。センターでトランザクションを監視する必要があると見ていました

ページ: 1 2 3