【XRPL徹底解説】新しいBFT型コンセンサスアルゴリズムとは?
はじめに
こんにちは!一般社団法人XRPL Japan 理事の増田(通称:ぽこ太郎)です。
ブロックチェーンや分散システムの分野でよく登場する「BFT(Byzantine Fault Tolerant)型」という言葉をご存じでしょうか。
これは、一部のノードが故障したり、悪意を持って裏切った場合でも、正しい合意(コンセンサス)を得られる仕組みを指します。
rippledのREADME.mdには「a novel Byzantine Fault Tolerant consensus algorithm」と記載されており、私も興味を持ったため、今回解説記事を作成しました。

本記事では、BFTの概要からブロックチェーンでの活用例、そしてXRPLとの関係までを、できるだけわかりやすく解説していきます。
なぜ合意が難しいのか
分散台帳は「中央管理者なしで全員が同じ正解に辿り着く」必要があります。
まずは何が障害になるのかを整理しておきましょう。
- ノードが壊れたり、悪意を持って嘘をつくことがある
- ネットワークが遅延・断線し、メッセージが欠落したり改ざんされることがある
こうした前提を踏まえると、「ミスなく・素早く・確定的」な合意を得る難し さが見えてきます。
次のセクションでは、その難しさを端的に表した有名な例を見てみましょう。
ビザンチン将軍問題
分散合意の本質的な困難さを物語化した 「ビザンチン将軍問題」 を押さえておくと理解が進みます。
- 一部の将軍(ノード)は裏切り者で、嘘の情報を送る
- 通信は遅延したり、途中で改ざんされたりする
- それでも正直な将軍同士は同じ行動(攻撃か撤退か)をとる必要がある
このストーリーが示すのは、 「不正・故障・通信不良があっても一致した決断を下す必要性」 です。ここから“BFT”という性質が必要になります。

BFT(Byzantine Fault Tolerant)とは何か
ビザンチン将軍問題を踏まえたうえで、BFTの概念を噛み砕いて説明します。
- BFT = 一部が壊れてたり嘘をついても、全体として正しい結論を出せる性質
- 古典的BFTでは、しばしば 「最大で全体の3分の1未満が不正でもOK」 という条件が用いられます
- この条件は数式で表すと
n ≥ 3f + 1です(n=総ノード数、f=不正ノード数)
例として、10台のノードがあるなら3台まで壊れていても、残り7台で正しい合意を取れればOKというイメージです。
この性質を満たすプロトコル群を、次のセクションで「BFT型」と呼んで区別 していきます。
“BFT型コンセンサス”って何?
BFTはあくまで性質の名前です。では、その性質をどうやって“仕組み”として実現するのでしょう?そこで登場するのが BFT型コンセンサス です。
- 署名付きメッセージを複数ラウンドで交換して投票する
- Safety(間違えない) と Liveness(止まらない) を同時に守る
- PoWのような計算競争に依存せず、 省エネ&高速
こうした特徴から、 正確性とスピードが同時に求められる決済・サプライチェーン領域で特に力を発揮 します。
代表例が PBFT / Tendermint / HotStuff / XRPLのUNL方式 です。
古典的BFTが前提にするもの
“古典的BFT”とは、PBFT(Practical Byzantine Fault Tolerance)を中心にした初期のメッセージ交換型プロトコル群を指す通称です。
BFT型の代表例であるPBFTを中心に、どんな前提で動いているかを確認しましょう。
- 部分同期ネットワーク :いつかは遅延上限が安定する前提
- 認証通信 :電子署名などでなりすまし防止
- 静的メンバーシップ :参加ノード集合が事前にわかっている
- 決定論的状態機械 :同じ入力ログなら同じ結果(State Machine Replication)
- 配達の最終成功 :メッセージは遅れても最終的に届く(lossless)
この前提を置くことで、
- Safety(矛盾しない最終状態)
-
Liveness(処理が進み続ける)
を満たすことが可能になります。ただし、完全非同期では両立できない(FLP不可能性)ため、現実的な仮定が必要なのです。
PoW / PoSはBFT?
「PoW / PoSはBFTじゃないの?」という疑問は多いので、ここで整理しておきます。
- 広義にはBFT的 :PoW / PoS もビザンチン障害に耐える性質を持つ
- 狭義の“BFT型” :PBFT / Tendermint / HotStuff のように “決定的Finality”を持ち、メッセージ交換型 のプロトコルを指すことが多い
| 観点 | BFT型(PBFT/Tendermint/UNL等) | PoW/PoS |
|---|---|---|
| Finality | 決定的(確定後は原則巻き戻し不可) | 確率的(ブロック深さで再編成確率が下がる) |
| 故障許容 | n ≥ 3f + 1(f < 1/3) | 正直ハッシュ/ステーク > 50% など |
| 合意手段 | 署名付きメッセージの多段投票 | 最長(最重)ブロックのルール |
| 前提 | 部分同期 + 認証通信 | 完全オープン、遅延・分岐前提で収束 |
この違いを押さえておくと、XRPLの位置づけがよりクリアになります。
2011年、Jedの「マイナー不要」宣言
XRPLの“新しさ”は技術だけでなく思想の部分にもあります。ここでは、その源流を作った人物 Jed McCaleb を紹介しつつ、彼の「マイナー不要」提案を振り返ります。

