Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.

This White Paper is temporary. We are writing the final one that will be posted here. Check back when this warning is removed. Thanks for your patience.


Krypto₣ranc:フランス通貨の再生

1. 前書き

1999年にはユーロがフランスの通貨であるフランを置き換えた。世界中から集まった人々は3年後にすべてのフランを返済しました。 2002年、ユーロのための部屋を作るためにフランは700年以上の存在の後に姿を消した。フランはフランス文化と成功の忠実なイメージでした。 2010年、フランス中央銀行は、 40億フランは返還されず、人々の手に渡っています。時間の経過とともに、フランの撤去は苦い味を残した。 1999年のGDP成長率は+ 3%でしたが、それ以来この数値に近づいていません。多くの人がこの犠牲をフランス経済の崩壊と主権の喪失の始まりとみなしました。当時、人々が物事の流れを変えたり、前例のないプロ・ユーロの宣伝キャンペーンがあったり、すべての主流メディアと最も影響力のある人々がフランの廃止を求めていました。しかし、事は以来変わってきました。中村聡とbitCoinの登場によるブロックチェーン技術の発明により、適切な技術力を備えた適切なチームが、権限の承認なしに通貨を作成することが可能になりました。私たちはこのチームなので、なぜそれをしないのですか? Krypto₣rancはフランの信じられないほどのルネッサンスです。これはブロックチェーンの分野における新しい技術革命ではありませんが、官僚、人々のための人々、オープンソース、自由で止めることのできないことをやり直すことは革命的な考えです!

2. 技術

この目標を達成するには、ホイールを再作成する必要はありません。 BitCoinは世界中で最も人気のある暗号化方式で、貢献者が500人を超え、Githubで2万を超えるフォークを扱っています。bitCoinチームはSatoshiの作業を改善し、定期的に改善を公開します。この理由からbitCoinに可能な限り近づきたいと思っています。 Krypto₣rancは安全なコンセプトに基づいた信頼できる通貨でなければならず、私たちは中本哲のエンジニアリング作業のセキュリティを危険にさらす可能性のあるエキゾチックなコードを追加しません。できるだけ早くbitCoinコアに固執するので、各アップグレード後と新しいバージョンごとに、できるだけ早く元の暗号化通貨のパスに沿ってKrypto₣rancをアップグレードすることができます。

簡単に言えば、Krypto₣rancbitCoinですが、異なるブロックチェーンを持ち、Krypto₣rancが世界の主要通貨になるように、この特定のプロジェクトに適応した異なる動作をしています。しかし、ブロックチェーンの技術はまったく同じです。

Krypto₣rancは、各トランザクションのセキュリティを強化したり、全体をブロックすることができないため、POW(作業証明)システムに基づいています。解読が難しくなくても、POWは最も安全で信頼性の高い方法です。 POWメソッドは、攻撃者からブロックチェーンを保護するために不可欠であり、セキュリティを低下させる可能性のあるものは紹介しません。また、bitCoinを実行するすべての鉱夫やプールとの互換性を維持したいと考えています.Krypto₣rancbitCoinと同じくらい使いやすいです

USDとEURの違いは何ですか?彼らの特徴は同じで、私たちは売買することができます。同じ理由が両方のブロックチェーンに当てはまります。実際の違いは、印刷されたコインの数と人の受け入れです。純粋な投機的かつ実験的な実体として多くの人に見られるbitCoinと比較して、Krypto₣rancがフランユーザーの優先通貨になることは疑いの余地がありません。

3. 目標

Krypto₣rancの目的は、フランス政府の準備通貨として受け入れられることです。我々は、このシナリオでは、金融システムが重大な危機を経験し、金はユーロを救うことができないと考えている。予備通貨としての暗号侵害がなければ、ユーロ圏は完全な混乱に陥るでしょう。それが起こると、人々は秘密鍵以外の富を救うことはどこにもなく、唯一の安全な場所になるでしょう。フランス人はフランを知っていて、Krypto₣rancはお金を置き換えるために財政的崩壊の場合の代替選択肢になります。私たちは、フランスのような国では、紙幣や硬貨を紙幣や硬貨を硬貨から印刷するのに十分なKrypto₣rancを持つべきだと考えています。これは、ユーロ現金が経済に燃料を供給できない場合の劇的な状況を避けるための確実な手段です。また、ユーロ圏内の各国はユーロとKrypto₣ranc、bitMark、bitLire、BitPesosなどで流通しているメモを持つダブル現金システムを持つべきだと考えています。

