合意形成プロトコルCBCについて


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

合意プロトコルは,通信ノード同士が何かに同意することを保証するメカニズムです.ブロックチェーンで新しいブロックをダウンロードするノードは,システムの履歴としてトランザクションに確実に同意することを望みます.作業証明(PoW)では,ノードがあるトランザクションでハッシングを解くと,標準チェーンに含まれることを意味します.

PoWの欠点は,非常に多くのエネルギー消費と,ブロックチェーンを維持するセキュリティとを満たしながら,スループットを増加させることが可能かどうかが定かではないところです.それでは,他の合意プロトコルはあるでしょうか?,作業料分だけ手数料を受け取るのは,理にかなっています.

それでも,Proof of Stake(PoS)という手法もあります.それは,ある量の資本を(例えば暗号通貨)を持つノードを信用して,次のブロックの選択権を得るというものです.

ここでは,合意プロトコルの概念を確認していきましょう.

CBCというプロトコルを説明していきます.

システムを設計するとき,セキュリティは重要です.システムを徹底的にテストすることは,システムが意図したとおりに機能することを確認する1つの方法です.それは予測可能な方法で機能しているでしょうか.与えられた入力は,内部的な矛盾を引き起こしませんか.

ここで,紹介するCBCという手法は,次のようなことも許容します.システムの部分が,未定義のままにされるかもしれません,これはよく言えば仕様が変更できるということです.ある性質Pがある空間Sに存在するメカニズムとして成立することを証明することができれば,Sのサブセット上でのメカニズムS’で,性質P’を証明できるかもしれません.たとえば,Sをブロックチェーン合意メカニズムのSとします.最長のチェーンフォーク選択するというこというメカニズムがS’になるように考えましょう.フォークの選択へある規則制をもちこむことによって一貫性が得らます.それは,S’におけるプロパティP’を得ることでもあります.

ノードがやり取りするメッセージは,可能な合意値を見出し,この値について合意を達するために送信されます.

合意値
検証(送信者)への参照
プロトコルによる状態の参照(正当化)

例えば,AとBという2つの検証があり,常にメッセージに値1を送信します.プロトコルは,最初は何もしません.だれでも送信できるメッセージは,名前,値1、および前の状態への参照,空集合だけです.この時点でネットワークのノードから見えるものは,空集合ø,Aからのメッセージ,Bからのメッセージ、またはAとBからのメッセージです.

私たちは,新たなメッセージが構築される以前のプロトコルによる状態を参照できるようにするために各メッセージを必要とします .プロトコルによって送られのは,単なるメッセージであり,それぞれのメッセージは以前のプロトコルによる状態を参照します.

プロトコルによって,タイミングにより,状態は分岐するかもしれません.

その場合,ノードはどちらが正しいのかを決定できなければなりません.つまり,合意値が0と1の両方であると決定することはできないいうことです.これが安全性の保証となります.

このような安全性を保つことは,2つのノードにとっては簡単です.2つのノードによって決定された合意値はお互いに明白です(常識的には片方が決まれば,もう片方決まります)が,例えば,3つの合意値が一致しないことがあります.
ライトを点灯させるには2つのスイッチをオンにする必要があるとします.2つのノードがスイッチを観察し,3つめのノードはライトを観察します.1つのスイッチがオンになっていても,必ずしもライトが点灯しているとは限りません.つまり,ライトが消えている間は,2つのノードは両方のスイッチがオンになっているのを観察することはできません.これは,両方のスイッチがオンになっていても,ライトが点灯していないことも許します.

このようなことは,ひとつのスイッチとライトの点灯の有無は明白です.

そこでCBCは,メッセージに重みづけ(合意値0のようなメッセージは重みをなくす)をして,重みがある閾値よりも大きい限り一貫した決定を下せるようにします.

これまでのところ,決定はプロトコルによる状態に依って行われて,プロトコルによる状態から合意値に向かう関数を私たちはもっていません.ここで,注目すべきは,推定量という概念の導入です.プロトコルによる状態が与えられると,推定量は合意値を返します.CBCでは,推定量は未定義のままです.

ブロックチェーンのスケーラビリティ 4


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

先回の続きで,ブロックチェーンのスケーラビリティ解決策を記していきます.

4)シャーディング

