ダミーのための暗号通貨:ビットコインとそれ以降
公開: 2022-03-11ビットコインはインターネット上で多くの話題を呼んだ。 それは嘲笑され、攻撃され、そして最終的には受け入れられ、私たちの生活の一部になりました。 ただし、ビットコインだけではありません。 現在、700を超えるAltCoin実装があり、同様の原則とさまざまな暗号通貨アルゴリズムを使用しています。
では、ビットコインのようなものを作成するには何が必要ですか?
お金/情報を交換するための分散型の匿名システムを作成する個人的な動機を理解しようとせずに(ただし、それが道徳的および法的活動の範囲内にあることを期待して)、最初に新しい支払いシステムの基本的な要件を分解しましょう:
- すべての取引はインターネット経由で行う必要があります
- トランザクションを処理する中央機関は必要ありません
- ユーザーは匿名で、仮想IDによってのみ識別される必要があります
- 1人のユーザーは、好きなだけ多くの仮想IDを持つことができます
- 価値の供給(新しい仮想請求書)は、管理された方法で追加する必要があります
インターネットを介した分散型情報共有
私たちのリストから最初の2つの要件を満たすこと、インターネットを介した情報交換の中央機関を削除することは、すでに可能です。 必要なのはピアツーピア(P2P)ネットワークです。
P2Pネットワークでの情報共有は、友人や家族間の情報共有に似ています。 ネットワークの少なくとも1つのメンバーと情報を共有すると、最終的にこの情報はネットワークの他のすべてのメンバーに届きます。 唯一の違いは、デジタルネットワークでは、この情報が変更されないことです。
最も人気のあるP2Pファイル共有(コンテンツ配信)システムの1つであるBitTorrentについて聞いたことがあるでしょう。 P2P共有のもう1つの人気のあるアプリケーションは、Skypeやその他のチャットシステムです。
結論として、既存のオープンソースP2Pプロトコルの1つを実装または使用して、新しい暗号通貨をサポートできます。これをTopcoinと呼びます。
ハッシュアルゴリズム
デジタルIDを理解するには、暗号化ハッシュがどのように機能するかを理解する必要があります。 ハッシュは、任意のサイズのデジタルデータを固定サイズのデータにマッピングするプロセスです。 簡単に言うと、ハッシュとは、読み取り可能な情報を取得して、まったく意味のないものを作成するプロセスです。
ハッシュと政治家からの回答の取得を比較できます。 あなたが彼らに提供する情報は明確で理解しやすいものですが、彼らが提供する出力はランダムな単語の流れのように見えます。
優れたハッシュアルゴリズムに必要な要件がいくつかあります。
- ハッシュアルゴリズムの出力長は固定する必要があります(適切な値は256バイトです)
- 入力データのわずかな変化でさえ、出力に大きな違いを生み出す必要があります
- 同じ入力は常に同じ出力を生成します
- 入力を計算するために出力値を逆にする方法があってはなりません
- HASH値の計算は、計算集約的ではなく、高速である必要があります
単純な統計を見ると、HASHの長さが制限されているという理由だけで、可能なHASH値の数は限られています(ただし膨大な数になります)。 ただし、私たちのハッシュアルゴリズム(Politician256という名前を付けましょう)は、動物園のサルがタイプライターでハムレットを正しく入力するのとほぼ同じ頻度で、さまざまな入力に対して重複するハッシュ値を生成するだけの十分な信頼性が必要です。
ハムレットが単なる名前または単語だと思われる場合は、今すぐ読むのをやめるか、無限の猿定理について読んでください。
デジタル署名
紙に署名するとき、あなたがする必要があるのはあなたの署名を文書のテキストに追加することだけです。 デジタル署名も同様です。署名するドキュメントに個人データを追加するだけです。
ハッシュアルゴリズムが、入力データのわずかな変更でも出力に大きな違いを生じさせる必要があるという規則に準拠していることを理解している場合、元のドキュメントに対して作成されたHASH値は、ドキュメントに対して作成されたHASH値とは異なることは明らかです。署名が追加されています。
元のドキュメントと、個人データが追加されたドキュメントに対して生成されたHASH値の組み合わせは、デジタル署名されたドキュメントです。
そして、これが仮想IDに到達する方法です。これは、HASH値を作成する前にドキュメントに追加したデータとして定義されます。
次に、署名をコピーできないこと、および誰もあなたに代わってトランザクションを実行できないことを確認する必要があります。 署名が保護されていることを確認する最善の方法は、署名を自分で保持し、他の誰かが署名されたドキュメントを検証するための別の方法を提供することです。 繰り返しになりますが、すぐに利用できるテクノロジーとアルゴリズムに頼ることができます。 使用する必要があるのは、非対称暗号化とも呼ばれる公開鍵暗号化です。
これを機能させるには、秘密鍵と公開鍵を作成する必要があります。 これらの2つのキーは、ある種の数学的相関関係にあり、相互に依存します。 これらの鍵を作成するために使用するアルゴリズムにより、各秘密鍵が異なる公開鍵を持つことが保証されます。 彼らの名前が示すように、秘密鍵はあなたがあなた自身のためだけに保持する情報であり、公開鍵はあなたが共有する情報です。
秘密鍵(ID)と元のドキュメントを署名アルゴリズムの入力値として使用してHASH値を作成する場合、キーを秘密にしておけば、他の誰もそのドキュメントに対して同じHASH値を生成できないことを確認できます。 。
誰かがあなたの署名を検証する必要がある場合、その人は元のドキュメント、作成したHASH値、および公開鍵を署名検証アルゴリズムの入力として使用して、これらの値が一致することを検証します。
ビットコイン/お金を送る方法
P2P通信、デジタルID(秘密鍵と公開鍵)を作成するメカニズムを実装し、ユーザーが秘密鍵を使用してドキュメントに署名する方法を提供したとすると、ピアに情報を送信する準備が整います。
私たちはあなたがどれだけのお金を持っているかを検証する中央当局を持っていないので、システムは毎回あなたにそれについて尋ね、そしてあなたが嘘をついたかどうかをチェックしなければなりません。 したがって、トランザクションレコードには次の情報が含まれている可能性があります。
- 私は100個のトップコインを持っています
- 薬のために薬剤師に10枚のコインを送りたいです(ここに薬剤師の公開鍵を含めます)
- システムへの取引手数料として1枚のコインを渡したい(後でこれに戻ります)
- 残りの89枚を残しておきたい
あとは、秘密鍵を使用してトランザクションレコードにデジタル署名し、ネットワーク内のピアにトランザクションレコードを送信するだけです。 その時点で、誰か(あなたの仮想ID)が他の誰か(あなたの薬剤師の仮想ID)に送金しているという情報を誰もが受け取ります。