4. 排出量

前に説明したように、Krypto₣rancブロックチェーンはbitCoinのブロックチェーンと同じではありません。 2019年1月1日から2022年1月1日までに、6.55億のKrypto₣rancを発行します。これにより、フランス中央銀行の資本金と一致します。その後、200年以上にわたり合計20億ドルに達するデフレのコイン・ジェネレーションを行う予定です。

2.5億のKrypto₣rancsはKrypto₣rancの作者間で事前に採掘され、共有され、保守と将来の開発に資金を提供するために使用されます。 Krypto₣rancは、その道筋を継続し、長期的にサポートされるよう、十分に資金を供給されなければなりません。


私たちが使用しているブロックチェーン技術は、中本哲氏が作成した技術と同じなので、ここではブロックチェーンの元の白書がGoogleによって多言語で翻訳されています(言語を変更するためにフラグをドロップダウンしてください)。


Bitcoin:ピアツーピア電子式キャッシュシステム|中本聡

抽象

純粋にピアツーピア版の電子現金は、金融機関を経由せずに一方の当事者から他方の当事者に直接オンライン支払いを送ることを可能にする。デジタル署名はソリューションの一部を提供しますが、信頼できる第三者が二重支出を防止する必要がある場合、主な利点は失われます。我々は、ピアツーピアネットワークを用いた二重支出問題に対する解決法を提案する。ネットワークは、ハッシュベースのハッシュ・ベースの作業証明書のチェーンにハッシュしてトランザクションをタイムスタンプし、作業証明をやり直すことなく変更できないレコードを作成します。最長のチェーンは、目撃された一連のイベントの証拠となるだけでなく、CPUパワーの最大プールからのものであることを証明します。大部分のCPUパワーが、ネットワークを攻撃するために協力していないノードによって制御されている限り、彼らは最長のチェーンを生成し、攻撃者を凌駕します。ネットワーク自体には最小限の構造が必要です。メッセージはベストエフォート型でブロードキャストされ、ノードは自由にネットワークに参加して再参加することができ、最長の作業証明連鎖が消滅したときの証拠として受け入れられます。

1. 前書き

インターネット上の商取引は、電子決済を処理する信頼できる第三者機関である金融機関にほとんど専ら依存しています。システムはほとんどのトランザクションで十分に機能しますが、依然として信頼ベースのモデルの固有の弱点があります。金融機関は紛争の仲介を避けることができないため、完全に不可逆的な取引は不可能です。仲介のコストは取引コストを増加させ、実用的な取引の最小サイズを制限し、小さなカジュアルな取引の可能性を遮断し、不可逆的なサービスに対して不可逆的な支払いを行う能力の損失にはより広いコストがかかる。逆転の可能性があると、信用の必要性が広がります。商人は顧客のことを慎重にしなければならず、必要以上に多くの情報を必要とします。ある割合の詐欺はやむを得ないものとして受け入れられます。これらの費用と支払いの不確実性は、物理的な通貨を使用することによって、直接的に回避することができますが、信頼できる当事者がいない通信チャネルで支払いを行う仕組みは存在しません。

2. トランザクション

電子コインは、デジタル署名のチェーンとして定義されています。 各所有者は、前の取引のハッシュと次の所有者の公開鍵をデジタル署名し、これらをコインの最後に追加することによって、コインを次の取引先に転送する。 受取人は、署名を検証して所有権のチェーンを検証することができます。

問題は、受取人が所有者の1人がコインを二重に消費しなかったことを確認できないことです。 一般的な解決方法は、重複支出をすべてのトランザクションでチェックする、信頼できる中央機関、すなわちミントを導入することです。 各取引の後、コインはミントに戻って新しいコインを発行しなければならず、ミントから直接発行されたコインのみが二重使用されないことを信頼される。 この解決策の問題点は、マネーシステム全体の運命は、銀行と同じように、すべての取引が通過しなければならないミントを運営する会社に依存するということです。