ブロックチェーンの分割は,従来のデータベースの分割と似ています.従来のデータベースでは,負荷分散のためサーバーを分割しました.

同様に,ブロックチェーンの分割でも,ブロックチェーンの全体的な状態がさまざまな部分に分割され,各部分はネットワーク内のさまざまなノードによって格納されます.

ネットワーク上で発生するトランザクションは,どのシャードが影響を受けるかに応じて,各ノードに送信されます.各部分は状態のごく一部を並行的に処理します.このとき,シャード間で通信するためには,何らかのメッセージ受け渡しメカニズムになります.

例えば,シャード内のトランザクションが実行されると,ローカルシャードを更新し,同時にレシート(更新した証拠)を生成します.このレシートは,共有メモリに記録されます.

ブロックチェーンを分割するには,高いセキュリティを維持しながら,すべてのノードがすべてのトランザクションのごく一部しか処理しないネットワークを構築する必要があります.これは極めて難しことです.

それは,ブロックチェーンプロトコルでは、ネットワーク内のすべてのノードが互いに信頼し合うとは限らないと想定しています.それでも、トランザクションは異なるコンピューターで処理されるにもかかわらず,共通の状態について合意している必要があるからです.これを解決するには,多くの権限を持つ可能性のある攻撃者に機会を生み出すことなく,どのノードが安全な方法でどの断片を検証するかを決定するメカニズムを見つける必要があります.

分割を実装するのが難しいもう1つの理由は,ブロックチェーン上で実行されるトランザクションがブロックチェーン内の前の状態のどの部分にも依存する可能性があるため,並行して処理するのが困難になるためです.さらに、並列化を使用すると,競合状態などを緩和するための絶対確実な方法が必要になります.

ブロックチェーンのスケーラビリティ 3


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

ブロックチェーンの大きさを自由に変更できるようにすることは,既知の課題で,数年間にわたって活発に研究されています.

具体的には,

1)SegWitによる解決策です.

Segwit(セグウィット)とは,Segregated Witness(Witness=隔離された署名領域),の略語です.Segwitはトランザクション情報をコンパクトに圧縮することでスケーラビリティ問題の解決が期待される技術のひとつです.

2)ブロックサイズを大きくする.

各ブロックに収まるトランザクション数を増やすことができ,ネットワークは1秒あたりのトランザクション数を増やすことができます.

3)ステートチャネルを使う.

ステートチャネルは次のように機能します.

ブロックチェーンの一部は,マルチシグネチャまたは,ある種のスマートコントラクトを介してロックされています.その場合、チェーンを更新する唯一の方法は,特定の参加者が完全に同意した場合です.

参加者は、トランザクションを直接ブロックチェーンに送信せずにトランザクションを作成して暗号署名することによって,自分自身で更新を行います.新しい更新は以前の更新を上書きします.その後,参加者はブロックチェーンに更新した結果を送り返し,そこでブロックは,ステートチャネルを一旦閉じて,再びステートチャネルを解除します.

ステートチャネルを使うことで,更新を無制限にして,無期限に開いたままにすることができます.このときブロックチェーンは,最終トランザクションを処理するための決済レイヤとして純粋に使用されて,ブロックチェーンの負担を軽減するでしょう.ただし仕組み上トランザクションの透明性は低くなります.

次回に続きます.

ブロックチェーンのスケーラビリティ 2


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

前回の続きです.

それでは,スケーラビリティは実際どのようになっているのでしょうか.

Ethereumのノードにおける理論上の最大トランザクション処理能力は,毎秒1,000トランザクションを超えます. 残念ながら、これはEthereum手数料を鑑みると実際の処理量ではありません.現在のところ,各ブロックの平均手数料は約670万ガス(手数料の単位)です.

トランザクションには,送信者が購入しても構わないと思っているガスの最大量を指定するための手数料を制限するフィールドがあります.したがって,各ブロック内の各トランザクション数は,手数量の制限値に基づいて,決定されます.

たとえば,スマートコントラクトで使用される手数料の平均値は50Kです,Ethereumの場合は,手数料の制限値より,1秒間に約7トランザクションとなるのです.

Ethereumネットワーク上のトランザクション数が大幅に増加しているという事実と組み合わせると,これがいかに問題になるかがわかります。.手数料の制限値は,トランザクションが増えれば増えるほど,スケーラビリティの足かせになります.同様にこのような例は.Bitcoinでもみられます.

