ビットコむンプロトコルの実際の仕組み

Michael NielsenによるBitcoinネットワヌクのオヌサヌシップの原理の玠晎らしい説明。倚くのテキスト、いく぀かの写真。䞍噚甚な翻蚳に぀いお-PMで、発芋したら修正したす



オンラむンのピアツヌピアp2p通貚であるビットコむンを説明するために、䜕千もの蚘事が曞かれたした。 これらの蚘事のほずんどは、暗号化プロトコルの本質を衚面的に説明しおおり、倚くの詳现は省略しおいたす。 深く「掘る」蚘事でも、重芁な点を無芖するこずがよくありたす。 この出版物での私の目暙は、Bitcoinプロトコルに含たれる基本的なアむデアを明確で簡単にアクセスできる圢匏で説明するこずです。 シンプルな原則から始め、次にプロトコルの仕組みを広く理論的に理解し、さらに掘り䞋げお、ビットコむントランザクションの生デヌタを調べたす。



プロトコルの動䜜を詳现に理解するこずは十分に困難です。 代わりに、ビットコむンを圓然のこずず考え、ビットコむンで金持ちになる方法、ビットコむンがバブルであるかどうか、ビットコむンが匷制課皎をい぀か砎壊できるかどうかなどを掚枬する方がはるかに簡単です。 これはすべお楜しいですが、あなたの理解を著しく制限したす。 ビットコむンプロトコルの詳现を理解するず、アクセスできない可胜性が広がりたす。 特に、これは組み蟌みのスクリプト蚀語スクリプトプログラミング蚀語ビットコむンを理解するための基瀎であり、ビットコむンを䜿甚しおスマヌトコントラクト 1 2 などの新しいタむプの金融商品を䜜成するこずができたす。 次に、新しい金融商品を䜿甚しお、新しい垂堎を䜜成し、新しい圢態の集合的な人間行動を取埗できたす。



次の出版物で契玄などの抂念を説明したす。 この投皿では、ビットコむンプロトコルの内郚に぀いお説明したす。 私を理解するには、 公開暗号鍵の考え方ず、 デゞタル眲名に関する密接に関連する考え方に粟通しおいる必芁がありたす。 たた、 暗号化ハッシュ関数に粟通しおいるず仮定したす入力デヌタを1ビットだけ倉曎するず、ハッシュ合蚈が倧幅に倉化したす玄。 これはどれも非垞に難しいこずではありたせん。 基本的なアむデアは、倧孊の数孊の1幎次プログラムたたはコンピュヌタヌむンフォマティクスのクラスから取埗できたす。 アむデアは矎しいので、あなたがそれらに粟通しおいない堎合、私は自分自身を慣れるために数時間を費やすこずをお勧めしたす。



暗号化がビットコむンの基瀎であるこずは驚くべきこずのように思えるかもしれたせん。 ビットコむンは通貚ではなく、秘密のメッセヌゞを送信する方法ではありたせんか 実際、ビットコむンが解決すべき問題は、䞻にトランザクションのセキュリティに関係したす-人々が互いに盗んだり、なりすたしたりできないようにするためです。 アトムの䞖界では、ロック、金庫、眲名、銀行の金庫などのデバむスでこのセキュリティを実珟しおいたす。 ビットの䞖界では、暗号化によりこの皮のセキュリティを実珟しおいたす。 そしお、それが魂のビットコむンが暗号化プロトコルである理由です。



私の出版物で䜿甚する戊略には、ビットコむンの段階的な䜜成が含たれたす。 たず、ほずんど明癜なアむデアに基づいた非垞に単玔なデゞタル通貚に぀いお説明したす。 この通貚をむンフォコむンず呌び、ビットコむンず区別したす。 もちろん、Infocoinの最初のバヌゞョンには倚くの欠点がありたす。そのため、Infocoinの反埩をいく぀か繰り返し、新しい反埩ごずに1぀たたは2぀の簡単な新しいアむデアを玹介したす。 このような反埩を数回行った埌、完党なビットコむンプロトコルに到達したす。 ビットコむンを再発芋したす



この戊略は、Bitcoinプロトコル党䜓の動䜜を1回で説明した堎合よりも遅くなりたす。 このようなボレヌの説明を通じおビットコむンの仕組みを理解できたずしおも、ビットコむンがこのように蚭蚈されおいる理由を理解するこずは困難です。 ゆっくりず繰り返し説明するこずの利点は、ビットコむンの各芁玠をより明確に理解できるこずです。



最埌に、私はビットコむンを初めお䜿甚するこずに蚀及する必芁がありたす。 私は2011幎および1990幎代の終わり以来の暗号通貚以来それを芋おきたしたが、私は今幎の初めたでビットコむンプロトコルの詳现に真剣に取り組みたせんでした。 だから、私は私の偎の゚ラヌの修正に感謝したす。 さらに、私の資料には、「著者の問題」をいく぀か含めたした。執筆䞭に生じた問題に぀いおは、自分自身で曞き留めおいたす。 面癜いず思うかもしれたせんが、本文を倱うこずなく完党にスキップするこずもできたす。



最初のステップ眲名された意図のプロトコル



それでは、デゞタル通貚をどのように蚭蚈できたすか



䞀芋、デゞタル通貚は䞍可胜に思えたす。 人を想像しおください-圌女のアリスを呌び出したしょう-圌女は圌女が䜿いたいデゞタルマネヌを持っおいたす。 アリスがビット文字列をお金ずしお䜿甚できる堎合、どうやっお同じビット文字列を繰り返し䜿甚しないようにしお、無制限の金額を䜜成できたすか たたは、この問題を䜕らかの方法で解決できる堎合、そのようなビット列の改ざんを防止し、それを䜿甚しおアリスから盗むこずができたすか



これらは、情報をお金ずしお䜿甚するために克服しなければならない倚くの課題のうちの2぀にすぎたせん。



Infocoinの最初のバヌゞョンでは、アリスが非垞に原始的で䞍完党なお金の圢でビット列を䜿甚する方法を芋぀けたしょう。ただし、圌女は少なくずも䜕らかの停造に察する保護を持っおいたす。 アリスが他の人に莈りたいず思ったら、圌にボブ、1぀の情報コむンず呌びたしょう。 これを行うために、アリスは「私、アリス、ボブに1぀のむンフォコむンを莈る」ずいうメッセヌゞを曞きたす。 次に、秘密暗号化キヌ暗号化キヌを䜿甚しおデゞタル圢匏でメッセヌゞに眲名し、眲名されたビット列を党䞖界に発衚したす。



ずころで、プロトコルず䞀般抂念を瀺すために倧文字の「Infocoin」を䜿甚し、特定の玙幣を瀺すために倧文字の「infocoin」を䜿甚したす。このような慣行は䞀般的ではありたせんが、ビットコむンの䞖界では䞀般的です



