# PirlGuard — 51% 攻撃に対する革新的なソリューション

<figure><img src="https://1378833849-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8ce4sktIP4MjKK1cI7cP%2Fuploads%2F83V6jmo7buz0YZ8vnmoS%2F1_WyQYmJ3dvS9C1uBkUkXRkw.webp?alt=media&#x26;token=90901739-3c69-47cb-bac2-8d8fa7674e32" alt=""><figcaption></figcaption></figure>

Pirl ブロッ​​ク 2,442,442 は、Pirl だけでなくブロックチェーン セキュリティ全般にとって歴史的な出来事です。

Pirl コミュニティのほとんどが知っているように、Pirl チームは数か月間、Discord 内で公然と、そして舞台裏で ASICS 攻撃と 51% 攻撃の両方からブロックチェーンを保護するためのさまざまな方法を研究してきました。この間、Pirl は他の多くのブロックチェーンとともに 51% 攻撃の犠牲になりました。

<figure><img src="https://1378833849-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8ce4sktIP4MjKK1cI7cP%2Fuploads%2FFmupLZLYhtucYHbyX5TM%2F0_PFUb4QYHGnEUCGEd.png?alt=media&#x26;token=0be2d4de-0c2a-4424-9ac7-d57ad412bdc9" alt=""><figcaption></figcaption></figure>

最近、ほぼすべての PoW コンセンサス メカニズムのブロックチェーンが 51% 攻撃を受けやすくなっている脅威要因の 1 つは、過剰な量の安価なハッシュ パワーにつながるマイニング利益の減少です。

入手可能なほとんどの情報源は、これらの攻撃の複雑さを説明し、そのような攻撃から保護するための優れた手段として PoS およびサードパーティのソリューションを紹介しています。解決策の 1 つは、ブロックチェーンをロールバックすることですが、それでもマイナー、投資家、Pirl の保有者に損害を与えることになります。PoS コンセンサス メカニズムは、「Nothing-At-Stake」攻撃などの他の種類の攻撃に対しても脆弱です。

ブロックチェーンのセキュリティ手法について徹底的な調査と分析を行った結果、Pirl チームは、現在利用可能なオプションのいずれも、この種の攻撃に対する許容可能な長期的な予防可能な手段とはみなしていませんでした。これにより、チームには新しいセキュリティ プロトコルを開発するという唯一の選択肢が残されました。

Pirl が革新的なソリューションを開発する方法と理由を含め、PirlGuard プロトコルを理解するには、51% 攻撃がどのように機能するかを理解する必要があります。51% 攻撃の構造に関する知識に自信がある場合は、「PirlGuard の仕組み」に進んでください。この記事のセクション。

### 51% 攻撃の仕組み <a href="#id-9b7e" id="id-9b7e"></a>