ブロックチェーンを拡大縮小するには,すべてのノードに計算能力を変化させる必要があります.

次回は,どのようにすれば問題を解決できるのかを説明します.

ブロックチェーンのスケーラビリティ 1


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

サトシナカモトが,2008年に論文を発表して以来,ブロックチェーン技術の可能性について私はとても期待しています.

分散型のデジタル通貨は,かつては非常に難しい問題を含んでいましたが,それは拡大し続けています.

例えば,監視社会に抵抗する社会的プラットフォームとして有効であるようです.

しかし,それを実現するのを妨げる大きな問題,それは,スケーラビリティです.ブロックチェーンは,拡張性に限界があります.

では,ブロックチェーンがスケーラブルではないのはなぜでしょうか.

現在有効な.すべてのブロックチェーンコンセンサスプロトコル(例えば,Bitcoin,Ethereum,Ripple,Tendermint)には,制約があります.ネットワーク内のすべての参加ノードは,すべてのトランザクションを処理する必要があります.ブロックチェーンは,ネットワーク上のすべてのノードがすべてのトランザクションを処理し,状態全体のコピーを維持することを意味します.

分散化コンセンサスメカニズムは,スケーラビリティが犠牲になるのです.実際,ブロックチェーンは,ノードが増えるごとに対数的に増加するノード間レイテンシのため、ネットワークに追加されるノードが増えるにつれて処理は遅くなります.

従来のデータベースシステムでは,スケーラビリティに対する解決策は,追加されたトランザクションを処理するためにサーバを追加すること(すなわち、計算能力)でした.すべてのノードがすべてのトランザクションを処理および検証する必要がある分散型であるブロックチェーンの世界では,ネットワークを高速化するためにすべてのノードの計算能力を上げる必要がありますが,それはできないでしょう.

その結果,ブロックチェーンコンセンサスプロトコルは,低いトランザクションスループットと高度の集中化との間のトレードオフを作ります.言い換えれば,ブロックチェーンのサイズが大きくなるにつれて,ネットワークに完全に参加するために必要なストレージ,帯域幅,および計算能力に対する要件が増大します.ある時点で、いくつかのノードでブロックを処理することが実現可能になるだけでは扱いにくくなり,集中化のリスクにつながります.

スケーラビリティのために,ブロックチェーンプロトコルは,各トランザクションが有効であるというネットワークの信頼を失うことなく,各トランザクションを検証するために必要な参加ノードの数を制限するメカニズムを見つけ出す必要があります.

すべてのノードがすべてのトランザクションを検証することを許可されていないので,他のブロックが安全であることを保証する統計的および経済的手段がノードに必要です.

スケーラビリティを達成するためには,トランザクションは異なるノードによって並列に処理される必要があります.ただし,ブロックチェーンの状態遷移にはいくつかの非並列化な部分もあるため,並列化と実用性のバランスを取らなければなりません.

次回は,この続きを書いていきます.

ブロックチェーンとAI


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

ブロックチェーンとAIは,分散システムとデータが集中するシステムとして対照的です,短いですが,ここでは,AIとブロックチェーンがどのように相互作用するのか説明します.

AIは,計算速度において,学習データを集中させるという性格から,ブロックチェーンでそのまま実行することはできません.

AIは学習のために膨大な量のデータを必要としますが,素早くコミュニケーションさえできれば分散システムで学習させうことができるでしょう.深層学習では,データを集中的に収集することなくAIに学習を行わせることができるでしょうか?,これは,ブロックチェーンで実行されているAIが直面している課題です.AIに何らかの方法で学習を分散させる必要があります.現在の深層学習は単純にそのような分散性と互換性がないため,ブロックチェーン技術は,データが分散するIoTのデバイスから,AIアプリケーションがデータを集中させるまでの過程で,ブロックチェーン技術は有用ではないでしょうか.

AIは,ブロックチェーン技術を使用して,学習に使用されるデータの出所を確認し,バイアスの原因を特定して修正するのに役立つ可能性があります.ただし,現在のAIシステムでは,学習済みのデータを他のモデルに組み込んだ場合は,素早くデータを追加または削除できません.ただしデータの出所とその出所を追跡する透明なシステムと,その品質と真実性の透明な評価は,偽のニュース,誤ったデータ,低品質の情報が誤ってAIに組み込まれないようにするのに役立ちます.