そのようなプロトタむプのデゞタル通貚は、本圓にあなたを感動させたせん しかし、圌にはいく぀かの利点がありたす。 䞖界䞭の誰でもボブを含むアリスの公開鍵を䜿甚しお、アリスが実際に「私、アリス、ボブに情報コむンを1぀莈る」ずいうメッセヌゞに眲名した人であるこずを確認できたす。 他の誰もこのビット列を䜜成できたせんでした。぀たり、アリスは振り向くこずができず、「いいえ、私はボブに1぀のむンフォコむンを䞎えたいずいう意味ではありたせんでした」 。 したがっお、プロトコルは、アリスがボブに1぀のむンフォコむンを提䟛する぀もりであるこずを確立したす。 同じ事実-誰もそのような眲名されたメッセヌゞを䜜成できたせんでした-は、アリスに停物に察する限定的な保護を䞎えたす。 もちろん、アリスがメッセヌゞを公開した埌、他の人が圌女のメッセヌゞを耇補する可胜性があるため、ある意味で停物が可胜です。 しかし、これはれロからは䞍可胜です。 これらの2぀の機胜アリスの意図の決定ず停造防止の制限は、このプロトコルの本圓に泚目すべき機胜です。



私は完党に、実際にはデゞタルマネヌがあるずは蚀いたせんでした。 私は説明したすこれは単なるメッセヌゞそのもの、぀たり、ビットのシヌケンス、たたはむしろデゞタル眲名されたメッセヌゞです 「私、アリス、ボブに情報コむンを1぀䞎える」 。 将来的には、プロトコルはすべおの圢匏のデゞタルマネヌが単により意味のあるメッセヌゞになるずいう点で類䌌しおいたす。



シリアル番号を䜿甚しおコむンを識別する



Infocoinの最初のバヌゞョンの問題は、Aliceが同じ眲名付きメッセヌゞを䜕床も䜕床も送信し続けるこずができるこずです。 ボブが眲名されたメッセヌゞ「I、アリス、ボブにむンフォコむンを1぀莈る」のコピヌを10個受け取ったずしたす。 これは、アリスがボブに10個の異なるむンフォコむンを送ったずいうこずですか 圌女のメッセヌゞは誀っお耇補されたしたか おそらく、圌女はボブをだたしお10皮類のむフノコむンを䞎えるふりをしようずしおいたのに、メッセヌゞは圌女に1぀の情報コむンを枡す぀もりであるずいうこずを䞖界に蚌明するだけでした。



私たちがやりたいのは、むンフォコむンをナニヌクにする方法を芋぀けるこずです。 ラベルたたはシリアル番号が必芁です。 アリスは、 「私、アリス、ボブに1぀のむンフォコむンをシリアル番号8740348で枡しおください」ずいうメッセヌゞに眲名したす。 その埌、アリスは「私、アリス、ボブに1぀のむンフォコむンをシリアル番号8770431で枡す」ずいうメッセヌゞに眲名するこずができ、ボブおよび他の党員は別のむンフォコむンが送信されたこずを知るこずができたす。



このスキヌムが機胜するためには、情報コむンのシリアル番号の信頌できる゜ヌスが必芁です。 そのような゜ヌスを䜜成する1぀の方法は、銀行を開くこずです。 この銀行は、むンフォコむンのシリアル番号を提䟛し、誰がどのむンフォコむンを持っおいるかを远跡し、トランザクションが本圓に合法であるこずを確認したす。



より具䜓的には、アリスが銀行に来お、 「アカりントから1぀のむンフォコむンを匕き出したい」ず蚀ったず仮定したしょう。 銀行は、口座残高を1むンフォコむン枛額し、これたでに䜿甚したこずのないシリアル番号1234567などを割り圓おたす。その埌、アリスがボブにむンフォコむンを枡そうずするず、「I、Alice、Bob 」 しかし、ボブはむンフォコむンを受け取っおいるだけではありたせん。 代わりに、圌は銀行ず連絡を取り、次のこずを確認したす。aこのシリアル番号を持぀むンフォコむンはアリスに属したす。 bアリスはこの情報コむンをただ䜿っおいたせん。 条件が正しい堎合、ボブはこのむンフォコむンを受け入れたいこずを銀行に通知し、銀行は蚘録を曎新しお、このシリアル番号のむンフォコむンが珟圚ボブの凊分にあり、もはやアリスに属しおいないこずを瀺したす。



䞀緒に銀行を䜜成する



この最埌の決定は非垞に有望に芋えたす。 しかし、もっず野心的なこずができるこずがわかりたした。 プロトコルから銀行を完党に陀倖できたす。 これにより、通貚の性質が倧きく倉わりたす。 これは、通貚に察しお責任を負う単䞀の組織がもはや存圚しないこずを意味したす。 そしお、䞭倮銀行の手にある莫倧な力マネヌサプラむの管理を想像するず、これはかなり深刻な倉化です。



アむデアは、党員が集合的に銀行になるこずです。 特に、すべおのInfocoinナヌザヌが誰がInfocoinsを所有しおいるかの完党な蚘録を保持しおいるず仮定したす。 これは、すべおのInfocoinトランザクションを備えたオヌプンな総勘定元垳ず考えるこずができたす。 この本を「ブロックチェヌン」ブロックチェヌンず呌びたす。これが、ビットコむンがすべおの取匕の公開蚘録ず呌ぶものです。



アリスがむンフォコむンをボブに枡したいずしたす。 圌女は「私、アリス、ボブにシリアル番号1234567のむンフォコむンを1぀䞎える」ずいうメッセヌゞに眲名し、眲名されたメッセヌゞをボブに送信したす。 ボブは、ブロックチェヌンのコピヌを䜿甚しお、むンフォコむンが本圓にアリスに属しおいるかどうかを確認できたす。 これが確認されるず、圌はアリスにメッセヌゞずネットワヌクを介したトランザクションの受け入れに関するメッセヌゞを同時に送信し、党員がブロックチェヌンのコピヌを曎新したす。



「シリアル番号はどこから来るのか」ずいう問題はただありたすが、解決するのは非垞に簡単であるこずが刀明しおいるため、埌でビットコむンに぀いお説明するずきに延期したす。 より耇雑な問題は、このプロトコルにより、アリスがむンフォコむンを二重に消費するこずをごたかすこずです。 圌女は、眲名されたメッセヌゞ「私、アリス、ボブにシリアル番号1234567のむンフォコむンを1぀䞎える」をボブに送信し、メッセヌゞ「私、アリス、チャヌリヌに1぀のむンフォコむン、シリアル番号1234567を䞎える」チャヌリヌを送信したす。 ボブずチャヌリヌは䞡方ずも、ブロックチェヌンのコピヌを䜿甚しお、むンフォコむンがアリスに属しおいるこずを確認したす。 圌らがこのチェックを同時に行うこずを条件にお互いに意芋を聞く機䌚が埗られる前に、䞡方ずもはい、ブロックのチェヌンはアリスのコむンの所有暩を瀺しおいたす。 そのため、䞡者は転送を受け入れ、トランザクションの受け入れに関する情報を䞀緒にブロヌドキャストしたす。 今、問題がありたす。 他の人はブロックチェヌンをどのように曎新すべきですか 䞀臎する共通のトランザクション垳を取埗する方法を芋぀けるのはそれほど簡単ではないかもしれたせん。 そしお、誰もがブロックチェヌンを継続的に曎新するこずに同意できたずしおも、ボブたたはチャヌリヌがだたされる可胜性がある別の問題がありたす。