出典: [CoinMonks](https://medium.com/coinmonks/what-is-a-51-attack-or-double-spend-attack-aa108db63474)&#x20;

著者: Jimi.S

ビットコイン所有者がトランザクションにサインオフすると、ビットコインは未確認トランザクションのローカル プールに入れられます。マイナーはこれらのプールからトランザクションを選択して、トランザクションのブロックを形成します。このトランザクションのブロックをブロックチェーンに追加するには、非常に難しい数学的問題の解決策を見つける必要があります。彼らは計算能力を使用してこの解決策を見つけようとします。これは**ハッシュと呼ばれます**。マイナーの計算能力が高いほど、他のマイナーが解を見つける前に解を見つける可能性が高くなります。マイナーが解決策を見つけると、その解決策が（自分のブロックとともに）他のマイナーにブロードキャストされ、ブロックチェーン上の既存のトランザクション記録に従ってブロック内のすべてのトランザクションが*有効であるかどうかのみが検証されます。***破損したマイナーであっても、他の人のためにトランザクションを作成することは決してできないことに注意してください。そのためにはその人の*****デジタル署名*****(秘密鍵) が必要になるからです**。したがって、対応する秘密キーにアクセスしない限り、他人のアカウントからビットコインを送信することは不可能です。

### ステルスマイニング — ブロックチェーンの子孫を作成する <a href="#id-3b53" id="id-3b53"></a>

さあ、注目してください。ただし、悪意のあるマイナーは既存のトランザクション*を取り消そうとする可能性があります*。マイナーが解決策を見つけた場合、その解決策は他のすべてのマイナーにブロードキャストされ、ブロックがブロックチェーンに追加された後で検証できるようにする必要があります (マイナーは*コンセンサスに達します*)。ただし、不正なマイナーは、自分のブロックのソリューションをネットワークの残りの部分にブロードキャストし**ない**ことで、ブロックチェーンの*子孫を作成する可能性があります。*&#x73FE;在、ブロックチェーンには**2 つのバージョンが**あります。

<figure><img src="https://1378833849-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8ce4sktIP4MjKK1cI7cP%2Fuploads%2FzkQrsKbHUdDt9dPoOBdN%2F0_b1GMvbDU-v7K0nS8.png?alt=media&#x26;token=d83bde0d-ca46-40e7-9ab9-b5e9263b5d0c" alt=""><figcaption></figcaption></figure>

現在、ブロックチェーンには 2 つのバージョンがあります。赤いブロックチェーンは「ステルス」モードであると考えることができます。

1 つのバージョンは破損していないマイナーによって追跡され、もう 1 つは破損したマイナーによって追跡されます。破損したマイナーは現在、そのブロックチェーンの独自のバージョンに取り組んでおり、それをネットワークの残りの部分にブロードキャストしていません。結局のところ、このチェーンはブロードキャストされていないため、ネットワークの残りの部分はこのチェーンを受信しません。ネットワークの残りの部分からは隔離されています。破損したマイナーは、他のすべてのマイナーが取り組んでいるブロックチェーンの真実のバージョンにすべてのビットコインを費やすことができます。たとえば、彼がランボルギーニにお金を費やしたとしましょう。真実のブロックチェーン上で、彼のビットコインは現在使用されています。一方、彼はこれらのトランザクションをブロックチェーンの分離バージョンに含めていませ**ん。**&#x5F7C;の隔離されたバージョンのブロックチェーンには、まだそれらのビットコインが残っています。

<figure><img src="https://1378833849-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8ce4sktIP4MjKK1cI7cP%2Fuploads%2FCUVdTPNS44BlaNxclzDE%2F0_rXM3Tq8_IqbEiWWu.png?alt=media&#x26;token=d02d0fa1-5ea0-4c4c-b4a7-f43242fa9151" alt=""><figcaption></figcaption></figure>

その間、彼はまだブロックを拾い続けており、ブロックチェーンの分離されたバージョンですべてを自分で検証しています。ここからすべての問題が始まります… ブロックチェーンは、民主的統治モデル、別名*多数派に従うようにプログラムされています*。ブロックチェーンは、*常に最長のチェーンをたどることによってこれを行います。結局のところ、マイナーの大半は、ネットワークの残りの部分よりも速く*ブロックを自分のバージョンのブロックチェーンに追加します( [つまり、最長のチェーン = 大多数](https://medium.com/coinmonks/blockchain-for-beginners-what-is-blockchain-519db8c6677a#2b1e))。これは、ブロックチェーンがそのチェーンのどのバージョンが真実であるかを決定する方法であり、ひいてはウォレットのすべての残高が何に基づいているかを決定する方法です。レースが始まりました。最もハッシュパワーを持っている人が、自分のバージョンのチェーンにより速くブロックを追加します。

<figure><img src="https://1378833849-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8ce4sktIP4MjKK1cI7cP%2Fuploads%2FCb7ZazYkDYFaBB7AhUja%2F0_W24tJHqtx1x6tIvO.png?alt=media&#x26;token=86e542eb-a1e3-40c1-99e7-2308c98c1003" alt=""><figcaption></figcaption></figure>

### レース - 新しいチェーンをブロードキャストすることで既存のトランザクションを逆転させる <a href="#id-341b" id="id-341b"></a>

破損したマイナーは、他のマイナーがブロックチェーン (真実のブロックチェーン) にブロックを追加するよりも速く、分離されたブロックチェーンにブロックを追加しようとします。破損したマイナーはより長いブロックチェーンを作成するとすぐに、このバージョンのブロックチェーンをネットワークの残りの部分に突然ブロードキャストします。ネットワークの残りの部分は、ブロックチェーンのこの (破損した) バージョンが実際に作業していたものよりも*長いこと*を検出し、プロトコルによりこのチェーンへの切り替えが強制されます。

<figure><img src="https://1378833849-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8ce4sktIP4MjKK1cI7cP%2Fuploads%2FuGe6p4ENrtmc5FoZj5AM%2F0_IV31v0o1LiLr_12L.png?alt=media&#x26;token=72019c0f-e109-4463-8360-b2fba226b2cb" alt=""><figcaption></figcaption></figure>

破損したブロックチェーンは現在、真実のブロックチェーンとみなされ、このチェーンに含まれていないすべてのトランザクションは直ちに取り消されます。攻撃者は以前にもビットコインをランボルギーニに使ったことがあるが、この取引は彼のステルスチェーン、つまり現在管理されているチェーンには含まれていなかったため、攻撃者は再びそれらのビットコインを管理することになった。*彼はそれらを再び*使うことができるのです。

<figure><img src="https://1378833849-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8ce4sktIP4MjKK1cI7cP%2Fuploads%2FBYU4kPfHCYItbP5j13Ne%2F0_cGDJsb_3v5_NJBTL.png?alt=media&#x26;token=3ae3aa38-4a59-4c95-b88f-d8f8a9d033bf" alt=""><figcaption></figcaption></figure>

**これは二重支出攻撃です**。これは一般に 51% 攻撃と呼ばれます。これは、悪意のあるマイナーが自分のバージョンのブロックチェーンにブロックをより速く追加するために、ネットワークの残りの部分を合わせたよりも多くのハッシュ パワー (つまり、ハッシュ パワーの 51%) を必要とするためです。彼はより長いチェーンを構築します。

**攻撃がどのように機能するかがわかったので、いくつかの重要な瞬間にそれを要約することができます。**

A) 攻撃者は、高速化してより長いチェーンを作成するために、メイン ネットワーク上のハッシュレートよりも高いハッシュレートを使用して、プライベートで独自のバージョンのブロックチェーンをマイニングする必要があります。これは多くの場合、10 ～ 20 ～ 50 ブロック長いチェーンを獲得するための競争です。

B) より長いブロックチェーンを取得したら、それをネットワークにブロードキャストする必要があります。次に、ネットワークはそれを最長のチェーンとして認識し、受け入れる必要があります。

C) 二重支払いが成功すると、最初のトランザクションが孤立し、より長いチェーンが適用された後、攻撃者のウォレットでコインが再び利用可能になります。