現在のコンセンサスメカニズム – 主に作業証明に基づいている – は,広範囲に利用するAIにとって大規模に利用するには余りにも作業への要求が高すぎます.計算上無駄があり,エネルギーのかかるプロセスを必要とせずに分散元帳の値に安全に同意する方法があることを達成するには,利害関係の証明や権限の証明(または何らかのハイブリッド)などの代替合意メカニズムに関する作業が必要です.無駄なエネルギーをこれ以上使うことは許されないでしょう.

AIは,ブロックチェーン元帳に含まれる膨大な量のデータをユーザが容易に理解できるようにすることで,またプロセスをより効率的にしてトランザクション全体のコストを削減することで,ブロックチェーンアプリケーションに付加価値をもたらします.スマートコントラクトにおけるAIおよびブロックチェーンは最も魅力的な分野の1つであり,私たちにとって有益な,制御され制限された方法でAIをグローバル経済に統合する新しい方法を切り開らくかもしれません.

パブリックなブロックチェーンとプライベートなブロックチェーン


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

パブリックとプライベートのブロックチェーンの主な違いとは何でしょうか.

パブリックブロックチェーンは,誰もがブロックチェーンネットワークに参加できます.つまり,パブリックブロックチェーンで読み取り,書き込みできるということです.パブリックブロックチェーンは分散化されており,誰もネットワークを制御することはできません.また,ブロックチェーンで検証されたデータは変更できないという点で安全です.

プライベートブロックチェーンは,誰がネットワークに参加することを許可され,どのトランザクションに参加することが許可されるかが制限されます.

パブリックとプライベートについて話すとき,誰がそのブロックチェーンまたはその元帳にデータを書き込むことができるかです.

パブリックブロックチェーンについて話すとき,ほとんどの人が実際に話しているのはパブリックオープンブロックチェーンです.誰もがデータをブロックチェーンに書き込むことができるブロックチェーンであり,他の誰もがそのデータを読み書きすることができます.
ビットコインなどのパブリックブロックチェーンプラットフォームは,現在話題になりがちですが,これらはパーミッションレスブロックチェーンプラットフォームとも呼ばれます.設計上,ユーザーの匿名性の向上と保護に努めています.

ユーザーが誰であるかわからない場合でも,ユーザーが読み書きできるデータを制御したりすることはできません.

ユーザが価値のある通貨を持っているのであれば,他の誰かと同じように,彼らはそれを交換してそれを使うことができ,そしてそれを使って望み通りのことができるはずです.これは,どのクラスのユーザーも他のクラスのユーザーと異なる扱いをしたくないからです.そのために,私たちにはパブリックブロックチェーンがあり,それはプライベートパーミッションブロックチェーンとはまったく異なる生き物です.

プライベートブロックチェーンは,誰がこのブロックチェーンにデータを書き込むことができるかを制御し,そしてこのブロックチェーンから誰がデータを読み取ることができるかを制御したいのです.そしてそれをするため重要なことはアイデンティティです.誰がブロックチェーンネットワークの一部であるかを知る必要があります.ユーザーが誰であるかわからない場合は、元データにコミットできるデータと元帳から使用できるデータについてのルールを定義するのは不可能ではないにしても困難になります。

ほとんどの場合、プライベートブロックチェーンにはアイデンティティ管理ツールが付属しているため,独自のアイデンティティ管理ソリューションをプラグインできます.これは,会員制サービスプロバイダには有用です.すべてがユーザーが誰であるかを理解することから始まります.自分がどの役割に属しているのかを判断できます.そして,その役割を使用して,どの情報にアクセスしてアクセスできないかを判断できます.

パブリックブロックチェーンでは,ユーザーが誰であるかわからないため,ユーザの行動をより良くするためのインセンティブを変更する必要があります.

システム内のすべての人が誠実に,そして規則に従って行動することを確実にするために,私たちは経済学とゲーム理論を学ぶ必要もあるでしょう.。

プライベートブロックチェーンでは,上記の問題をユーザーが誰であるかを知っているという事実によります.

そのため,企業のケースでは,ビジネスのブロックチェーンがあります.これは,個人が誰であるか,関連する組織,役割がわかっているためです.