䞀芋するず、アリスが再支出するのは難しいようです。 結局、アリスが最初にメッセヌゞをボブに送信した堎合、ボブはメッセヌゞを確認し、ネットワヌク䞊の他の党員チャヌリヌを含むにブロックチェヌンを曎新するように䌝えるこずができたす。 これが起こるず、チャヌリヌはアリスにだたされなくなりたした。 そのため、最も可胜性が高いのは、アリスが短期間に限っお繰り返し支出を行えるこずです。 ただし、明らかに、このような期間は望たしくありたせん。 さらに悪いこずに、アリスがこの期間を長くできる方法がありたす。 たずえば、ネットワヌクトラフィック分析を䜿甚しお、ボブずチャヌリヌが倚くの通信遅延を抱えおいる時間を芋぀けるこずができたす。 たたはおそらく、圌女は意識的に接続を䞭断するために䜕かをするこずができたす。 圌女が接続を少しでも遅くするこずができるなら、これは繰り返し出費するこずで圌女の仕事を単玔化したす。



ダブルコスト問題をどのように解決できたすか 明らかな解決策は、AliceがBobに1぀のむンフォコむンを送信するずき、Bobが単独で取匕を怜蚌しようずしないこずです。 おそらく、圌はInfocoinネットワヌクのすべおのナヌザヌに可胜なトランザクションをブロヌドキャストし、トランザクションが正圓なものであるかどうかを刀断できるように䟝頌する必芁がありたす。 党員が取匕が正垞であるず刀断した堎合、ボブはこのむンフォコむンを受け入れるこずができ、党員がブロックチェヌンを曎新したす。 このタむプのプロトコルは、アリスがボブずチャヌリヌず情報ボックスを費やそうずするず、ネットワヌク䞊の他の人が気づき、ネットワヌクナヌザヌがボブずチャヌリヌにトランザクションに問題があるこずを䌝え、トランザクションが実装されたした。



より詳现には、アリスがボブに1぀のむンフォコむンを䞎えたいず仮定したす。 前ず同様に、圌女は「私、アリス、ボブにシリアル番号1234567のむンフォコむンを1぀䞎える」ずいうメッセヌゞに眲名し、眲名されたメッセヌゞをボブに枡したす。 前ず同じように、ボブはブロックチェヌンのコピヌを䜿甚しおヘルスチェックを行い、コむンが本圓にアリスのものかどうかを確認したす。 しかし、その瞬間にプロトコルが倉曎されたす。 ボブは先に進んで取匕を受け入れたせん。 代わりに、Aliceにネットワヌク党䜓にメッセヌゞを送信したす。 他のネットワヌクメンバヌは、アリスがこのむンフォコむンを持っおいるかどうかを確認したす。 その堎合、圌らは「はい、アリスはむンフォコむン1234567を所有しおいたす。今ではボブに転送できたす」ずいうメッセヌゞを送信したす。 十分な数の人々がこのメッセヌゞをオンラむンで広めたら、誰もがブロックチェヌンを曎新しお、むンフォコむン1234567がボブによっお所有され、取匕が完了したこずを瀺したす。



このプロトコルには珟圚、倚くの䞍正確な芁玠がありたす。 たずえば、「十分な人がこのメッセヌゞをブロヌドキャストする必芁がありたす」ずはどういう意味ですか 「十分」ずはどういう意味ですか これは、ネットワヌク䞊の党員を意味するものではありたせん。Infocoinネットワヌク内にいる先隓者がわからないからです。 同じ理由で、これはネットワヌク䞊のナヌザヌの固定シェアを意味するこずはできたせん。 私たちは今これを理解しようずはしたせん。 代わりに、次のセクションでは、説明したアプロヌチの重倧な問題を指摘したす。 この問題に泚意を払うこずで、䞊蚘のアむデアをより理解しやすいものにするずいう楜しい副䜜甚がありたす。



仕事の蚌明



アリスが、今説明したプロトコルで再びそれを䜿いたいずしたす。 圌女はInfocoinネットワヌクを制埡するこずでこれを行うこずができたす。 自動化されたシステムを䜿甚しお、Infocoinネットワヌク䞊で、たずえば10億などの倚数の個人IDナヌザヌを構成するず仮定したす。 前ず同じように、圌女は同じ情報コむンをボブずチャヌリヌに二床払おうずしおいたす。 しかし、ボブずチャヌリヌがネットワヌクにトランザクションを確認するように䟝頌するず、アリスの远加ナヌザヌはボブにトランザクションを確認したこずを通知し、チャヌリヌはそのようなトランザクションを受け入れお同時に䞀方たたは䞡方を欺いおトランザクションを確認したこずをネットワヌクに通知したす。



䜜業蚌明ず呌ばれるアむデアを䜿甚しお、この問題を回避する方法がありたす。 このアむデアは逆説的であり、他の2぀のアむデアの組み合わせが含たれたす。1人工的にコンピュヌタナヌザヌの蚈算の圢でネットワヌクナヌザヌにずっおコストのかかるトランザクションの確認を行いたす。 2トランザクションの怜蚌を支揎したこずに察する報酬。 報酬は、ネットワヌク䞊の人々がこのプロセスに蚈算胜力を費やす必芁があるにもかかわらず、トランザクションの怜蚌を支揎するために䜿甚されたす。 トランザクションを怜蚌するこずの利点は費甚察効果が高く、誰かが制埡するIDネットワヌクナヌザヌの数ぞの䟝存を回避するのに圹立ちたす。したがっお、総蚈算胜力のみがテストにプレッシャヌをかけるこずができたす。埌で説明するように、巧劙な蚭蚈を䜿甚しお、詐欺垫が欺くために膚倧なコンピュヌティングリ゜ヌスを必芁ずするように蚭蚈するこずができたす。



これが正しい動䜜の蚌明の本質です。しかし、真に理解するためには、詳现を調べる必芁がありたす。



アリスがニュヌス「私、アリス、ボブにシリアル番号1234567のむンフォコむンを1぀䞎える」をブロヌドキャストするずしたす。



このメッセヌゞを聞くず、誰もがそれを保留䞭のトランザクションのキュヌに远加したす。聞こえたすが、ネットワヌクによっおただ承認されおいたせん。たずえば、Davidずいう名前の別のネットワヌクナヌザヌには、保留䞭のトランザクションの次のキュヌがありたす。



私、トム、スヌに1぀、シリアル番号1201174のむンフォコむン



を枡したす。私、シドニヌ、シンシアに1぀、シリアル番号1295618のむンフォコむン



を枡し




たす。すべおのトランザクションが良奜であるこず。圌は、ネットワヌク党䜓のトランザクションの有効性に関するニュヌスを送信するこずで支揎したいず考えおいたす。



それにもかかわらず、これを行う前に、怜蚌プロトコルの䞀郚ずしお、Davidは困難な蚈算問題-正しい操䜜の蚌明を解決する必芁がありたす。この問題を解決しないず、ネットワヌクの残りの郚分はトランザクションの怜蚌を受け入れたせん。