先の所有者が以前の取引に署名していないことを受取人が知る方法が必要です。私たちの目的のために、最も早い取引は重要な取引ですので、後で二重支出をしようとすることは心配しません。トランザクションの不在を確認する唯一の方法は、すべてのトランザクションを認識することです。ミントベースのモデルでは、ミントはすべての取引を認識しており、最初に到着したものを決定しました。これを信頼できる当事者なしで達成するには、取引を公表しなければならず、参加者が受領した注文の単一の履歴に同意するシステムが必要です。受取人は、各取引の時点で、ノードの大部分がそれが最初に受け取られたことに同意したという証拠を必要とします。

3. タイムスタンプサーバー

提案するソリューションは、タイムスタンプサーバーから始まります。タイムスタンプサーバーは、タイムスタンプを付けるアイテムのブロックのハッシュを取って、新聞やUsenetポストのようにハッシュを広く公開することによって機能します。タイムスタンプは、明らかにハッシュに入るために、その時点でデータが存在していなければならないことを証明します。各タイムスタンプには、そのハッシュ内の前のタイムスタンプが含まれ、チェーンを形成し、追加のタイムスタンプごとに前のタイムスタンプを補強します。

4. 実績

ピアツーピアで分散タイムスタンプサーバーを実装するには、新聞やUsenetの投稿ではなく、Adam Back's Hashcashに似た作業証明システムを使用する必要があります。作業証明には、SHA-256などのハッシュされたときにハッシュがゼロビットの数で始まる値をスキャンすることが含まれます。要求される平均作業は、必要とされるゼロビットの数で指数関数的であり、単一のハッシュを実行することによって検証することができる。

私たちのタイムスタンプネットワークでは、ブロックのハッシュに必要なゼロビットを与える値が見つかるまでブロック内のノンスをインクリメントして作業証明を実装します。 CPUの労力を費やして作業証明を満足させると、作業をやり直すことなくブロックを変更することはできません。後のブロックが後に連鎖するので、ブロックを変更する作業には、後のすべてのブロックのやり直しが含まれます。

仕事の証明はまた、大多数の意思決定において表現を決定するという問題を解決する。過半数がone-IP-address-one-voteに基づいていたなら、それは多くのIPを割り当てることができる誰によっても破壊される可能性があります。本人確認は本質的に1CPUの1票です。多数決は最長のチェーンで表され、チェーンに投資された作業証明の労力は最大です。大部分のCPUパワーが正当なノードによって制御されている場合、正直なチェーンは最も速く成長し、競合するチェーンを上回ります。過去のブロックを変更するには、攻撃者はそのブロックとそれ以降のすべてのブロックの作業実績をやり直さなければならず、正直なノードの作業に追いついてそれを上回る必要があります。後で説明するように、遅い攻撃者が追いつく確率は、後続のブロックが追加されると指数関数的に減少します。

時間の経過と共にハードウェアのスピードが増し、実行中のノードに関心が変化するのを補うために、作業実績の難しさは、1時間あたりの平均ブロック数を目標とする移動平均によって決定されます。彼らが速すぎると、難しさが増します。

5. ネットワーク

ネットワークを実行する手順は次のとおりです。

  1. 新しいトランザクションはすべてのノードにブロードキャストされます。
  2. 各ノードは新しいトランザクションをブロックに集めます。
  3. 各ノードは、そのブロックに対して困難な作業証明を見つけることに取り組んでいます。
  4. ノードが作業証明を見つけると、ノードはすべてのノードにブロックをブロードキャストします。
  5. ノードは、その中のすべてのトランザクションが有効で、まだ消費されていない場合にのみブロックを受け入れます。
  6. ノードは、受け入れられたブロックのハッシュを前のハッシュとして使用して、チェーン内の次のブロックの作成に取り組み、ブロックの受け入れを表します。

ノードは常に最長のチェーンを正しいものと見なし、拡張を続ける。 2つのノードが異なるバージョンの次のブロックを同時にブロードキャストする場合、いくつかのノードは、最初または最後のノードを受信することがあります。その場合、彼らは最初に受け取ったものを処理しますが、もう一方のブランチは保存されていれば保存します。次の作業証明が見つかって1つのブランチが長くなると、ネクタイは壊れます。他のブランチで作業していたノードは、長いブランチに切り替わります。