パブリックブロックチェーンの利点は次のとおりです.

読み書きできる
誰でも参加できます
ブロックチェーンに何かが書き込まれると,それは変更できません.

プライベートブロックチェーンの利点は次のとおりです。

許可された企業
企業は,リソースとブロックチェーンへのアクセスを制御します.
必要に応じてノードやサービスを追加できる.

企業にとっては,匿名性は悪いことです,完全な透明性を求めているわけではないので,参加者全員が誰であるかを正確に知りたいし,彼らが誰であるかを知る必要があります.

それは、実はすべてアイデンティティ管理に行きつきます.

そして,それが一言で言えばパブリックとプライベートのブロックチェーンの違いです.

10 things blockchain isn’t(日本語版意訳) by Jack Dossman


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

人々は,ブロックチェーン技術を過大評価しています.多くの人がこの技術の可能性について間違った印象を持っています.
ブロックチェーンは,独特な機能を備えた単なるデータベースです.

たとえば,ビットコインなどの暗号通貨に使用すると,ビットコインの背後にあるブロックチェーンによって世界中のどこにいても,銀行や他の仲介者を必要とせずに,送金することができます.

  1. ビットコインは不正ではありません.

確かに,ビットコインとブロックチェーンは,欠点があります.作業を証明するコンセンサスメカニズムは,驚くべき量の電気を使用しており,多くの人々が投機や違法行為にこのシステムを利用しています.この技術のマイナス面に焦点を当て,ビットコインを不正と呼ぶことは,適当ではありません.

2.ブロックチェーンはあなたの会社の株価を上げる方法ではありません.

コダック,ロングアイランドアイスティーは,いずれも,実際にブロックチェーンを用いていなくても,ブロックチェーンという言葉を付け加えて株価が急上昇している企業の一例です.

3.ブロックチェーンは詐欺ではありません.

4.暗号通貨は詐欺師だけのものではありません.

ブロックチェーンによって与えられる匿名性は詐欺とハッキングを可能にするものです.しかし,それは技術の不幸な側面における副作用でしかありません.ISISのようなテロリストグループは,ソーシャルメディアを使って参加者を探しています.それでも,FacebookやTwitterをあきらめなければならないわけではありません.

5.ブロックチェーンは,ブロックチェーンで事業を始めるための資金を集めるための方法ではありません.

6.ブロックチェーンはあなたのビジネスに革命を起こすことはありません.

7.ブロックチェーンがすべての業界を混乱させることはありません.

ブロックチェーンが Uber のようなものだという言葉を聞いたことがあります.通常の業態を脅かすように,すべての業界がブロックチェーンを必要としているわけではないということです.

8.ブロックチェーンは犠牲者を増やす方法ではありません.

9.ブロックチェーンはミームのプラットフォームではありません.

10.ブロックチェーンは役に立ちません.

ブロックチェーンを使用してはいけないことの概要を説明しましたが,それでもブロックチェーンが最適なアプリケーションである場合があります.ブロックチェーンを必要とする条件を見てみましょう.

共有された追加専用データベース
マルチプレイライター
信頼がない
仲介者を削除する必要性
合意と検証

それは,お金です.ビットコインのようなアプリケーションはこれらの基準をすべて満たしているので,ブロックチェーン技術の素晴らしい適用例です.

残念なことに,ブロックチェーン用の他の多くの実証済みの大きな適用例はありません.それは決して存在しないというわけではありません,我々はそれらをまだ見つけていないのです.

ブロックチェーン


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

ビットコインは,ブロックチェーンに基づいています.しかし,ブロックチェーンについて理解していますか?
どのようにしてブロックチェーンの個々の構成要素,ブロックを想像することができますか?

ブロックチェーンはデータブロックのチェーンです.各ブロックは元帳のページとして考えることができます.個々のブロックはいくつかのコンポーネントで構成されています.
これらはブロックの先頭(ブロックヘッダー)とブロックの内容に区別できます.

ブロックヘッダー

ブロックの先頭は6つの要素からなります.

ソフトウェアのバージョン番号
前のブロックのハッシュ
マークルツリーのルートハッシュ
1970–01–01 T00:00 UTCからの経過秒数
ブロック生成時のProof of workの難易度
Proof of workで使用するカウンタ