Davidはどのような問題を解決する必芁がありたすかこれを説明するために、hをネットワヌク䞊のすべおの人に知られおいる固定ハッシュ関数ずしたす。これはプロトコルに組み蟌たれおいたす。ビットコむンは、よく知られたハッシュ関数を䜿甚したす。SHA-256ですが、暗号的に安党なハッシュ関数はすべお機胜したす。 Davidの未完の取匕のキュヌにLラベルを付けたしょう。そうすれば、参照しやすくなりたす。 Davidが数字xいわゆるワンタむム数字を远加し、その組み合わせからハッシュ和を蚈算するずしたす。たずえば、L =“ Hello、world”明らかにこれは操䜜のリストではなく、説明のために1行だけを䜿甚ず1回限りのx = 0を䜿甚するず、16進圢匏で出力が埗られたす



h `` Hello、world0 "= 1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64



デビッドが解決しなければならないタスクは、正しい動䜜の蚌明です-は、xをLに远加し、組み合わせのハッシュの結果が䞀連のれロで始たるように、玠数xを芋぀けるこずです。この問題を解決するために必芁なれロの数を倉曎するこずにより、タスクを倚少難しくするこずができたす。タスクの正しさの比范的単玔な蚌明では、ハッシュの開始時に3぀たたは4぀のれロのみが必芁です。䞀方、タスクの正しさのより困難な蚌明では、はるかに倚くのれロ、たずえば15個の連続したれロが必芁です。いずれの堎合でも、結果がれロから開始されないため、x = 0の適切な1回限りの数字を芋぀ける䞊蚘の詊みは倱敗したした。 x = 1を詊しおみたしょう。たた機胜したせん



h "Hello、world1"= e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8



x = 2,3,4 ...のさたざたな倀を探し続けるこずができたす。最埌に、x = 4250を䜿甚しお、



h "Hello、world4250"= 0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9を取埗し



たす。これは、「仕事の蚌明」ずいう単玔な問題を解決するには十分ですが、「仕事の蚌明」ずいうより難しい問題を解決するには十分ではありたせん。



このタスクを解決するのが難しいものがありたす。暗号化ハッシュ関数の結果は、乱数のように動䜜したす。゜ヌスデヌタの少なくずも1ビットを倉曎するず、結果が倧幅に異なるため、予枬が䞍可胜になりたす。したがっお、最初に10個のれロを持぀ハッシュ倀が必芁な堎合、Davidは平均しお゜ヌトする必芁がありたす。画像適切な玠数を芋぀ける前に異なるx倀。これは、かなりの蚈算胜力を必芁ずするかなり耇雑なタスクです。



ハッシュ関数の出口で倚かれ少なかれれロを介しお、このタスクを解決するのを倚少難しくするこずは可胜です。実際、ビットコむンプロトコルは、䞊蚘の䜜業蚌明パズルのわずかなバリ゚ヌションを䜿甚しお、タスクの難易床をかなり良奜に制埡したす。ビットコむンは、れロを芁求する代わりに、正しい動䜜の蚌拠ずしお、トランザクションブロックのヘッダヌのハッシュがタヌゲットずしお知られる数以䞋であるこずを芁求したす。この目暙は、Bitcoinブロックが承認に平均で玄10分かかるように自動的に調敎されたす。



実際には、ブロックの承認にはかなりの時間がかかる可胜性がありたす-新しいブロックがわずか1〜2分で承認されるこずもあれば、20分以䞊かかるこずもありたす。これはビットコむンプロトコルで盎接倉曎されるため、 1぀の問題を解決する代わりに、いく぀かの問題を解決する必芁がある堎合がありたす;慎重に蚭蚈された゜フトりェア蚭蚈を䜿甚するず、ブロックをチェックする時間のばら぀きを倧幅に削枛できたす。クリスマスツリヌ。



さお、Davidは幞運で、正しい番号xを芋぀けたず仮定したしょう。やった以䞋で説明するように、圌は番号を芋぀けたこずに察する報酬を受け取りたす。䞻匵する操䜜ブロックを、xの倀ずずもにネットワヌクに倉換したす。 Infocoinネットワヌクの他のメンバヌは、xがタスクの正確さを蚌明する゜リュヌションであるこずを確認できたす。そしお、ブロックチェヌンを曎新しお、チェヌンに新しい操䜜ブロックを含める必芁がありたす。



正垞な動䜜を蚌明するずいうアむデアを成功させるためには、ネットワヌクナヌザヌがトランザクションを怜蚌するためのむンセンティブが必芁です。そのようなむンセンティブがなければ、他の人の操䜜を怜蚌するためだけに貎重な蚈算胜力を䜿う理由はありたせん。たた、ネットワヌクナヌザヌがこの電力を䜿甚する準備ができおいない堎合、システム党䜓が機胜したせん。この問題の解決策は、トランザクションの怜蚌を支揎した人々に報いるこずです。特に、トランザクションのブロックを正垞に怜蚌した人に䞀定量のむンフォコむンをクレゞットするこずで報酬を䞎えるず仮定したす。むンフォコむンの報酬は非垞に倧きいので、テストに参加するむンセンティブが䞎えられたす。



ビットコむンプロトコルでは、この確認プロセスはマむニングず呌ばれたす。怜蚌されたトランザクションのブロックごずに、成功した鉱倫はビットコむンで報酬を受け取りたす。圓初、この賞は50ビットコむンに蚭定されおいたした。ただし、21䞇チェックブロックごず玄4幎に1回、報酬は半分になりたす。これは䞀床だけ起こりたした。これたで、ブロックのマむニングに察する報酬は25ビットコむンです。このハヌフレヌトカットは4幎ごずに2140幎たで続きたす。その時点で、マむニング報酬はブロックごずに10 ^ -8ビットコむン未満に䜎䞋したす。 。したがっお、2140幎には、ビットコむンの総䟛絊量は増加しなくなりたす。ただし、これはトランザクションのチェックを継続するむンセンティブを排陀したせん。ビットコむンはたた、トランザクションで䞀定の金額をトランザクション料金ずしお割り圓おるこずを可胜にしたす。これはマむナヌに送られ、トランザクションの受け入れに圹立ちたす。ビットコむンの初期には、取匕手数料はれロでしたが、ビットコむンの人気により、取匕手数料は埐々に増加しおおり、珟圚、マむニングブロックの25ビットコむンの報酬に远加されおいたす。



仕事の蚌明は、取匕をより速く受け入れる競争ず考えるこずができたす。コンテストに参加するたびに少し凊理胜力がかかりたす。鉱山劎働者が競争に勝぀可胜性は倧たかに蚀っお、いく぀かの予玄がある堎合圌らが制埡する総凊理胜力に等しい。したがっお、たずえば、マむナヌがビットコむンのトランザクションを怜蚌するために䜿甚されるすべおの凊理胜力の1を制埡する堎合、玄1の勝率がありたす。぀たり、倚くのコンピュヌティング胜力が競争に関䞎しおいる堎合、䞍正な鉱山劎働者は、倧量のコンピュヌティングリ゜ヌスを費やさない限り、怜蚌プロセスをゆがめる可胜性が比范的䜎くなりたす。



もちろん、これはむンスピレヌションを刺激したすが、䞍正な偎はブロックチェヌンを砎壊する可胜性は比范的わずかですが、これは通貚に察する信頌を刺激するのに十分ではありたせん。特に、再支出の問題はただ完党には解決されおいたせん。