※ Geminiで作成したイメージです
Jed McCaleb って誰?
起業家/エンジニア
- 2010年:暗号資産取引所 Mt.Gox を立ち上げ(2011年に売却)
- 2012年:OpenCoin(後のRipple Labs) を共同創業し、後にXRP Ledgerの開発に関与
- 2014年:Stellar Development Foundation を創設し、Stellarネットワークを立ち上げ
「マイナー不要」宣言とは?
- 日時 :2011年5月27日
- 場所 :Bitcointalk フォーラム
- スレッド名 :「Bitcoin without mining」
-
主張要旨 :
- PoWマイニングは電力を浪費しがちで“残念な副作用”
- マイナー不要のビットコイン(=PoWなしで合意形成する方法)を考えたい
- “It would be cool to come up with a bitcoin that doesn’t need miners.”(マイナーがいらないビットコインを作れたらクールだよね)
何がXRPLにつながるの?
Jed の問題意識は、「PoWの電力浪費を避けつつ、正確で速い合意をどう作るか?」に集約されます。これが、後に UNL方式+BFT型コンセンサス という XRPL 独自の設計へと結びつきました。
XRPLの“新しいBFT型” = UNL方式
XRPLのコアは UNL(Unique Node List) という信頼モデルです。PBFTをそのまま使うのではなく、各ノードが“誰を信頼するか”を自分で決める仕組みを持ち込んでいます。
UNLの考え方
- 各ノードが自分で「信頼するバリデータ一覧(UNL)」を持つ
- 全ネットワークでUNLが完全一致する必要はない
- UNL同士の重複が十分大きいほど安全性が高まる
合意フロー(ざっくり)
- 提案共有:各バリデータがTx集合を提案
- 投票ラウンド:UNL内で一定閾値(例:80%)を満たすまで収束
- 最終バリデーション:レジャーにコミット
→ 平均3〜5秒でFinality 、原則巻き戻し不可/極めて困難
性能・強み
- 決定的Finalityを秒単位で実現
- マイニング不要で低電力・低コスト
- 決済・送金など“正確&高速”が必須な領域で最適
まとめ
ここまでの内容を振り返り、XRPLとBFT型合意の位置づけを再確認しましょう。
- XRPLはUNL方式という“新しいBFT型コンセンサス”を採用し、 正確性+スピードの両立 が必要な決済領域に特化
- BFT(性質)とBFT型(方式)を分けて理解 するとPoW/PoSとの違いが明確
- UNL重複率90% は研究で示唆される安全目安であり、仕様固定値ではない
- 2011年のJedの「マイナー不要」提案 がXRPL設計思想の出発点の一つ
この流れを押さえておけば、XRPLのコンセンサスを他プロジェクトと比較・評価する際の“軸”がしっかりします。
最後に...
この記事を通じて、XRPLのマルチチェーン対応や、Axelar・Wormholeの仕組みについて少しでも理解が深まっていれば嬉しいです。
今後、Web3やブロックチェーンがチェーンの壁を越えてつながっていく世界の中で、XRPLがどんな可能性を広げていくのか、ぜひ一緒にワクワクしながら追いかけていきましょう!
最後まで読んでいただき、ありがとうございました!
Discussion