新しいトランザクションブロードキャストは必ずしもすべてのノードに到達する必要はありません。彼らが多くのノードに到達する限り、彼らは長い間前にブロックに入るでしょう。ブロックブロードキャストは、ドロップされたメッセージに対しても許容されます。ノードがブロックを受信しなかった場合、ノードは次のブロックを受信したときにブロックを要求し、それが失われたことを認識します。

6. インセンティブ

規約上、ブロック内の最初のトランザクションは、ブロックの作成者が所有する新しいコインを開始する特別なトランザクションです。これにより、ノードにネットワークをサポートするインセンティブが与えられ、コインを発行する中央の権限がないため、最初にコインを流通させる方法が提供されます。新しいコインの一定量の安定した添加は、金の鉱夫が循環に金を加えるために資源を消費することに類似しています。私たちの場合、CPU時間と消費電力が消費されます。

このインセンティブは、取引手数料でも支出することができます。トランザクションの出力値が入力値よりも小さい場合、その差はトランザクションを含むブロックのインセンティブ値に加算されるトランザクション料金です。所定の数のコインが流入すると、インセンティブは取引手数料に完全に移行し、完全にインフレがなくなる。

インセンティブは、ノードが正直にとどまるよう促すのに役立ちます。欲張りな攻撃者がすべての正直なノードよりも多くのCPUパワーを集めることができれば、彼は支払いを盗んで人を欺くためにそれを使うか、新しいコインを生成するためにそれを使うかのどちらかを選択する必要があります。彼は、システムと自らの富の妥当性を損なうよりも、他の誰よりも多くの新しいコインで彼を有利にするルールのような、ルールに従うことがより有益であることがわかっているはずです。

7. ディスク容量の再利用

コイン内の最新の取引が十分なブロックの下に埋まったら、その前に使用されたトランザクションを破棄してディスク領域を節約することができます。ブロックのハッシュを壊さずにこれを容易にするために、トランザクションはMerkle Treeでハッシュされ、ルートのみがブロックのハッシュに含まれます。古いブロックは、木の枝を切り落とすことで圧縮できます。内部のハッシュを保存する必要はありません。

トランザクションのないブロックヘッダーは約80バイトです。ブロックが10分ごとに生成されると仮定すると、80バイト* 6 * 24 * 365 = 4.2MB /年です。 2008年時点で2GBのRAMを搭載したコンピュータシステムと、現在の年間成長率を1.2GBと予測しているMoore氏の法律では、ブロックヘッダーを記憶しなければならない場合でもストレージは問題にならないはずです。

8. 簡略化された支払いの確認

完全なネットワークノードを実行することなく支払いを確認することは可能です。ユーザーは最長の作業証明連鎖のブロックヘッダーのコピーを保持する必要があります。これは、最長チェーンを持つことを確信するまでネットワークノードに問い合わせることで得られます。そして、トランザクションをリンクするMerkleブランチを取得します。それはタイムスタンプされたブロックです。自分自身でトランザクションをチェックすることはできませんが、チェーン内の場所にリンクすることで、ネットワークノードがそれを受け入れたことを知ることができます。それを受け入れた。

したがって、正直なノードがネットワークを制御する限り、検証は信頼できるものの、ネットワークが攻撃者によって圧倒された場合、より脆弱になります。ネットワークノードはトランザクションを自分自身で検証することができますが、単純化された方法は、攻撃者がネットワークを圧倒し続けることができる限り、攻撃者の製作されたトランザクションによってだまされる可能性があります。これを防ぐための1つの戦略は、無効なブロックを検出したときにネットワークノードからのアラートを受け取り、ユーザーのソフトウェアに完全ブロックをダウンロードさせ、矛盾を確認するためにトランザクションを警告することです。頻繁な支払いを受けている企業は、より独立したセキュリティと迅速な検証のために、おそらく依然として独自のノードを実行したいと考えています。

9. 値の結合と分割

