# サードパーティホスティング
サードパーティホストとは、BTCPay Server インスタンスを自前でホストし、他のユーザーが登録してそのサーバーを利用できるようにする個人または事業者のことです。セルフホストされたサーバーでは、オーナーはユーザーとストアを無制限に追加でき、各ユーザーが独立してストアを管理し、自分のウォレットで支払いを受け取れるようにできます。
BTCPay Server のこの機能は複雑なマルチストア運用のために存在しますが、コミュニティの愛好家たちは、他のユーザー(主に初心者)がBTCPay Server のセルフホスト導入という大きなハードルを一部スキップできるように活用しています。BTCPay Server 上でアプリを試したり開発したりしたいユーザーも、サードパーティがホストするインスタンスを利用します。ホストの中には、地元の加盟店が無料または少額の登録料で支払いを受け取れるようにして、暗号資産の普及を進めようとする人もいます。
平たく言えば、この機能は「決済代行工場」のようなものです。誰でもサーバーを立て、サーバーオーナーの full Bitcoin node (opens new window) で検証された支払いを、他の人が受け取れるように支援できます。
サードパーティホストは、ユーザーが BTCPay Server を試して使い始めるための、簡単で費用対効果の高い手段を提供するため、エコシステムで重要な役割を担います。特に BTCPay Server 普及の初期段階では、他者に無料サービスを提供する誠実なホストの存在が不可欠です。一方で、信頼できるサードパーティを利用する際のメリット・デメリット・潜在的リスクを理解しておく必要があります。用途、コスト、プライバシー/セキュリティのトレードオフのバランスを最適化してください。
一部のホストは完全無料で、ユーザーからの寄付でサーバー費用を賄っています。信頼できる無料ホストを長く使っているなら、支援のために寄付を検討してください。
# メリットとデメリット
# メリット
- セットアップが簡単で速い
- 安価で、多くの場合は無料(ホストが有料か無料かによる)
- 支払いを自分のウォレットで直接受け取れる
- 秘密鍵は不要(要求されたら詐欺です)
# デメリット
- セキュリティ上の懸念
- プライバシー上の懸念
- 機能制限
- サーバーを自分で制御できない
- サーバー所有者を信頼する必要がある
# 利用時の懸念事項
# セキュリティ上の懸念
信頼できる第三者はセキュリティホールになり得る (opens new window)。サーバー管理を他者に依存すると、特定の攻撃ベクトルにさらされる可能性があります。
サードパーティホスト利用時の最大の攻撃ベクトルは、そのホストがあなたの資金管理へアクセスを得る可能性です。これは主に2通りで起こりえます。
1つ目は、ホストがサーバー上で hot wallets (opens new window) を作成できるようにしている場合です。これにより、ホストはあなたの資金へ完全にアクセスできます。ホストが秘密鍵を管理する保管者となるため、資金を勝手に使わないと信頼する必要があります。このタイプのウォレットは、サードパーティホストでは推奨されません。
2つ目は、悪意があり技術力のあるホストが BTCPay Server のフォーク版を作成し、あなたの取引を監視したり、extended public key (opens new window) を自分のものに置き換えたりする場合です。そうなると、今後あなた宛ての支払いが悪意ある第三者のウォレットに入る可能性があります。
拡張公開鍵で接続したウォレットはサードパーティホスト利用時に推奨されますが、そのホストが悪意あるフォークを使っていないと断定することはできません。サードパーティホストを信頼できない場合は、次を実施してください。
- サードパーティサーバーで hot wallet を使わず、拡張公開鍵を使う
- 主にテスト、学習、BTCPay の導入初期用途に使う
- 大量決済や高額取引には使わない
BTCPay Server では秘密鍵は決して 必須 ではありません。つまり、サーバーがハッキングされても資金自体は安全ですが、悪意あるホストは将来の支払いを横取りして盗む可能性があります。watch-only wallet で取引を追跡していれば、そのような攻撃は比較的早く検知でき、注文は支払い済みなのにウォレットに着金が見えない、といった異常に気づけるはずです。
DANGER
サードパーティホストが秘密鍵を要求したり、あらかじめ秘密鍵を生成して渡したりする場合は、詐欺だと判断してください。秘密鍵は誰にも共有してはいけません。private と呼ばれるのには理由があります。
拡張公開鍵の置換攻撃は、セルフホストサーバーでも起こりえます。悪意あるハッカーがサーバーに侵入し、拡張公開鍵を差し替えようとする可能性があります。
# プライバシー上の懸念
BTCPay Server は、サーバーホストが他ユーザーのストアを閲覧したり、個人データ(登録メールアドレスを除く)へアクセスしたりできないようになっています。他ユーザーの拡張公開鍵や残高も見えません。ただし前述の通り、悪意あるサードパーティがフォークを作れば、見た目は BTCPay Server でも実体は全く別物に改変できてしまいます。
サードパーティホスト利用時の最大の懸念は(セルフホストのオーナーが悪意を持たない場合でも)Bitcoin の性質そのものに起因します。ユーザーがフルノードを動かさず他人のノードに依存すると、そのノード所有者に取引を傍受される可能性があります。フルノード運用は、機能やプライバシーのためだけではなく、より高いセキュリティと、自分で全取引を検証して「投票」する権利を与えてくれます。信頼するな、検証せよ。
フルノードの重要性を学べる良い資料:
- Why Your Business Should Use a Full Node to Accept Bitcoin (opens new window)
- Clearing Up Misconceptions About Full Nodes (opens new window)
# 信頼に関する懸念
サードパーティホストは、非管理者ユーザー向けに特定機能を有効化できます。これらの機能を使う場合、ユーザーは一定レベルでサードパーティホストを信頼する必要があります。
特に、以下のポリシーは、ユーザーがサーバー上の hot wallet を使うことを理解せずに有効化すべきではありません。これらはサードパーティホストとユーザー双方のリスクを抑えるため、非管理者向けにはデフォルトで無効です。
- 非管理者が自身のストア用に hot wallet を作成できるようにする
- 非管理者が自身の hot wallet をノードウォレットにインポートできるようにする
- 非管理者が自身のストアで内部 lightning ノードを使えるようにする
内部 lightning ノードや hot wallet 機能へのアクセス権を与えられたサードパーティユーザーは、Payjoin などの機能を使う前に、using hot wallets のリスクと信頼関係を理解する必要があります。どのウォレット種別を使うべきか迷う場合は、ストアで使える拡張公開鍵を提供する recommended wallets のいずれかを使ってください。
# サードパーティホスティング FAQ
# BTCPay のサードパーティホスト一覧はどこにありますか?
用途に合うホストを見つけるには Community で相談できますが、信頼性の確認も必ず行ってください。サードパーティホスト利用のメリットとデメリットをより深く理解するために、このドキュメントの残りも読んでください。
TIP
BTCPay Server の Directory (opens new window) には、登録して BTCPay Server を試せる無料/有料のサードパーティホストが複数掲載されています。
# サードパーティホストになるには?
サードパーティホストになるには、BTCPay Server をセルフホストし、他ユーザー向け登録を有効化する必要があります。
Server Settings > Policies > Disable registration に進み、チェックを外してください。必要に応じて、ユーザーがパスワードを忘れた際にリセットできるよう SMTP settings も設定してください。
または、ホームページで公開登録を無効のままにし、invitation link で特定ユーザーだけを招待することもできます。
# サードパーティホスト利用時に機能制限はありますか?
あります。主な制限は以下です。
- 既定では Lightning Network を使えない。サードパーティホスト側で有効化は可能だが、利用者に対するセキュリティリスクが増える。詳細
- wallet re-scan は不可
- Server Settings へアクセス不可
この制限は主に技術的理由によるもので、多くの機能が利用者自身のフルノード運用を前提としているためです。
# 自分の Lightning Network ノードを他ユーザーに使わせることはできますか?
はい、あなたの BTCPay Server インスタンスに登録したユーザーに、あなたの Lightning Network ノードを使わせることは可能です。 設定方法を見る
# 信頼したサードパーティホストはユーザーの何を知ることができますか?
サードパーティホスト(非悪意の場合)が見られる情報:
- ユーザー総数
- 各ユーザーのメールアドレスとユーザー名
注: 非管理者向け lightning wallet や hot wallet などの追加機能を有効にした場合、サーバー管理者はそれらに関する追加情報も確認できます。また、サードパーティホストが悪意あるフォークを使っているかは判別困難なため、BTCPay Server の利用に関するあらゆる詳細を把握される可能性がある前提で考えるべきです。
サードパーティホストが把握できる情報が心配な場合は、自分で構築する セルフホストサーバーを検討してください。