二重コストをすぐに分析したす。これを行う前に、むンフォコむンの説明に重芁な詳现を蚘入したいず思いたす。トランザクションが行われたInfocoinネットワヌク内の順序を調敎するこずが理想的です。そのような泚文がない堎合、い぀どの人がどのむンフォコむンを所有しおいるかが䞍明確になる可胜性がありたす。これを解決するには、新しいブロックには、ブロック内のトランザクションのリストに加えお、チェヌンで承認された前のブロックぞのポむンタヌを垞に含める必芁がありたす。 実際には、ポむンタヌは前のブロックの単なるハッシュです。したがっお、ブロックチェヌンブロックチェヌンがありたす。これは、次のトランザクションブロックの盎接チェヌンであり、各ブロックには盎前のブロックぞのポむンタヌが含たれおいたす。



画像



堎合によっおは、プラグが䞀連のブロックに衚瀺されたす。これは、たずえば、2人の鉱倫が誀っお同時に操䜜ブロックをチェックし、䞡方が新しく承認されたブロックをネットワヌクにブロヌドキャストし、䞀郚の人々が自分のブロックチェヌンを䞀方向に曎新し、他の人々が他の方向に曎新した堎合に発生する可胜性がありたす



画像



これは問題を匕き起こすようですこれは回避しようずしおいたす-トランザクションが発生した順序が明確ではなくなり、誰がどのむンフォコむンを所有しおいるかが明確になりたせん。幞いなこずに、プラグを削陀するために䜿甚できる簡単なアむデアがありたす。ルヌルは次のずおりです。プラグが突然発生した堎合、ネットワヌク䞊の人々は䞡方のブランチを远跡したす。しかし、どの時点でも、マむナヌはブロックチェヌンのコピヌがより長い分岐を継続するこずにのみ取り組んでいたす。



䞀郚のマむナヌが最初にブロックAを取埗し、䞀郚のマむナヌがブロックBを取埗するフォヌクがあるずしたす。ブロックAを最初に取埗したマむナヌは匕き続きこのブランチに沿っお䜜業し、他のマむナヌはブランチBに沿っお進みたす。ブランチBで䜜業しおいるマむナヌがブロックを正垞にマむニングしたこず



画像



これが発生したずいうニュヌスを党員が受け取った埌、ブランチAで䜜業しおいる鉱倫は、ブランチBが長くなったこずに気付き、このブランチで䜜業するように切り替わりたす。以䞊ですすぐに、ブランチAの䜜業が停止し、党員が同じ線圢チェヌンで䜜業し、ブロックAは無芖できたす。もちろん、ブロックAに含たれる未確認のトランザクションは、ブランチBで䜜業しおいるマむナヌのキュヌで決定を埅機し、その埌すべおのトランザクションが確認されたす。さらに、ブランチAで䜜業しおいるマむナヌは、ブランチAを早期に拡匵するこずが刀明する堎合がありたす。この堎合、ブランチBでの䜜業はすぐに停止し、再び1぀の線圢チェヌンがありたす。



結果に関係なく、このプロセスにより、ブロックチェヌンのトランザクションブロックの順序が時間的に調敎されたす。 Bitcoinでは、トランザクションが以前に確認されたず芋なされないこずが認められおいたす1長いブランチのブロックの䞀郚であり、2最長のブランチで少なくずも5ブロックが続いた。この堎合、トランザクションには「6぀の確認」があるず蚀いたす。これにより、ネットワヌクがブロックの䞀貫した順序になるたでの時間が䞎えられたす。むンフォコむンにもこの戊略を䜿甚したす。



合理化を敎理したした。䞍正なナヌザヌが2回䜿甚しようずした堎合に䜕が起こるかに぀いお考えたしょう。アリスがボブずチャヌリヌずむンフォコむンを二床費やそうずするずしたす。圌女にずっお可胜なアプロヌチの1぀は、䞡方のトランザクションを含むブロックを独立しおチェックしようずするこずです。総蚈算胜力の1を持っおいるず仮定するず、幞運を埗るこずができ、数孊的な䜜業の蚌明の問題を解決するこずでブロックを確認したす。残念なこずに、アリスにずっおは、正垞な動䜜の蚌明で問題を解決したにもかかわらず、Ifnokoinネットワヌク䞊の他の人がすぐに再支払いに気づき、拒吊されたす。だから心配する必芁はありたせん。



圌女がボブずチャヌリヌずそれぞれ同じむンフォコむンを行う2぀のトランザクションを別々にブロヌドキャストするず、より深刻な問題が発生したす。たずえば、1぀のトランザクションをマむナヌグルヌプにブロヌドキャストし、別のトランザクションを別のグルヌプにブロヌドキャストしお、この方法でトランザクションの承認を埗るこずを望みたす。幞いなこずに、この堎合、先ほど芋たように、ネットワヌクは最終的にこれらのトランザクションの1぀のみを確認し、䞡方は確認したせん。したがっお、たずえば、ボブの取匕を最終的に確認できたす。その堎合、ボブは萜ち着くこずができたす。䞀方、チャヌリヌは自分の取匕が確認されおいないこずを確認し、アリスの申し出を拒吊したす。だから問題はありたせん。実際、これが起こるこずを知っおいるので、アリスがこれを詊す特別な理由はありたせん。



Alice = Bobの堎合、二重支出には別の重芁なオプションがありたす。アリスはチャヌリヌのコむンを払おうずしたすが、圌女は自分自身に「䜿う」぀たり、自分を返すこずもできたす。気づき、察凊するのは簡単に芋えたすが、もちろん、ネットワヌク䞊の同じ人や組織に接続しおいる耇数のナヌザヌを蚭定するのは簡単なので、この可胜性を考慮する必芁がありたす。この堎合、アリスの戊略は、チャヌリヌがむンフォコむンを受け入れるたで埅぀こずです。これは、トランザクションが最長チェヌンで6回確認された埌に発生したす。圌女は、チャヌリヌずの取匕の前にチェヌンを分岐させ、支払い取匕を含むブロックを自分自身に远加しようずしたす。



画像



残念ながら、アリスが長いブランチに远い぀くこずは非垞に困難です。他の鉱山劎働者は圌女を助けたがらない。圌らはより長い枝で働くからだ。そしお、アリスが少なくずもネットワヌク䞊の他の党員ず同じくらいの速さで正しい動䜜の蚌明を解決できるたで-倧たかに蚀っお、これは蚈算胜力の50以䞊を制埡するこずを意味したす-圌女は単にさらに遅れたす埌ろに。もちろん、圌女は幞運かもしれたせん。たずえば、Aliceが凊理胜力の1を制埡するシナリオを想像できたすが、運が発生し、ネットワヌクの残りが新しいブロックを芋぀ける前に6぀の远加ブロックを連続しお芋぀けたす。この堎合、圌女は先に進み、ブロックのチェヌンを制埡できたす。ただし、この特定のむベントは1 /100 ^ 6= 10 ^ -12の確率で発生したす。この方向のより䞀般的な分析は、アリスが他のすべおの鉱山劎働者に近い速床で正しい操䜜の蚌明を解決できない堎合、ブロックの長い分岐に远い぀く確率は無限に小さいこずを瀺しおいたす。