個別にコインを処理することは可能ですが、転送の1セントごとに個別の取引を行うことは扱いにくいでしょう。値を分割して結合するために、トランザクションには複数の入力と出力が含まれています。通常は、より大きな以前の取引からの単一の入力、またはより少量を組み合わせた複数の入力のいずれかがあり、最大で2つの出力があります:支払のためのものと、もしあれば、

トランザクションが複数のトランザクションに依存し、それらのトランザクションがより多くのものに依存するファンアウトは、ここでは問題ではないことに注意してください。トランザクションの履歴の完全なスタンドアロンコピーを抽出する必要はありません。

10. プライバシー

伝統的なバンキングモデルは、関連する当事者と信頼できる第三者に情報へのアクセスを制限することによって、プライバシーレベルを達成します。すべての取引を公表する必要があるため、この方法は公然と排除されますが、公開鍵を匿名に保つことによって、情報の流れを別の場所で破ることによってプライバシーを維持することができます。一般の人は誰かが他人に金額を送っているが、取引を誰かにリンクする情報はないことが分かる。これは、個々の取引の時間とサイズ、「テープ」が公開されているが、当事者が誰であるかを知らされない証券取引所が公表する情報のレベルに似ている。

追加のファイアウォールとして、共通の所有者にリンクされないように、各トランザクションに新しいキーペアを使用する必要があります。いくつかのリンクは、入力が同じ所有者によって所有されていることを必然的に明らかにする複数入力トランザクションでは避けられません。リスクは、キーの所有者が明らかにされた場合、リンクすると同じ所有者に属する他の取引が明らかになる可能性があります。

11. 計算

正直なチェーンよりも速く代替チェーンを生成しようとする攻撃者のシナリオを考えます。これが達成されたとしても、薄い空気から価値を創造したり、決して攻撃者に属していない金額を取ったりするなど、任意の変更をシステムに与えることはありません。ノードは無効なトランザクションを支払いとして受け入れず、正直なノードはそれらを含むブロックを決して受け入れません。攻撃者は自分が最近使ったお金を取り戻すために自分のトランザクションの1つを変更しようと試みることができます。

正直な鎖と攻撃者の鎖の間の競争は、二項ランダムウォークとして特徴付けることができます。成功イベントは、正直なチェーンが1ブロック拡張され、+1のリードが上がり、攻撃イベントは攻撃者のチェーンが1ブロック拡張され、ギャップが-1減少します。

与えられた赤字から追いつく可能性は、ギャンブラーの破滅問題と似ています。無制限の信用を持つギャンブラーが赤字で始まり、損益分岐点に到達しようとする可能性がある無数の試行を潜在的に行うとします。彼は損害賠償に至る確率を計算することができます。または、攻撃者が以下のように正直なチェーンを捉えることができます[8]:

p= probability an honest node finds the next blockq= probability the attacker finds the next blockqz= probability the attacker will ever catch up from z blocks behind

qz={1ifpq(q/p)zifp>q}

私たちの前提を考えると、 p>q, 攻撃者が追いつくブロック数が増えるにつれて確率が急激に低下します。彼との闘いで、早く幸運を逃げることができなければ、彼はさらに後ろに下がるにつれて、彼のチャンスは消え去るほど小さくなるだろう。

我々は今、新しいトランザクションの受信者が、送信者がトランザクションを変更できないことを十分に確認するまで待つ必要があると考えます。送信者は、受信者に彼がしばらく支払ったと信じさせるようにしたい攻撃者であると仮定し、しばらくしてからそれを自分に戻すように切り替えます。受信者には警告が表示されますが、送信者は遅すぎることを希望します。

受信機は新しい鍵ペアを生成し、署名の直前に公開鍵を送信者に与える。これにより、送信者は、十分に先に進むことができるほど幸運になるまで、連続して作業を行い、その時点でトランザクションを実行することによって、ブロックのチェーンを事前に準備することができなくなります。トランザクションが送信されると、不正な送信者は、トランザクションの代替バージョンを含む並列チェーン上で秘密の作業を開始します。

The recipient waits until the transaction has been added to a block and z ブロックはその後にリンクされています。彼は攻撃者が行った進捗状況を正確に把握していませんが、正直なブロックがブロックあたりの平均予想時間を取ったと仮定すると、攻撃者の潜在的な進展は期待値のポアソン分布になります。