あなたの仕事は終わりました。 ただし、実際に100枚のコインを持っていることにネットワーク全体が同意するまで、薬の支払いは行われないため、このトランザクションを実行できます。 あなたの取引が検証された後にのみ、あなたの薬剤師は資金を得てあなたに薬を送ります。
Cryptocurrency Miners:エージェントの新しい品種
鉱夫は非常に勤勉な人々であることが知られており、私の意見では、非常に低賃金です。 暗号通貨のデジタル世界では、鉱夫は非常によく似た役割を果たしますが、この場合、彼らは土の山を掘る代わりに計算集約的な作業を行います。 本物の鉱夫とは異なり、一部の暗号通貨鉱夫は過去5年間で少額の財産を獲得しましたが、他の多くの人はこの危険な努力で財産を失いました。
マイナーはシステムのコアコンポーネントであり、その主な目的は、ユーザーが要求するすべてのトランザクションの有効性を確認することです。
トランザクション(または他の数人のユーザーから要求された複数のトランザクションの組み合わせ)の有効性を確認するために、マイナーは2つのことを行います。
まず、「誰もがすべてを知っている」という事実に依存します。つまり、システムで実行されるすべてのトランザクションがコピーされ、ネットワーク内のすべてのピアで利用できるようになります。 彼らはあなたの取引の履歴を調べて、あなたが最初に実際に100枚のコインを持っていたことを確認します。 アカウントの残高が確認されると、特定のハッシュ値が生成されます。 このハッシュ値は特定の形式である必要があります。 特定の数のゼロで開始する必要があります。
このHASH値を計算するための2つの入力があります。
- 取引記録データ
- マイナーのプルーフオブワーク
入力データのわずかな変化でも出力HASH値に大きな違いが生じる必要があることを考えると、鉱夫は非常に困難な作業を行います。 彼らは、ゼロで始まるハッシュを生成するプルーフオブワーク変数の特定の値を見つける必要があります。 システムで検証済みのトランザクションごとに最低40個のゼロが必要な場合、マイナーは適切なプルーフオブワークを見つけるために約2^40個の異なるHASH値を計算する必要があります。
鉱山労働者は、プルーフオブワークの適切な価値を見つけると、検証済みの取引の一部として追加できる取引手数料(あなたが支払っても構わないと思っていた単一のコイン)を受け取る権利があります。 検証されたすべてのトランザクションは、ネットワーク内のピアに送信され、ブロックチェーンと呼ばれる特定のデータベース形式で保存されます。
しかし、鉱夫の数が増え、彼らのハードウェアがはるかに効率的になった場合はどうなりますか? ビットコインは以前はCPU、次にGPUとFPGAでマイニングされていましたが、最終的にマイナーは独自のASICチップの設計を開始しました。これは、これらの初期のソリューションよりもはるかに強力でした。 ハッシュレートが上がると、マイニングの難易度も上がり、平衡が保たれます。 より多くのハッシュパワーがネットワークに導入されると、難易度は上がり、逆もまた同様です。 多くの鉱夫が彼らの操作がもはや有益ではないためにプラグを抜くことを決定した場合、難易度は新しいハッシュレートに一致するように再調整されます。
ダミーのためのブロックチェーン:グローバル暗号通貨元帳
ブロックチェーンには、システムで実行されたすべてのトランザクションの履歴が含まれています。 検証されたすべてのトランザクション、またはトランザクションのバッチは、チェーン内の別のリングになります。 すべてのブロックチェーン開発会社は、この公開元帳に依存しています。
したがって、ビットコインブロックチェーンは、基本的に、トランザクションが時系列で一覧表示されるパブリック元帳です。
ビットコインブロックチェーンの最初のリングはジェネシスブロックと呼ばれます
ブロックチェーンがどのように機能するかについて詳しくは、NerminHajdarbegovicによるBlockchainTechnology Explained:PoweringBitcoinを読むことをお勧めします。
システムでアクティブにできるマイナーの数に制限はありません。 これは、2人以上の鉱夫が同じトランザクションを検証できることを意味します。 これが発生した場合、システムは、ゼロを数えるだけで、各鉱夫がトランザクションの検証に費やした総労力をチェックします。 より多くの労力を費やした(より多くの先行ゼロを見つけた)マイナーが優先され、彼または彼女のブロックが受け入れられます。
マネーサプライの管理
ビットコインシステムの最初のルールは、最大21,000,000ビットコインを生成できることです。 この数はまだ達成されておらず、現在の傾向によれば、この数は2140年までに達成されると考えられています。
これは、2100万ユニットはそれほど多くないように聞こえるので、そのようなシステムの有用性に疑問を投げかけるかもしれません。 ただし、ビットコインシステムは、小数点以下8桁(0.00000001)までの小数値をサポートします。 ビットコインのこの最小単位は、ビットコインプロトコルの背後にある匿名の開発者である中本聡に敬意を表して、聡と呼ばれます。
新しいコインは、取引を検証するための鉱夫への報酬として作成されます。 この報酬は、取引記録を作成したときに指定した取引手数料ではありませんが、システムによって定義されます。 報酬額は時間の経過とともに減少し、発行されたコインの総数(21m)に達すると、最終的にはゼロに設定されます。 これが発生した場合、鉱夫は検証のためにより価値のある取引を優先することを選択する可能性があるため、取引手数料ははるかに重要な役割を果たします。
コインの最大数の上限を設定することとは別に、ビットコインシステムはまた、新しいコインの毎日の生産を制限するために興味深い方法を使用しています。 プルーフオブワークの計算に必要な先行ゼロの最小数を調整することにより、トランザクションを検証し、新しいコインの報酬を得るのに必要な時間は、常に約10分に設定されます。 ブロックチェーンに新しいブロックを追加する間隔が短くなると、システムは、プルーフオブワークが45または50の先行ゼロを生成することを要求する場合があります。
したがって、生成できる新しいコインの速度と数を制限することにより、ビットコインシステムはマネーサプライを効果的に制御しています。
自国通貨の「印刷」を開始
ご覧のとおり、ビットコインの独自のバージョンを作成することはそれほど難しくありません。 革新的な方法で実装された既存のテクノロジーを利用することで、暗号通貨に必要なすべてのものを手に入れることができます。
- すべてのトランザクションはP2P通信を使用してインターネット経由で行われるため、中央機関は不要です。
- ユーザーは非同期暗号化を利用して匿名トランザクションを実行でき、秘密鍵と公開鍵の組み合わせによってのみ識別されます。
- ネットワーク内のすべてのピアに安全にコピーされたすべてのトランザクションの検証済みグローバル元帳を実装しました
- 安全で自動化され、制御されたマネーサプライがあり、中央の権限を必要とせずに通貨の安定性を保証します
最後に言及する価値のあることは、本質的に、暗号通貨は、分散型ピアツーピアネットワーク内のあるユーザーから別のユーザーに匿名の価値/情報を転送する方法であるということです。
トランザクションレコード内のコインを、非同期暗号化を使用して暗号化される可能性のあるランダムデータに置き換えて、送信者と受信者だけが解読できるようにすることを検討してください。 それをモノのインターネットのようなものに適用することを考えてみてください!
多くのテクノロジー大手がすでにIoTプラットフォームでのブロックチェーンテクノロジーの使用を模索していますが、この比較的新しいテクノロジーの潜在的なアプリケーションはそれだけではありません。
(悪ふざけ以外に)独自の代替通貨を作成する理由が見当たらない場合は、分散認証、ゲームで使用される仮想通貨の作成、ソーシャルネットワークなど、他の方法で同じまたは同様のアプローチを使用してみてください。 、およびその他のアプリケーション、またはeコマースビジネス用の新しいロイヤルティプログラムの作成に進むことができます。これにより、後で利用できる仮想トークンを通常の顧客に提供できます。