もちろん、これは培底的な安党分析ではなく、アリスが繰り返し出費できないこずを瀺しおいたす。これは信頌性の非公匏な議論にすぎたせん。実際、ビットコむンを衚す元のテキストには、セキュリティの培底的な分析は含たれおおらず、私が提瀺したポむントに関する非公匏の議論のみが含たれおいたす。セキュリティに関心のあるコミュニティは、ただビットコむンを分析し、朜圚的な脆匱性を理解しようずしおいたす。これらの研究のいく぀かをここで芋るこずができ、以䞋の「著者の問題」でいく぀かの問題に蚀及したす元のテストを参照。珟時点では、ju審員はビットコむンの安党性をただ知らないず蚀っおもいいず思いたす。



適切な操䜜ずマむニングの蚌明のアむデアには、倚くの疑問が生じたす。人々に採掘を説埗するにはどのような報酬が必芁ですかむンフォコむンの攟出の倉化は、むフノコむンの経枈にどのように圱響したすかむンフォコむンのマむニングは最終的に少数たたは倚数の手に集䞭するでしょうかマむナヌが数人しかいない堎合、これはシステムのセキュリティを危険にさらしたすかおそらく、トランザクションのコストは時間の経過ずずもにバランスが取れたす。これにより、望たしくない摩擊の原因にならず、小さなトランザクションが望たしくなくなるこずはありたせんかこれらはすべお、この蚘事の範囲倖の倧きな質問です。今埌の出版物では、これらの問題にビットコむンの文脈で戻るこずができたす。珟圚、ビットコむンプロトコルの仕組みを理解するこずに焊点を圓おたす。



ビットコむン



Infocoinから離れお、実際のBitcoinプロトコルに぀いお説明したしょう。ここにはいく぀かの新しいアむデアがありたすが、Infocoinの基本的な明らかな倉曎であるずいう1぀の䟋倖䞋蚘参照がありたす。



実際にビットコむンを䜿甚するには、たずお䜿いのコンピュヌタヌにりォレットプログラムをむンストヌルしたす。これが䜕を意味するのかを理解するために、Multbitずいうりォレットプログラムのスクリヌンショットを次に瀺したす。巊偎にビットコむンの残高を芋るこずができたす-0.06555555ビットコむン、たたはこのスクリヌンショットを撮った日の為替レヌトで玄70ドル-そしお右偎に0.06555555ビットコむンを圢成する2぀の最近のトランザクションがありたす



画像



あなたがオンラむンストアを䜜成し、人々がビットコむンを䜿甚しお商品の支払いを蚱可するこずを決定した商人であるず仮定したす。最初に行うこずは、プログラムでビットコむンアドレスを生成するこずです。それに応じお、圌は公開鍵/秘密鍵のペアを生成し、次に公開鍵ハッシュを生成しおビットコむンアドレスを圢成したす。



画像



次に、あなたから賌入したい人にビットコむンアドレスを送信したす。これはメヌルで行うこずも、Webペヌゞに公開するこずもできたす。これは安党です。アドレスは公開鍵のハッシュ倀にすぎず、ずにかく䞖界で安党に知るこずができるからです。 ビットコむンアドレスが単に公開鍵ではなくハッシュである理由の質問に戻りたす。



あなたに支払う人がトランザクションを生成したす。0.31900000ビットコむンを送信する実際のトランザクションのデヌタを芋おみたしょう。以䞋は、ほずんど生のデヌタを瀺しおいたす。それらは3぀の方法で倉曎されたす。1デヌタがシリアルからパラレルに倉換されたしたデシリアラむズされたした。2䜿いやすさのために远加された行番号。3実際にはもっず長い堎合でも、それぞれの最初の6桁の16進数を衚瀺するだけで、さたざたなハッシュず公開キヌを短瞮したした。デヌタは次のずおりです。



  1. {「ハッシュ」「7c4025 ...」、
  2. 「Ver」1、
  3. 「Vin_sz」1
  4. 「Vout_sz」1
  5. Lock_time0、
  6. 「サむズ」224、
  7. 「入力」[
  8. {「Prev_out」
  9. {「ハッシュ」「2007ae ...」、
  10. 「N」0}、
  11. "ScriptSig" "304502 ... 042b2d ..."}]、
  12. 「アりト」[
  13. {「倀」「0.31900000」、
  14. "ScriptPubKey" "OP_DUP OP_HASH160 a7db6f OP_EQUALVERIFY OP_CHECKSIG"}]}




行ごずに行こう。



行1には、トランザクションの残りのハッシュ7c4025 ...が16進数で衚されおいたす。これは、トランザクション識別子ずしお䜿甚されたす。



2行目は、これがビットコむンプロトコルのバヌゞョン1の取り決めであるこずを瀺しおいたす。



3行目ず4行目は、トランザクションにそれぞれ1぀の入力ず1぀の出力があるこずを瀺しおいたす。倚数の入力ず出力を䌎うトランザクションず、これがなぜ圹立぀のかに぀いお以䞋で説明したす。



行5にはlock_timeの倀が含たれおいたす。この倀を䜿甚しお、トランザクションがい぀完了するかを制埡できたす。ほずんどのトランザクションでは、今日のBitcoinのlock_timeは0に蚭定されおいたす。぀たり、トランザクションはすぐに完了したす。



6行目は、トランザクションのサむズバむト単䜍を瀺しおいたす。これは珟金振替ではないこずに泚意しおくださいさらにそれに぀いお。



行7〜11は、操䜜の導入ビットコむンを定矩したす。特に、8行目から10行目は、察応するハッシュ量を持぀前のトランザクションの出力から入力を取埗する必芁があるこずを瀺しおいたす。これは、2007ae .... .n = 0の16進圢匏で衚されたす。そのトランザクション;近い将来、トランザクション内のいく぀かの結論および入力がどのように機胜するかがわかるので、今はあたり心配しないでください。行11には、送金者の眲名304502 ...、スペヌス、および察応する公開鍵-04b2d ...が含たれおいたす。再び16進圢匏で。



入力に぀いお泚意すべき唯䞀のこずは、前のトランザクションのビットコむンがこのトランザクションでどれだけ䜿甚されるべきかを正確に瀺すこずができないこずです。実際、前のトランザクションの出力のn = 0からのすべおのビットコむンが費やされたした。そのため、たずえば、前のトランザクションのn = 0番目の出力が2ビットコむンだった堎合、2぀のビットコむンがこのトランザクションに費やされたす。これは䞍快な制限のように思われたす。これは20ドル札でパンを買おうずするのず同じで、小さな玙幣に分割するこずはできたせん。もちろん、゜リュヌションには倉曎を取埗するメカニズムが必芁です。これは、次のセクションで説明するいく぀かの入力ず出力を持぀トランザクションを䜿甚しお実行できたす。



行12から14は、トランザクションからのビットコむンの匕き出しを決定したす。特に、行13は出力の倀0.319ビットコむンを瀺しおいたす。 14行目はかなり耇雑なプロセスです。 a7db6f ...の倀は、目的の受信者のビットコむンアドレス16進圢匏で蚘述であるこずに泚意するこずが重芁です。実際、14行目はビットコむンスクリプト蚀語の衚瀺にすぎたせん。このノヌトでは、このプログラミング蚀語に぀いお詳しく説明する぀もりはありたせん。理解すべき䞻なこずは、a7db6f ...はビットコむンアドレスにすぎないずいうこずです。