λ=zqp

攻撃者が今も追いつく可能性のある確率を得るために、彼はその時点から追いつく可能性のある進歩の量ごとにポアソン密度を掛けます:

k=0λkeλk!{(q/p)(zk)ifkz1ifk>z}

分布の無限の尾を合計するのを避けるために並べ替える...

1k=0zλkeλk!(1(q/p)(zk))

Cコードに変換しています...

#include 
double AttackerSuccessProbability(double q, int z)
{
	double p = 1.0 - q;
	double lambda = z * (q / p);
	double sum = 1.0;
	int i, k;
	for (k = 0; k <= z; k++)
	{
		double poisson = exp(-lambda);
		for (i = 1; i <= k; i++)
			poisson *= lambda / i;
		sum -= poisson * (1 - pow(q / p, z - k));
	}
	return sum;
}
			

いくつかの結果を実行すると、確率は指数関数的に低下することがわかりますz

q=0.1
z=0    P=1.0000000
z=1    P=0.2045873
z=2    P=0.0509779
z=3    P=0.0131722
z=4    P=0.0034552
z=5    P=0.0009137
z=6    P=0.0002428
z=7    P=0.0000647
z=8    P=0.0000173
z=9    P=0.0000046
z=10   P=0.0000012

q=0.3
z=0    P=1.0000000
z=5    P=0.1773523
z=10   P=0.0416605
z=15   P=0.0101008
z=20   P=0.0024804
z=25   P=0.0006132
z=30   P=0.0001522
z=35   P=0.0000379
z=40   P=0.0000095
z=45   P=0.0000024
z=50   P=0.0000006
			

Pの0.1%未満を解決する...

P < 0.001
q=0.10   z=5
q=0.15   z=8
q=0.20   z=11
q=0.25   z=15
q=0.30   z=24
q=0.35   z=41
q=0.40   z=89
q=0.45   z=340
			

12. 結論

我々は信頼に頼らずに電子取引を行うシステムを提案している。私たちは、所有権の強力なコントロールを提供するデジタル署名で作られた硬貨の通常の枠組みから始めましたが、二重支出を防ぐ手段がなくても不完全です。これを解決するために、誠実なノードが大部分のCPUパワーを制御する場合、攻撃者が変更することは迅速に計算上実用的にならないトランザクションの公開履歴を記録するピアツーピアネットワークを提案しました。ネットワークは、その構造化されていない単純さにおいて堅牢です。ノードは少しずつ調整して一気に機能します。メッセージは特定の場所にルーティングされず、ベストエフォートベースで配信する必要があるだけなので、識別する必要はありません。ノードは自由にネットワークを離れることができます。また、作業中のチェインチェーンを廃止したときに起こったことを証明するものとして受け入れることができます。彼らはCPUパワーに投票し、有効ブロックの拡張に取り組み、無効ブロックを拒否することによって、有効ブロックの受け入れを表明します。このコンセンサスの仕組みにより、必要なルールやインセンティブを実施することができます。

References

  1. W. Dai, "b-money," http://www.weidai.com/bmoney.txt, 1998. 
  2. H. Massias, X.S. Avila, and J.-J. Quisquater, "Design of a secure timestamping service with minimal trust requirements," In 20th Symposium on Information Theory in the Benelux, May 1999.  
  3. S. Haber, W.S. Stornetta, "How to time-stamp a digital document," In Journal of Cryptology, vol 3, no 2, pages 99-111, 1991. 
  4. D. Bayer, S. Haber, W.S. Stornetta, "Improving the efficiency and reliability of digital time-stamping," In Sequences II: Methods in Communication, Security and Computer Science, pages 329-334, 1993. 
  5. S. Haber, W.S. Stornetta, "Secure names for bit-strings," In Proceedings of the 4th ACM Conference on Computer and Communications Security, pages 28-35, April 1997.  
  6. A. Back, "Hashcash - a denial of service counter-measure," http://www.hashcash.org/papers/hashcash.pdf, 2002. 
  7. R.C. Merkle, "Protocols for public key cryptosystems," In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133, April 1980. 
  8. W. Feller, "An introduction to probability theory and its applications," 1957.