**PirlGuard はどのように機能しますか?**

攻撃者が成功することを可能にする 51% 攻撃の背後にある仕組みを破壊するために、私たちは、近い将来、事実上すべての 51% 攻撃からブロックチェーンや他の多くのブロックチェーンを守る、修正されたコンセンサス アルゴリズムを備えたコア ソリューションを導入しました。

**PirlGuard システム**&#x20;

PirlGuard プロトコルを導入すると、攻撃が成功する可能性が大幅に減少します。このプロトコルは Horizen ペナルティ システムからインスピレーションを受け、Ethash 用に構築されました。私たちが知っているように、攻撃者が別のチェーンをプライベートにマイニングしてより長いチェーンを作成すると、それをネットワークにブロードキャストする必要があります。攻撃者がピアリングのためにノードを開くと、ネットワーク上の残りのノードとピアリングを試み、それらが間違っていることを伝えます。ただし、これが発生すると、PirlGuard はピアをドロップし、ピアリングされていないマイニングにより X 量のペナルティ ブロックをマイニングするよう宣告してペナルティを与えます。割り当てられるペナルティ ブロックの量は、悪意のあるマイナーが非公開でマイニングしたブロックの量によって異なります。

<figure><img src="https://1378833849-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8ce4sktIP4MjKK1cI7cP%2Fuploads%2Fx4LNZpUjByhlmtTt8Dub%2F0_FOJ9B2jScunBOrAU.png?alt=media&#x26;token=0e1f1aac-7b09-4272-a804-e1a5f476735c" alt=""><figcaption></figcaption></figure>

PirlGuard セキュリティ プロトコルは、攻撃者が悪意のあるピアリングを試みることを大幅に阻止し、メイン ネットワークに必要なセキュリティを強化します。この新しいセキュリティ メカニズムにより、その可能性は約 0.03% に減少します。

しかし、私たちが用意したセキュリティ対策はこれだけではありません。

**マスターノードは、複数のブロックチェーンと監視システム上で公証人契約を運用しました。**&#x20;

マスターノードは、他のユーティリティ機能とともにまったく新しい役割を引き受けます。彼らはブロックチェーンを公証し、悪者を罰するプロセスで行動することを許可され、Pirlブロックチェーン上で誠実な合意を維持します。

攻撃者が依然として運を試すために大量の資金とリソースを投入することを決意し (確率 0.03%)、何らかの方法でより長いチェーンをネットワークに強制することに成功した場合、新しく初期化された孤立監視システムが孤立ブロックの再編成を検出します。これにより、チームに必要な行動と対策を講じるよう警告されます。

追加の安全対策として、公証人契約は、Pirl ブロッ​​クチェーンとイーサリアム ブロックチェーンの両方に展開されます。

**交換に必要な確認の量を増やす。**&#x20;

実装される追加措置は、預金を検証するために取引所でのブロック確認の要件を強化することです。攻撃をほぼ不可能にし、攻撃者が時間を費やす価値すらない攻撃を実現するための新たな一歩。

**オープンソース**&#x20;

Pirl はこれまで、初の Ethash コードベースのマスターノードネットワーク、マスターノードネットワーク上で実行される初のプライベート IPFS 実装を開発することでブロックチェーンに貢献しており、現在、独自のプライベート暗号化ブロックチェーン ストレージ ソリューションに取り組んでいます。

PirlGuard セキュリティ プロトコルは、プロジェクトのコアとともにオープン ソース ライブラリに追加されます。

Pirl では、ブロックチェーン業界全体のブロックチェーン技術に革命を起こし、合理化するために開発を行っています。これは、誰でも私たちのコードを利用して、将来の 51% 攻撃に対する独自のブロックチェーン ネットワーク セキュリティを研究、教育、テスト、変更、または適用できることを意味します。

**Room-House.com SkyPirl Pirl**

ソースコード: <https://git.pirl.io/community/pirl>&#x20;

ウェブサイト: <https://pirl.io/en>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.skypirl.tech/blog/japan/pirlguard-51-nisurunasoryshon.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