ずころで、ビットコむンのシリアル番号はどこから来たのでしょうか実際、シリアル番号の圹割は、トランザクションのハッシュ和によっお果たされたす。たずえば、䞊蚘のトランザクションでは、受信者は、ハッシュ和2007ae ...行9を䜿甚しお、前の操䜜の最初の出力から0.319ビットコむンを受け取りたす。このトランザクションのブロックチェヌンを調べおみるず、その出力が以前のトランザクションからのものであるこずがわかりたす。などなど。



シリアル番号の代わりにトランザクションハッシュ量を䜿甚するこずには、2぀の賢明なこずがありたす。たず、ビットコむンには、個別の氞続的な仮想「コむン」はありたせん。ブロックのチェヌンには、単玔に長い䞀連のトランザクションがありたす。コむンは必芁ないこずを理解するのは賢明なアむデアであり、取匕の本を䜜成するだけで枈みたす。第二に、この方法で䜜業する堎合、シリアル番号を発行する䞭倮機関の必芁がなくなりたす。代わりに、トランザクションをハッシュするこずによっおのみ、シリアル番号を自動的に生成できたす。



実際、過去にさかのがっお䞀連のトランザクションを远跡し続けるこずができたす。最終的に、このプロセスは完了する必芁がありたす。これには2぀の方法がありたす。いわゆるGenesisブロックに含たれる最初のBitcoinトランザクションに到達するず、最初の機䌚が生じたす。これは入力がなく、50ビットコむンでの結論のみを持぀特別なトランザクションです。぀たり、このトランザクションは初期のマネヌサプラむを蚭定したす。初期ブロックは、ビットコむンネットワヌクのクラむアントプログラムによっお個別にアクセスされたす。そしお、これは詳现に觊れたせんが、これは䞊蚘の取匕ず非垞に䌌おいたす。ここで、シリアル化されたパラレル゜ヌスデヌタを確認できたす。



2番目の可胜性は、過去の䞀連のトランザクションをたどるず、最終的にいわゆる基本トランザクションコむンベヌストランザクションに到達するこずです。開始ブロックを陀き、ブロックチェヌン内の操䜜の各ブロックは、特別な基瀎ずなるトランザクションで始たりたす。この取匕は、この䜜業ブロックを怜蚌する鉱倫に察する賞です。䞊蚘の類䌌した、しかし同䞀ではないトランザクション圢匏を䜿甚したす。この圢匏の詳现に぀いおは説明したせん。䟋に぀いおは、こちらをご芧ください。ここで基本的な取匕に぀いおもう少し読むこずができたす。。いく぀かの点で、䞊蚘から正確ではありたせんでした。぀たり、特に行11でデゞタル眲名されおいたす。明らかに、支払人はトランザクション党䜓に眲名する必芁がありたす埌で生成されるトランザクションのハッシュを陀く。珟圚、これは圓おはたりたせん。トランザクションの䞀郚は省略されおいたす。これは、トランザクションの䞀郚になり、倉数、トンを。E.圌らは埌から倉曎するこずができたす。ただし、この可塑性は、送信者ず受信者が支払う金額には含たれおおらず、埌で倉曎するこずはできたせん。私は認めなければなりたせん、私は詳现に適合したせんでした。私が理解しおいるように、この可塑性はビットコむン開発者コミュニティで議論されおおり、この可塑性を䜎枛たたは排陀する努力がなされおいたす。



耇数の入力ず出力を䜿甚した操䜜



最埌のセクションでは、1぀の入力ず1぀の出力の凊理がどのように機胜するかを説明したした。実際には、倚くの堎合、耇数の入力たたは耇数の出力を持぀ビットコむントランザクションを䜜成するず非垞に䟿利です。これがなぜ圹に立぀のかに぀いおは埌で説明したす。しかし、最初に、実際のトランザクションデヌタを芋おみたしょう。



  1. 。 {「ハッシュ」「993830 ...」、
  2. 「Ver」1、
  3. Vin_sz3、
  4. 「Vout_sz」2
  5. Lock_time0、
  6. 「サむズ」552、
  7. 「入力」[
  8. {「Prev_out」{
  9. 「ハッシュ」「3beabc ...」、
  10. 「N」0}、
  11. "ScriptSig" "304402 ... 04c7d2 ..."}、
  12. {「Prev_out」{
  13. 「ハッシュ」「fdae9b ...」、
  14. 「N」0}、
  15. "ScriptSig" "304502 ... 026e15 ..."}、
  16. {「Prev_out」{
  17. 「ハッシュ」「20c86b ...」、
  18. 「N」1}、
  19. "ScriptSig" "304402 ... 038a52 ..."}]、
  20. 「アりト」[
  21. {「倀」「0.01068000」、
  22. "ScriptPubKey" "OP_DUP OP_HASH160 e8c306 ... OP_EQUALVERIFY OP_CHECKSIG"}、
  23. {「倀」「4.00000000」、
  24. "ScriptPubKey" "OP_DUP OP_HASH160 d644e3 ... OP_EQUALVERIFY OP_CHECKSIG"}]}




行ごずに行こう。これは、1぀の入力ず1぀の出力を持぀トランザクションに非垞に䌌おいるため、非垞に迅速に行いたす。



行1には、トランザクションの残りのハッシュが含たれおいたす。これは、トランザクション識別子ずしお䜿甚されたす。



行2は、これがビットコむンプロトコルのバヌゞョン1のトランザクションであるこずを瀺しおいたす。



3行目ず4行目は、トランザクションにそれぞれ3぀の入力ず2぀の出力があるこずを瀺しおいたす。



行5にはlock_timeが含たれおいたす。 1぀の入力ず1぀の出力の堎合ず同様に、倀は0です。぀たり、トランザクションはすぐに完了したす。



行6は、トランザクションのサむズをバむト単䜍で瀺しおいたす。



行7〜19は、トランザクションの゚ントリのリストを定矩したす。それぞれは、以前のビットコむン取匕からの結論に察応しおいたす。



最初の゚ントリは、8〜11行目で定矩されおいたす。



特に、8行目から10行目は、3beabcのハッシュ倀を持぀トランザクションからのn = 0番目の出力から入力を取埗する必芁があるこずを瀺しおいたす。行11には、眲名、スペヌス、ビットコむンの送信者の公開キヌが含たれおいたす。



行12〜15は、行8〜11ず同様の圢匏で2番目の入力を定矩したす。行16〜19は、3番目の入力を定矩したす。



行20〜24は、トランザクションからの2぀の結論を含むリストを定矩したす。

最初の出力は、行21ず22で定矩されおいたす。行21は、0.01068000ビットコむンの出力倀を瀺しおいたす。前ず同様に、22行目はビットコむンスクリプト蚀語の衚珟です。ここで泚意を払うべき䞻なものは、行e8c30622 ...であり、資金の察象受取人のビットコむンアドレスです。



2番目の結論は、23行目ず24行目に、最初の結論ず同様の圢匏で定矩されおいたす。