ソフトウェアのバージョン番号

ほとんどの場合,ソフトウェアのバージョン番号は関係ありません.ただし、特定のバージョン番号を持つマイナー,自分がサポートしているプロトコルを知らせることができます.

前のブロックのハッシュ

前のブロックのハッシュは,いわばブロックチェーンのチェーンです.前のブロックのハッシュは新しいブロックのハッシュに含まれているため,ブロックチェーンのブロックはすべて互いに重なり合っています.このコンポーネントがなければ,各ブロック間と繋がりはとれなくなります.

マークルツリーのルートハッシュ

ブロックに含まれるすべてのトランザクションはハッシュに集約できます.これはマークルツリーのルートハッシュです.

1970–01–01 T00:00 UTCからの経過秒数

ブロック自体の中のタイムスタンプ.時間は1.1.1970からの秒数で示されています.

ブロック生成時のProof of workの難易度

このコンポーネントの目標は,有効性を主張するために新しいハッシュをどれだけ小さくする必要があるかを示します.つまり,すべてのハッシュはビット単位のサイズを持ちます.ビット単位が低いほど,一致するハッシュを見つけるのが難しくなります.先頭にゼロが多いハッシュは,ゼロがないハッシュよりも小さくなります.

ノンス

ノンスは,作業証明によって増加する変数です.このようにして,マイナーは有効なハッシュ,つまり,より小さいハッシュを目指します.

6つのコンポーネントがブロックヘッダーを形成します.ブロックヘッダーは,すべてのブロックを接続するため,ビットコインで基本的な役割を果たします.

ブロック本体

ブロック本体は,車でいうところのトラックの積載スペースとして考えられます.ブロックで確認されたすべてのトランザクションが含まれています.

マイナーがブロックを構築するとき,それはトランザクションを検証します.つまり,送信者が実際に使用するのに十分なお金を持っていることを確認します.彼はブロックチェーンからこの情報を簡単に読むことができます.マイナーは過去のブロックを調べて,送信者が10個のビットコインを送信したい場合に,送信者が10個のビットコインを取得したかどうかを確認します.

ブロック内のトランザクションはリスト内だけでなく,いわゆるマークルツリー内にもあります.

マークルツリーとは?

マークルツリーは,数学者のRalph Merkleからその名前が付けられました.その発見は,多くの情報が単一のハッシュで表現できることです.このために,データ自体が最初にハッシュされます.その後、ハッシュは再びハッシュされてマージされます.最後に,マークルツリーは単一のハッシュにマージされます.この最後のハッシュはルートハッシュ,ツリーのルートとも呼ばれます.それは比較的短い文字列でその「葉」(個々の取引)と「枝」(葉のハッシュ)のすべての情報を表します.

すべての枝と葉がわかっている限り,ルートハッシュの作成は素早く簡単です.ハッシュ関数の機能により,一方向にはっきりと素早く機能し,もう一方には分解できません.

マイニング

作業の証明に関わるような観点から,マイニングを理解するのが簡単です.マイニング時には,ブロックのブロックヘッダーが特別なハッシュを取得するために変更されます.ここで重要になるのは,ヘッダーのハッシュのターゲットサイズ(バイト単位)です.

マイナーはデータをハッシュし,データが検索された目標値を下回るハッシュをもたらすかどうかをチェックします.ハッシュ値がターゲットより大きい場合,マイナーはプロセスを繰り返します.ターゲット以下のハッシュが見つかるまで,またはハッシュがターゲット以下の別のネットワーク担当者から別のブロックを取得するまで,これを繰り返します.次に,この新しいブロックを取り出して,それを次のブロックの基礎として使用します(新しいハッシュを「前のブロックのハッシュ」として使用します).

マイニングは、特別なハッシュを見つけることを目的とした超反復的なプロセスです.ハッシュが見つかると,マイニングは再び始まります.ハッシュを見つける可能性は難易度によって異なります.平均して,ビットコインは10分ごとに新しいブロックを見つけます.難易度は適応し続けます,従ってこの平均は変わりません.

このプロセスの特徴は、ハッシュが推測によってしか見つけられないということです.この率は計算能力,そしてそれ故にエネルギーを必要とします.ハッシュを見れば,それがゼロで始まっているので特別なものであることがわかります.