この説明で明らかな奇劙な点は、各出力にビットコむンの量が関連付けられおいるが、入力にはないこずです。もちろん、察応する入力の倀は、以前のトランザクションの察応する結論を参照するこずで芋぀けるこずができたす。暙準のビットコむン操䜜では、トランザクション内のすべおの入力の合蚈は、少なくずもすべおの結論の合蚈ず同じでなければなりたせん。 この原則の唯䞀の䟋倖は、初期ブロックず基本トランザクションコむンベヌスで、どちらもビットコむンネットワヌク䞊で新しいオファヌを圢成したす。出力よりも入力が倚い堎合、超過分はトランザクション料金ずしお䜿甚されたす。これは、珟圚のトランザクションが含たれる、正垞に怜蚌されたブロックに察しおマむナヌに支払われたす。



それはすべお、倚数の入力ず出力を持぀トランザクションに぀いおですこれらは、1぀の入力ず1぀の出力を持぀かなり単玔なトランザクションバリ゚ヌションです。



このようなトランザクションの良い䜿甚法の1぀は、降䌏のアむデアです。たずえば、0.15ビットコむンを送りたいずしたす。0.2ビットコむンを受け取った以前の取匕からお金を送るこずでこれを行うこずができたす。もちろん、すべおの0.2ビットコむンを送りたいずは思いたせん。この゜リュヌションは、0.15ビットコむンを送信し、0.05ビットコむンを私の所有するビットコむンアドレスに送信したす。これらの0.05ビットコむンは降䌏したす。この堎合の倉曎は自分ぞの支払いであるため、これは店舗で倉曎を受け取るプロセスずは倚少異なりたす。しかし、䞀般的な考え方は䌌おいたす。



おわりに



これで、ビットコむン技術にある基本的な考え方の基本的な説明を終わりたす。 もちろん、倚くの詳现を省略したした-技術的な説明は行いたせんでした。 しかし、ビットコむンを䜿甚する最も䞀般的なケヌスの基本的なアむデアを説明したした。



ビットコむンのルヌルはシンプルで理解しやすいですが、これはこれらのルヌルのすべおの結果を理解するのが簡単であるこずを意味したせん。 ビットコむンに぀いおはただただ倚くのこずがありたす。これらの問題のいく぀かに぀いおは、今埌怜蚎しおいきたす。



いく぀かの物議を醞す点に察凊するこずにより、私の投皿を締めくくりたす。



ビットコむンはどのくらい匿名ですか 倚くの人々は、ビットコむンは匿名で䜿甚できるず䞻匵しおいたす。 この声明は、 シルクロヌドや違法商品を専門ずするさたざたな埌継者などの垂堎の圢成に぀ながりたした。 䞀方、ビットコむンは匿名であるずいう䞻匵は神話です。 ブロックチェヌンは公開されおおり、オヌプンであるため、すべおの人がビットコむントランザクションを芋る機䌚がありたす。 ビットコむンのアドレスはすぐに実際の人々に関連付けられるわけではありたせんが、コンピュヌタヌ科孊者は「匿名」゜ヌシャルネットワヌクの匿名化を解陀する方法を芋぀け出したした。 ブロックチェヌンは、これらのメ゜ッドの理想的なタヌゲットです。 近い将来、ビットコむンナヌザヌの倧倚数が比范的高い信頌性ず䜿いやすさで識別されない堎合、私は非垞に驚くでしょう。 この自信は、有眪の嘆願を達成するのに十分なほど高くはありたせんが、可胜性の高い目暙を特定するには十分に高くなりたす。 さらに、識別は遡及的であるため、2011幎にシルクロヌド垂堎で薬を賌入した人は、たずえば2020幎のブロックチェヌンに基づいお自身を識別するこずができたす。 これらの匿名化解陀方法は、科孊者、そしおおそらく囜家安党保障局米囜によく知られおいたす。 NSAや他の機関がすでに倚くのナヌザヌを認識しおいおも驚かないでしょう。 皮肉なこずに、ビットコむンはしばしば匿名ずしお宣䌝されおいたす。 そうではありたせん。 それどころか、ビットコむンはおそらく、䞖界がただ芋たこずがない最もオヌプンで透明な金融商品です。



ビットコむンで金持ちになれたすか たあ倚分。 ティム・オラむリヌはか぀お蚀った。「お金は車のガ゜リンのようなものです。泚意を払う必芁がありたす。そうしないず道路の脇にしたいたす。 しかし、長生きする人生はガ゜リンスタンドのツアヌではありたせん »ビットコむンぞの倚くの関心は、人生の䜍眮が本圓に倧きなガ゜リンスタンドを芋぀けるこずを目的ずしおいる人々から来おいたす。 私は認めざるを埗ない、私はそれが䞍可解だず思う。 私の意芋では、ビットコむンやその他の暗号通貚を新しい圢態の集団行動ぞの道ず考える方がはるかに興味深く楜しいです。 知的に刺激的で、創造性の玠晎らしい機䌚を提䟛し、瀟䌚的に䟡倀があり、お金を銀行に入れるこずもできたす。 しかし、銀行のお金があなたの䞻な仕事であるならば、私は他の戊略が成功するはるかに倧きなチャンスがあるず信じおいたす。



詳现は省略したした。この投皿ではビットコむンの背埌にある䞻芁なアむデアを説明したしたが、蚀及しなかった詳现はたくさんありたす。 ここに、たずえば、 Merkle Treeずしお知られるデヌタ構造モデルに基づいお、プロトコルで䜿甚されるサむズ保存機胜がありたす。 これは詳现ですが、非垞に詳现であり、デヌタ構造があなたのものであるかどうかをもっず知る䟡倀がありたす。 オリゞナルのビットコむンペヌゞをダりンロヌドしお探玢できたす。 第二に、私はすでにビットコむンネットワヌクに぀いお少し話したした-ネットワヌクがサヌビス拒吊攻撃にどのように察凊するか、ノヌドがどのようにネットワヌクに参加し、離脱するかなどの質問。 これは魅力的なトピックですが、倚くの詳现も必芁になるため、省略したした。 詳现に぀いおは、䞊蚘のリンクのいく぀かをご芧ください。



スクリプト蚀語ビットコむンこの蚘事では、ビットコむンをデゞタルオンラむンマネヌの圢匏ずしお説明したした。 しかし、これははるかに倧きく、より興味深い物語のほんの䞀郚です。 既に芋たように、各ビットコむントランザクションは、プログラミング蚀語ビットコむンのスクリプトに関連付けられおいたす。 この蚘事で芋たシナリオでは、 「アリスがボブに10ビットコむンを莈った」などの簡単な操䜜に぀いお説明しおいたす。 ただし、スクリプト蚀語を䜿甚しお、はるかに耇雑なトランザクションを衚珟するこずもできたす。 蚀い換えれば、ビットコむンはプログラム可胜なお金です。 埌の出版物では、スクリプトシステムに぀いお説明し、Bitcoinスクリプトをプラットフォヌムずしお䜿甚しお、あらゆる皮類の玠晎らしい金融商品を実隓する方法を説明したす。



翻蚳アンドレむ・デュベツキヌ、むゎヌル・コルサコフ



All Articles