Ark-0
Ark-0 は試してみるためのテストネットワークです。いつでもリセットされる可能性があります。

Ark-0 · Web ウォレット

ウォレットガイド

ウォレットを開くところから送金するまで、順を追って説明します。Ark-0 は試してみるためのテストネットワークです。いつでもリセットされる可能性があります。

ポスト量子署名ラボを試す →

どこで開くか

ウォレットは Web ページなので、インストールは不要です。コンピューターやスマートフォンのブラウザー、そしてウォレットアプリの内蔵ブラウザーで開けます:

Ark-0 ウォレットが、ウォレットアプリに接続・署名・承認を求めることはありません。ウォレットでログイン は 2026-10-14 に停止しました(後述):Ark-0 ウォレットを開くためにウォレットアプリで文面への署名を求めるページは私たちのものではないので、署名しないでください。その署名を手に入れた人は、以前ログインで開いたウォレットのコインを使えてしまいます。フォーセットが署名・承認・支払いを求めることは決してありません:Ark-0 のコインを渡す前にそのどれかを求めるページも、私たちのものではありません。ページを開いたら、アドレスバーを確かめてください:wallet.ark0.si と表示されているはずです。

新しく作成したウォレットの鍵はこのブラウザーの中でランダムに作られ、ウォレットアプリとはまったく関係ありません。

ブラウザーが古い場合

ウォレットには Safari 15.4 以降(iPhone や iPad では iOS または iPadOS 15.4 以降)、Chrome または Edge 83 以降、または Firefox 96 以降が必要です。Android では、ウォレットアプリの内蔵ブラウザーはたいていシステムの WebView です。10 秒から 15 秒たってもページに ネットワークをチェックしています… と表示されたままのときや、ブラウザーが古いと表示されたときは、スマートフォンとそのブラウザーを更新するか、別のブラウザーでウォレットを開いてください。Android では、アプリストアから Android System WebView を更新することもできます。

ほかに 2 点

ステップ 1:ウォレットを開く

ウォレットを開きます。ページの上部に Ark-0 テストネットワークと現在のチェーンの先端が表示されていれば、接続できています。初めて使うときは、ウォレットを作成 をクリックします。鍵はこのブラウザーの中でランダムに作られ、ほかの場所でこのウォレットを開けるのはバックアップコードだけです。

ページは tb1z で始まるアドレスを作ります:

ページでは、従来型署名、ポスト量子署名 · M1、従来型 + ポスト量子 · M3、ポスト量子署名 · M4-S の 4 つのラベルでこれらを区別しています。アドレスの上にある なぜアドレスが複数あるのですか? で違いを説明しています。

これらはすべてこのウォレットのもので、同じバックアップコードで戻ってきます。すでにバックアップコードがあるなら、ウォレットを作成せずに復元してください:別のデバイスやブラウザーを参照してください。

ログインで開いたウォレットにはポスト量子署名による保護がない

ウォレットでログイン は 2026-10-14 に停止しました。ログインで開いたウォレットのシードは、固定の文面へのあなたのアカウントの署名から作られています。そのアカウントがどこかのチェーンで一度でもトランザクションを送っていれば、公開鍵は公開されています。公開鍵から秘密鍵を導き出せる人は同じ署名をもう一度作り、このウォレットのすべての鍵(ML-DSA-44 と SLH-DSA の鍵も含む)を手に入れられます。そのため、このようなウォレットは常にポスト量子署名による保護がないものとして扱います。ブラウザーに保存されているものはこれまでどおり開け、ウォレットのページにはその旨が表示されます。この文面には、もうどのサイトでも署名しないでください:署名を手に入れた人は、このウォレットのコインを使えてしまいます。

独自のランダムなシードを持つウォレットに移るには:

  1. このウォレットのバックアップコードを書き留めます:ログインは停止したので、このウォレットを再び開けるのはバックアップコードだけです。このウォレットで移行準備宣言に署名していたら、先に撤回します:署名ページで 署名を撤回 をクリックし、新しいウォレットに移ってから署名し直します。
  2. このウォレットを削除 をクリックしてから 鍵を削除 をクリックし、続けて ウォレットを作成 をクリックして、新しいウォレットのバックアップコードを書き留めます。
  3. 新しいウォレットのどれかのアドレスの下にある テストコインを受け取る をクリックします。
  4. 古いウォレットのコインも移したい場合は、新しいウォレットの ML-DSA-44 アドレスか混合アドレスをコピーして新しいウォレットを削除し、古いウォレットをバックアップコードで復元し、それぞれのアドレスのコインをコピーしたアドレスに送金します(アドレスごとに 1 回ずつ、全額を送金 にチェックを入れて)。それらの送金が確認され、残高が 0 と表示されたら、古いウォレットを削除し、新しいウォレットをバックアップコードで復元します。

ステップ 2:バックアップコードを書き留める

ウォレットを作成した場合も、ログインして開いた場合も、バックアップコードを書き留めてください。ウォレットが開くと、ページの上部にバックアップを促すメッセージが表示されます。ページ下部の バックアップ で バックアップコードを表示 をクリックします。バックアップコードは ark0w1- で始まります。紙に書き留めるか、コピー をクリックして、パスワードマネージャーなど信頼できる場所に保管してください。

鍵はこのブラウザーにだけ保存されています。私たちのサーバーにはコピーがなく、あなたの代わりに取り戻すこともできません。ブラウザーのサイトデータの消去、ウォレットアプリのキャッシュの消去、ブラウザーやアプリの削除、スマートフォンの買い替えのどれでも、ウォレットが消えることがあります。また、iPhone のブラウザーは、しばらく開いていないサイトのデータを消去することがあります。そうなると、ウォレットを取り戻せるのはバックアップコードだけです。

バックアップコードはウォレットそのものです:持っている人は誰でもコインを使えます。サポート担当者や管理者を名乗る人も含め、誰にも送らないでください。

ステップ 3:テストコインを受け取る

どれかのアドレスの下にある テストコインを受け取る をクリックします。そのアドレスが入力された状態でフォーセットが開くので、人間確認を通過してから コインを受け取る をクリックします。各アドレスで受け取れるのは 24 時間に 1 回です。受け取った後は、フォーセットのページで ウォレットに戻る をクリックしてウォレットに戻ります。

M1 を試すには、ML-DSA-44 アドレスで受け取り、ステップ 5 でそこから使います:そのトランザクションの署名を OP_CHECKMLDSA44 が検証します。

人間確認がいつまでも読み込まれない場合は、ウォレットでアドレスの横にある コピー をクリックし、スマートフォン標準のブラウザーなど別のブラウザーでフォーセットを開いて、そこにアドレスを貼り付けてください。コインは同じアドレスに届きます。

ステップ 4:コインの到着を見る

フォーセットが送金してから数秒以内に、ウォレットは アクティビティ にそのトランザクションを「確認待ち」として表示し、残高の横にも確認待ちの金額を表示します:トランザクションはメンプールにあり、まだブロックに入っていません。次のブロックがそれを確認し(たいてい 2 分以内)、その後、そのアドレスの 確認済み残高 に含まれます。ウォレットは 30 秒ごとに(トランザクションが待機している間は 10 秒ごとに)更新されます。更新 をクリックして更新することもできます。

エクスプローラーで見る をクリックすると、エクスプローラーでそのアドレスの未使用のコインを見られます。エクスプローラーはアドレスの過去のトランザクションを一覧表示しません。トランザクションは ID で検索してください。

ステップ 5:送金する

  1. 送金 で、送金元のアドレスを選びます。
  2. 送金先のアドレスを入力します。試すだけなら、自分の別のアドレス をクリックして自分の別のアドレスに送金できます。
  3. 金額を入力するか、全額を送金 にチェックを入れます。
  4. 内容を確認 をクリックし、ネットワーク、アドレス、金額、手数料を確かめます。
  5. 確定して送金 をクリックします。ページにはチェック、署名、ブロードキャストが順に表示され、送金しました と表示されれば送金されています。その後、トランザクションは アクティビティ に「確認待ち」として表示され、次のブロックで確認されると残高が変わります。トランザクションを見る でエクスプローラーに表示できます。

手数料は仮想バイトあたり 2 sat(2 sat/vB)です。戻す価値がないほど少ないおつりは手数料に加えられます。ML-DSA-44 署名は Schnorr 署名よりはるかに大きいため、ML-DSA-44 アドレスからの支出では手数料がずっと高くなります。内容を確認 で実際の手数料と手数料率が表示されます。

送金先は Ark-0 のアドレス、つまり tb1q、tb1p または tb1z で始まるアドレスでなければなりません。ほかのテストネットワークでも tb1 のアドレスが使われており、ウォレットにはアドレスが Ark-0 上のものかどうか判別できないので、送金する前に確かめてください。MetaMask などのアプリのアドレス(0x…)やビットコインのメインネットのアドレスでは、Ark-0 のコインを受け取れません。

別のデバイスやブラウザー

別のブラウザーやデバイスでウォレットを開き、復元 にバックアップコードを貼り付けて ウォレットを復元 をクリックします。アドレスとそのコインが戻ります。ログインで開いたウォレットも、いまはこの方法でしか戻せません。そのブラウザーにすでにウォレットがある場合、復元 は表示されません:そのウォレットがバックアップ済みか、そのコインをほかへ送金済みであることを確かめてから このウォレットを削除 をクリックし、その後で復元してください。

同じウォレットを複数のブラウザーで復元できますが、送金はそのうちの 1 つからだけにしてください:2 か所で同じコインを使うと、確認されるのはどちらか一方のトランザクションだけです。

あるデバイスでウォレットを使うのをやめるときは、このウォレットを削除 をクリックしてから 鍵を削除 をクリックします。その前に、バックアップコードがあること、またはコインをほかへ送金済みであることを確かめてください。

デスクトップ版・Android 版ウォレット

Ark-0 Wallet は、Windows、macOS、Linux、Android にインストールして使うウォレットで、この Web ウォレットと同じ Ark-0 テストネットワークで使います。鍵は 24 個のリカバリーワードから作られ、設定したパスワードで暗号化してデバイスに保存され、署名もデバイス上で行われます。送金はウォレットで内容を確認したうえで、OS のダイアログでもう一度確認します。残高と取引の状態は wallet.ark0.si と wallet2.ark0.si の両方に問い合わせて照合し、送金は 6 ブロックを経て、それらのブロックの署名をウォレット自身が検証した時点で最終確定となります。

  1. ダウンロードページを開き、お使いのシステムのファイルをダウンロードします。各ファイルのサイズと SHA-256、インストール方法が載っています。同じファイルは GitHub のリリースページにもあります。
  2. インストールの前に、ダウンロードページの手順でファイルを確認します。SHA256SUMS は Ark-0 のリリース鍵で署名されています。ノードのリリースに署名しているのと同じ鍵です。
  3. インストールしてウォレットを開きます。新しいウォレットを作って 24 個のリカバリーワードを書き留めるか、「Restore a wallet」を選んでリカバリーワードを入力するか、この Web ウォレットのバックアップコードを貼り付けます。バックアップコードからは、その Web ウォレットのアドレスがそのまま復元されます。

リカバリーワードはバックアップコードと同じく、持っている人なら誰でもウォレットのコインを動かせます。当方がそれを尋ねることはありません。これらの単語は Ark-0 Wallet 専用で、ほかのウォレットでは同じ鍵を導出できません。Ark-0 Wallet は実験的なソフトウェアで、第三者による監査は受けていません。

移行準備宣言に署名する

移行準備宣言は次の 1 文です(以下は参考訳で、署名の対象は中国語と英語の原文です):

私は、ビットコインのポスト量子移行に向けた準備を今から進めることを支持します:検証可能な量子技術の進展が現れる前に、移行の経路、ツール、演習を整え、各段階の証拠を公開することです。

賛同する場合は、Ark-0 ウォレットで署名できます。署名はすべて公開されます。ウォレットかそのバックアップコードを持っている限り、自分の署名はいつでも撤回できます。署名するかどうかは、どんな権利にも影響しません。

  1. 署名ページを開きます。署名ページは標準版ウォレットのサイトにあり、Lattice 版のサイトでは署名できません。このブラウザーにまだ Ark-0 ウォレットがない場合:持っているなら(旧 URL にあるものも含め)、まずウォレットのページでバックアップコードを使ってここに移してください(ウォレットを復元)。持っていなければ ウォレットを作成 をクリックします。その後、署名ページに戻ります。
  2. 署名する前に の下にある項目を読んでから、公開記録をチェック をクリックします。ページは公開記録全体をダウンロードし、あなたのブラウザーの中で照合します。あなたの宣言鍵についてサーバーに 1 つずつ問い合わせることはしません。
  3. 宣言に署名 をクリックします。ページはサーバーからチャレンジを取得し、少しワークを計算し、宣言鍵で署名して送信します。ワークの計算にはふつう数秒かかるので、ページを前面に表示したままにしてください。これは、大量の署名にコストがかかるようにするためのものです。署名済みであることとサーバーの受付時刻が表示されれば完了です。
  4. 撤回するには、署名ページに戻って 署名を撤回 をクリックします。

署名する前に知っておきたいこと

署名は wallet.ark0.si 上でだけ行ってください。私たちがダイレクトメッセージで誰かに署名を頼むことは決してなく、バックアップコードを求めることもありません:あなたのバックアップコードを手に入れた人は、その Ark-0 ウォレットのコインを使えます。

ノードを動かして演習を見届ける

ノードとは、Ark-0 のソフトウェアを動かし、すべてのブロックを自分で検証するプログラムです。10 月 30 日に演習トリップワイヤーを引くとき、あなたのノードは公開されたルールに従って自分で判断するので、私たちのサイトを信用する必要はありません。見届ける人が多いほど、演習の記録は信頼できるものになります。

必要なもの:インターネットにつながる Windows、Mac または Linux のコンピューター 1 台。ノードは小さく、プログラムとチェーンのデータを合わせて 200 MB 未満、メモリは 100 MB 未満で、最初の同期はふつう数分で終わります。いちばん簡単なのは Ark-0 ウィットネスです。お使いのシステム向けの Ark-0 ノードが入った小さなプログラムで、展開したフォルダーから何もインストールせずに動き、あなたのノードに見えていることをブラウザーに表示します。ノードを自分で動かすためのコマンドは、ソースからのビルドも含めて、すべて英語の JOIN.md にあります。以下では、システムごとの進め方を説明します。コマンドは JOIN.md と同じです。

Ark-0 ウィットネスは、Windows、Apple シリコン搭載の Mac、x86_64 の Linux で動かしました。Mac では Intel 版も Rosetta で動かしています。x86_64 の Linux では、以下の Linux の手順(JOIN.md と同じものです)も 1 つずつ試しました。Linux 向けの ARM 版は、今のところエミュレーション環境でしか動かしていません。WSL と Docker の手順は Microsoft と Docker の公式の説明に沿って書いたもので、私たちはまだ試していません。問題があればお知らせください。

まず安全について。ノードは私たちの公開ノード node.ark0.si へ自分から接続しますが、外からの接続は受け付けないので、ルーターでポートを開ける必要はありません。プログラムをダウンロードしたら、まず署名とハッシュを照合してください(手順に含まれています)。ノードは専用のディレクトリに置き、すでに動かしているビットコインノードとは混ぜないでください。Ark-0 のノードは、このコンピューター上のどのウォレットも必要としません。私たちのノードには、接続してきたノードの IP アドレスが見えます(どのビットコインノードでも同じです)。私たちは接続してきたノードの数を数えるだけで、アドレスは公開しません。やめるときは、ノードを停止してディレクトリを削除するだけです。

Windows

Ark-0 ウィットネスには、64 ビットの Windows 10 または 11 と、Intel か AMD のプロセッサーが必要です。ダブルクリックすると、バックグラウンドでノードが起動します。コマンドを打つ必要はありません。

  1. ark0-witness-0.3.0-win64.zip(約 10 MB)をダウンロードします。確かめたい場合は、ダウンロード フォルダーで PowerShell を開き、Get-FileHash .\ark0-witness-0.3.0-win64.zip を実行します。結果は D6656931BEA2EE9EE2659C3D89107C5FD5A146B070B6DC5812274AC151BE606F になるはずで、リリースページの署名付き SHA256SUMS に書かれている値と同じです。
  2. zip ファイルを右クリックして「すべて展開」を選び、展開されたフォルダーを開いて(中に同じ名前のフォルダーがもう 1 つあれば、それも開いて)、Ark0Witness.exe をダブルクリックします。zip の中で直接ダブルクリックしないでください。そこではプログラムが隣の bitcoind.exe を見つけられず、先に展開するよう案内します。展開先はコンピューター本体のドライブにしてください。FAT32 や exFAT のドライブ(多くの USB メモリがこの形式です)では、ウィンドウに「パラメーターが間違っています。」や「The parameter is incorrect.」などの Windows のエラーが表示され、ノードが起動しません。
  3. このプログラムにはコード署名がないため、Windows に「Windows によって PC が保護されました」と表示されることがあります。「詳細情報」をクリックし、続けて「実行」をクリックします。「実行」がなく Windows にブロックされる場合(「スマート アプリ コントロール」がオン)、そのコンピューターでは Ark-0 ウィットネスを使えません。下の WSL を使ってください。
  4. コンソールウィンドウが開き、ブラウザーに状態ページが表示されます。このウィンドウは開いたままにしてください。閉じるとノードが止まります。コンピューターがスリープしたときもノードは止まります。最初の同期はゼロから始まり、回線しだいですが、ふつう数分で終わります。
  5. 状態ページでは、ノードがどのブロックまで同期したかと、いくつのノードにつながっているか、ブロック 1264 のハッシュが Ark-0 と一致するか、ブロック 30000(M3 が有効になるところ)まで同期したらあなたのノードでのそのブロックのハッシュとエクスプローラーで見比べるためのリンク、2 本のトリップワイヤーの状態と、次のブロックから 0xe0 のリーフで楕円曲線署名がまだ受け入れられるかどうかが表示されます。「トランザクションを確認する」にトランザクションの生データを貼り付けて「確認」をクリックすると、あなたのノードが判定します。確認するだけで、送信はしません。「見届けの結果」の下の「コピー」で、コミュニティのグループや GitHub の issue に投稿できる文章が手に入ります。IP アドレスやフォルダー名は含まれません。ページの時刻はすべて UTC です。
  6. 使うのをやめるには、コンソールウィンドウを閉じ、数秒待ってから、展開したフォルダーを削除し、さらに %LOCALAPPDATA%\Ark0Witness を削除します(ファイル エクスプローラーのアドレスバーに %LOCALAPPDATA% を貼り付けて Enter キーを押すと開くフォルダーの中にあります)。このプログラムはほかの場所にファイルを書き込まず、何もインストールしません。

もう 1 つの方法:WSL。Windows に付属する Linux 環境(WSL)で Linux 版のプログラムを動かすこともできます。Windows 10(バージョン 2004 以降)と Windows 11 で動きます。ARM プロセッサーを搭載した Windows コンピューター(Snapdragon など)では動きません。

  1. スタートメニューで PowerShell を検索し、右クリックして「管理者として実行」を選びます。次の 1 行を入力して Enter キーを押し、インストールが終わったら案内に従ってコンピューターを再起動します:
    wsl --install -d Ubuntu-24.04
    仮想化を有効にするよう求められたら、先にコンピューターの BIOS で有効にしてください。Ubuntu 24.04 をすでに入れている場合は、このステップを飛ばします。
  2. 再起動したら、スタートメニューから Ubuntu(名前に 24.04 が付いたもの)を開きます。初めて開くときにユーザー名とパスワードを設定します。このパスワードは後で sudo に使うので、覚えておいてください。
  3. この Ubuntu のウィンドウで、下の「Linux」のステップ 1 から 5 を、一字一句そのとおりに実行します。
  4. ノードはバックグラウンドで動きますが、Ubuntu のウィンドウを 1 つ開いたままにしてください(最小化してかまいません):Ubuntu のウィンドウをすべて閉じると、Windows が Linux 環境ごと停止することがあり、ノードも止まります。コンピューターがスリープしたときも、ノードは止まります。

使うのをやめるときは、Ubuntu で下の「Linux」の最後の段落のとおりにノードを削除します。この Ubuntu を Ark-0 のノードのためだけに入れていて、ほかにあなたのものが何も入っていなければ、PowerShell で wsl --unregister Ubuntu-24.04 を実行して、中身ごとすべて削除することもできます。

Mac

Ark-0 ウィットネスは macOS 14(Sonoma)以降で動きます。Apple シリコン搭載の Mac でも、Intel プロセッサー搭載の Mac でも使えます。

  1. ark0-witness-0.3.0-macos.zip(約 19 MB)をダウンロードします。Safari なら「ダウンロード」フォルダーに自動で展開されます。ほかのブラウザーでは、zip ファイルをダブルクリックして展開します。確かめたい場合は、「ターミナル」で shasum -a 256 ~/Downloads/ark0-witness-0.3.0-macos/* を実行します。Ark0Witness と bitcoind の行が、リリースページの署名付き SHA256SUMS と一致するはずです。
  2. フォルダー ark0-witness-0.3.0-macos の中の Ark0Witness をダブルクリックします。このプログラムは Apple の公証を受けていないため、初回は、macOS がこのプログラムを検証できないと表示します。「ゴミ箱に入れる」ではなく、「完了」(macOS 14 では「キャンセル」)をクリックしてください。「システム設定」を開いて「プライバシーとセキュリティ」に進み、下にスクロールして Ark0Witness がブロックされたというメッセージを見つけ、「このまま開く」をクリックしてパスワードで確定します。もう一度 Ark0Witness をダブルクリックし、「このまま開く」(macOS 14 では「開く」)をクリックします。「ターミナル」に「ダウンロード」フォルダー内のファイルへのアクセスを許可するかどうか、macOS に尋ねられることもあります。「許可」をクリックしてください。隣にあるノードについては何も尋ねられません。プログラムがノードを確かめたうえで、自分用のコピーを実行するからです。
  3. 「ターミナル」のウィンドウが開き、ブラウザーに状態ページが表示されます。Windows の場合(上記)と同じです。このウィンドウは開いたままにしてください。閉じるとノードが止まります(「ターミナル」が先に確認してくるので、「終了」をクリックします)。Mac がスリープしたときもノードは止まります。別の「ターミナル」のウィンドウで caffeinate -i を実行しておくと、それが動いている間は Mac がスリープしません。ただし、ふたを閉じるとスリープします。
  4. 使うのをやめるには、「ターミナル」のウィンドウを閉じ、ノードが止まるまで 1 分ほど待ってから、フォルダー ark0-witness-0.3.0-macos とフォルダー ~/Library/Application Support/Ark0Witness を削除します(Finder で「移動」メニューの「フォルダへ移動」を選び、このパスを貼り付けると開きます)。このプログラムはほかの場所にファイルを書き込まず、何もインストールしません。

ターミナルで行う方法。curl でダウンロードしたファイルには、インターネットから来たという印が付かないので、macOS は何も尋ねません。次の行で zip をダウンロードし、確かめ、展開して、プログラムを起動します。Ctrl+C を押すか、ウィンドウを閉じると止まります:

cd ~/Downloads &&
curl -LO https://github.com/duncan0k/bitcoin-p2mr-patches/releases/download/ark0-witness-0.3.0/ark0-witness-0.3.0-macos.zip &&
echo "61a7e1e3070a34e79a596e0e4343c21fccd164e7d4549026b9eb0d1c72d10c98  ark0-witness-0.3.0-macos.zip" | shasum -a 256 -c &&
unzip -q ark0-witness-0.3.0-macos.zip &&
./ark0-witness-0.3.0-macos/Ark0Witness

Docker を使う方法。JOIN.md の手順で進めたいときは、Docker Desktop で、私たちが公開しているコンテナイメージを動かします。イメージは Intel や AMD などの x86 チップ向けに作られています。Apple の M シリーズチップを搭載した Mac では、Rosetta で変換して動かします。

  1. docker.com から Docker Desktop をダウンロードし(チップに合わせて Apple Silicon 版か Intel 版を選びます)、インストールして開きます。Apple シリコン搭載の Mac では、Docker Desktop の設定で「Use Rosetta for x86_64/amd64 emulation on Apple Silicon」を探し、チェックが入っていることを確かめてください。
  2. 「ターミナル」を開き、署名ファイルをダウンロードします:
    mkdir -p ~/ark0 && cd ~/ark0
    R=https://github.com/duncan0k/bitcoin-p2mr-patches
    curl -fsSL --remote-name-all $R/releases/download/ark0-node-m4r/SHA256SUMS $R/releases/download/ark0-node-m4r/SHA256SUMS.asc https://raw.githubusercontent.com/duncan0k/bitcoin-p2mr-patches/ark0-node-m4r/ark0/release-signing-key.asc
    署名の照合には gpg を使います。Homebrew を入れている場合は、次を実行します:
    brew install gnupg
    gpg --import release-signing-key.asc
    gpg --verify SHA256SUMS.asc SHA256SUMS
    Homebrew を入れていない場合は、Docker の中の gpg を使って照合します:
    docker run --rm -v "$HOME/ark0:/w" -w /w debian:13 sh -c 'apt-get update -qq && apt-get install -y -qq gnupg > /dev/null && gpg --import release-signing-key.asc && gpg --verify SHA256SUMS.asc SHA256SUMS'
    結果の見方は、下の「Linux」のステップ 2 を参照してください。
  3. SHA256SUMS に記録されたイメージのハッシュを指定してダウンロードします。こうすれば、署名の対象になっているイメージそのものを動かせます:
    D=$(awk '/ark0-node-m4r-image-manifest.json/ {print $1}' SHA256SUMS)
    docker pull --platform linux/amd64 ghcr.io/duncan0k/ark0-node@sha256:$D
  4. 設定を書き込みます(ブロック全体をコピーして、一度に貼り付けてください):
    mkdir -p ~/ark0/data
    cat > ~/ark0/data/bitcoin.conf <<'EOF'
    signet=1
    listen=0
    
    [signet]
    signetchallenge=5121026fc5d8e79a9fbc8bc3dea07d82641d16717ce0b000c13c512d8e8c1788c6e5da51ae
    signetpowtargetspacing=90@8064
    addnode=node.ark0.si:38433
    EOF
  5. ノードを起動し、短縮コマンド ark0 を設定します。以降のコマンドはすべてこれを使います:
    docker run -d --name ark0 --platform linux/amd64 --user "$(id -u):$(id -g)" -v "$HOME/ark0/data:/data" ghcr.io/duncan0k/ark0-node@sha256:$D -datadir=/data -printtoconsole
    echo 'alias ark0="docker exec ark0 bitcoin-cli -datadir=/data"' >> ~/.zshrc && source ~/.zshrc
    ark0 getblockchaininfo
    起動直後の数秒間は、最後の行でノードの準備がまだできていないというエラーが出ることがあります。少し待ってから、もう一度実行してください。

Mac がスリープすると、ノードも止まります。演習の日はスリープさせないでください:ターミナルで caffeinate -i を実行し、そのウィンドウを開いたままにします(ふたを閉じた場合はスリープします)。Mac を再起動した後は、まず Docker Desktop を開き、それから docker start ark0 を実行します。使うのをやめるときは、次の 3 行を実行してから、Docker Desktop でこのイメージを削除します。

docker rm -f ark0
rm -rf ~/ark0
sed -i '' '/^alias ark0=/d' ~/.zshrc

Linux

Ark-0 ウィットネスは、glibc 2.35 以降の 64 ビット Linux で動きます。たとえば Ubuntu 22.04、Debian 12、Raspberry Pi OS(bookworm)と、それ以降のリリースです。Intel や AMD のプロセッサーには ark0-witness-0.3.0-linux-x86_64.tar.gz(約 10 MB)、64 ビットの ARM(64 ビット版のシステムを入れた Raspberry Pi など)には ark0-witness-0.3.0-linux-aarch64.tar.gz(約 10 MB)を使います。ターミナルで、ダウンロード先のフォルダーに移動して次の行を実行すると、確かめ、展開して、プログラムを起動します:

echo "f85ac708ba7a35b735a7bf841820c87d92c776d9d69f569932120f8f5874037d  ark0-witness-0.3.0-linux-x86_64.tar.gz" | sha256sum -c &&
tar -xzf ark0-witness-0.3.0-linux-x86_64.tar.gz &&
./ark0-witness-0.3.0-linux-x86_64/ark0-witness

ARM の場合は、3 行すべての x86_64 を aarch64 に、SHA-256 の値を a768ce5b0976a8187ce4c2a29f75578f6bdd36a0d4926ac6f5be7e174bcfcb09 に置き換えます。デスクトップ環境があれば、ブラウザーに状態ページが開きます。なければ、プログラムが表示する URL を同じコンピューターのブラウザーで開きます。プログラムが先に進まず、フォルダーを直す chmod コマンドを表示した場合は、そのコマンドを実行してから、プログラムをもう一度起動してください。ターミナルは開いたままにしてください。閉じるか Ctrl+C を押すと、ノードが止まります。SSH で接続する Raspberry Pi のように画面のないコンピューターでは、状態ページのポートを転送します。プログラムが http://127.0.0.1:41234/... と表示したら、手元のコンピューターで ssh -L 41234:127.0.0.1:41234 you@raspberrypi を実行し、表示された URL をそのまま手元で開きます。ログアウトした後もプログラムを動かし続けるには、tmux か screen の中で起動します。使うのをやめるには、プログラムを止めてから、展開したフォルダーと ~/.local/share/Ark0Witness を削除します。

以下の手順で使う JOIN.md のビルド済みプログラムには、x86_64 の Ubuntu 24.04 または Debian 13 が必要です。それより古いシステム(Ubuntu 22.04、Debian 12 など)では動かないので、JOIN.md にあるコンテナイメージを使うか、ソースからビルドしてください。Raspberry Pi などの ARM マシン向けのビルド済みプログラムは、JOIN.md にはありません。上の Ark-0 ウィットネスには、それらのマシンで動くノードが入っています。

  1. 必要なソフトウェアをインストールします:
    sudo apt-get update
    sudo apt-get install -y curl gnupg libevent-core-2.1-7t64 libevent-extra-2.1-7t64 libevent-pthreads-2.1-7t64 libsqlite3-0
  2. ダウンロードして署名を照合します:
    mkdir -p ~/ark0 && cd ~/ark0
    R=https://github.com/duncan0k/bitcoin-p2mr-patches
    curl -fsSL --remote-name-all $R/releases/download/ark0-node-m4r/ark0-node-m4r-x86_64-linux-gnu.tar.gz $R/releases/download/ark0-node-m4r/SHA256SUMS $R/releases/download/ark0-node-m4r/SHA256SUMS.asc https://raw.githubusercontent.com/duncan0k/bitcoin-p2mr-patches/ark0-node-m4r/ark0/release-signing-key.asc
    gpg --import release-signing-key.asc
    gpg --verify SHA256SUMS.asc SHA256SUMS
    出力に Good signature from "Ark-0 release signing key (duncan0k) …" という行があり、さらに次のフィンガープリントの行が 1 文字も違わずに出ていなければなりません:
    Primary key fingerprint: 025D 989B 68FF 923F 8EF6  9D4B 28F6 5A19 58A2 361A
    あわせて「This key is not certified with a trusted signature」という警告が出るのは正常です。フィンガープリントが一致しなければ、そこで中止し、先に進まないでください。
  3. プログラムのパッケージを照合して展開します。どの行も OK になるはずです。照合に失敗すると、後続のコマンドは実行されません:
    sha256sum --ignore-missing -c SHA256SUMS &&
    tar -xzf ark0-node-m4r-x86_64-linux-gnu.tar.gz &&
    sha256sum --ignore-missing -c SHA256SUMS
  4. 設定を書き込み(ブロック全体をコピーして、一度に貼り付けてください)、ノードを起動します:
    mkdir -p ~/ark0/data
    cat > ~/ark0/data/bitcoin.conf <<'EOF'
    signet=1
    listen=0
    
    [signet]
    signetchallenge=5121026fc5d8e79a9fbc8bc3dea07d82641d16717ce0b000c13c512d8e8c1788c6e5da51ae
    signetpowtargetspacing=90@8064
    addnode=node.ark0.si:38433
    EOF
    ~/ark0/ark0-node-m4r/bin/bitcoind -datadir=$HOME/ark0/data -daemonwait
  5. 短縮コマンド ark0 を設定します。以降のコマンドはすべてこれを使います:
    echo 'alias ark0="$HOME/ark0/ark0-node-m4r/bin/bitcoin-cli -datadir=$HOME/ark0/data"' >> ~/.bashrc && source ~/.bashrc
    ark0 getblockchaininfo

ノードの停止:ark0 stop。再起動:ステップ 4 の最後の行を実行します。使うのをやめるとき:まずノードを停止し、数秒待ってから次の 2 行を実行します。

rm -rf ~/ark0
sed -i '/^alias ark0=/d' ~/.bashrc

以前にノードをインストールした場合

以前にこのガイドのとおりにインストールしたノードは、ark0-node-m3 かそれより前のバージョンです。このノードは、ブロック 51000 以降、最初の救出を含むブロックで止まってしまうので、それまでに上の ark0-node-m4r に入れ替えてください。いちばん簡単なのは、古いチェーンのデータを削除し、新しいバージョンで最初から同期し直す方法です(十数分かかります)。設定ファイルはそのまま残します。Ark-0 ウィットネスを使っている場合は、古いバージョンを閉じ、上の手順で 0.3.0 をダウンロードして開くだけです。

Linux のビルド済みプログラムを使っている場合は、まず次の 4 行を実行してから、「Linux」のステップ 2 から進めてください:

ark0 stop
sleep 10
rm -rf ~/ark0/data/signet ~/ark0/ark0-node-m3
sed -i '/^alias ark0=/d' ~/.bashrc

Mac で Docker を使っている場合は、まず次の 3 行を実行してから、Docker のステップ 2 から進めてください:

docker rm -f ark0
rm -rf ~/ark0/data/signet
sed -i '' '/^alias ark0=/d' ~/.zshrc

インストールしたら、まず確かめる

Ark-0 ウィットネスを使う場合は、状態ページがこれらを代わりに確かめるので、ここは飛ばしてかまいません。

何を見届けるか

10 月 30 日のトリップワイヤー演習は終わりました。ブロック 36897 で演習トリップワイヤーが使われ、その次のブロックからは、0xe0 のリーフの楕円曲線署名はどれも検証を通りません。次は M4-R です。ブロック 51000 から救出経路が開きます。11 月 15 日ごろの見込みで、11 月 14 日より前になることはありません。正確な時刻はコミュニティのグループでお知らせします。

Ark-0 ウィットネスを使う場合、ステップ 1 では状態ページのバージョンが 0.3.0 かどうかを、ステップ 3 では状態ページのブロック数が救出のトランザクションの入ったブロックを越えたかどうかを見ます。ステップ 2 にはノードのコマンドが必要で、Ark-0 ウィットネスには表示されません。

  1. ブロック 51000 より前に、ノードが新しいバージョンになっていることを確かめます:ark0 getdeploymentinfo に p2mr_rescue という項目があり、type が buried、height が 51000 です。
  2. チェーンの先端がブロック 50999 に達したら、ark0 getdeploymentinfo の p2mr_rescue の active が true になり、ark0 gettripwireinfo の rescue の active_next_block も true になります。どちらも次のブロック、つまりブロック 51000 のことで、ルールはこのブロックから適用されます。
  3. ブロック 51000 の後、前もってお知らせする時刻に、私たちは救出証明を使って 2 つの演習用コインを 1 つのトランザクションで取り戻し、その txid と、それが入ったブロックのハッシュをコミュニティのグループに投稿します。そのハッシュを「ブロックハッシュ」の部分に入れて、ark0 getblock ブロックハッシュ 1 を実行してください。ブロックが見つかり、confirmations が 0 より大きければ、あなた自身のノードが、救出の支出を含む最初のブロックを受け入れたということです。トランザクションそのものはエクスプローラーで開いて、どの 2 つのコインを取り戻したかを見られます。
  4. チェーン外で作った救出証明はすでに公開されているので、今すぐ自分で検証できます:救出演習の公開ページの手順に従い、Python、Rust、Go の 3 つの検証ツールのどれか 1 つを使ってください。
  5. よろしければ、ステップ 1 から 3 の出力(テキストのコピーかスクリーンショット)をコミュニティのグループに投稿するか、パッチのリポジトリで GitHub の issue を立ててください。公開記録には見届けに参加した外部ノードの数だけを記し、名前もアドレスも記しません。

M3 の演習で見届けに使ったトランザクションは、11 月 30 日まで、まだあなたのノードに判定させることができます。生データは NETWORK.md の「What the chain shows」の節にあります。

Android スマートフォンで動かせますか?

今のところ動かせません。iPhone も同じです。Ark-0 が公開しているのは Windows、Mac、Linux のコンピューター向けのプログラムだけで、スマートフォン向けのものはありません。また、スマートフォンの OS は、バックグラウンドで長時間動くプログラムをいつでも停止させます。スマートフォンでも演習には参加できます:ウォレットで混合アドレスを試したり、エクスプローラーでブロックを見たりできます。ただし、そこで見えるのは私たちのサイトが示す結果なので、独立した見届けにはなりません。

よくある問題

アドレスが bc1z ではなく tb1z で始まる

これは正常です。tb1z と bc1z は同じ種類のアドレス(P2MR)を 2 つのネットワーク向けに書いたもので、tb1z はテストネットワーク用、bc1z はビットコインのメインネット用です。Ark-0 はテストネットワークなので、ウォレットのアドレスは tb1z で始まります。

ページが ネットワークをチェックしています… のまま進まない

ブラウザーがウォレットには古すぎるか、ページのスクリプトをブロックしている可能性があります。ブラウザーを更新するか、別のブラウザーを使ってください:どこで開くかを参照してください。

ウォレットでログイン がない

ウォレットでログイン は 2026-10-14 に停止しました:ログインで開いたウォレットにはポスト量子署名による保護がありません(ログインで開いたウォレットにはポスト量子署名による保護がないを参照)。そうして開いたウォレットは、それを保存しているブラウザーではこれまでどおり開けます。ほかの場所では、バックアップコードで復元します。バックアップコードがなければ、ウォレットを作成し、テストコインを受け取り直してください。

ウォレットが別のタブで開いていると表示される

ウォレットを動かせるのは、ブラウザーの 1 つのタブだけです。ウォレットを開いているほかのタブを閉じてください(ウォレットアプリの内蔵ブラウザーでも、複数のタブが開いていることがあります)。そうすると、このページが引き継ぎます。

ブラウザーがページのデータ保存を許可していないと表示される

プライベートモードやシークレットモードを終了するか、ブラウザーの設定でこのサイトにデータの保存を許可するか、別のブラウザーを使ってください。

コインを受け取ったのに残高が変わらない

まず アクティビティ を見てください:「確認待ち」なら、トランザクションはメンプールにあり、次のブロックで確認されると残高に含まれます。何も表示されていなければ 更新 をクリックしてください。フォーセットの完了ページで トランザクションを見る をクリックして、そのトランザクションが確認されたかどうかを見ることもできます。

ノードがトランザクションを受け取ったかどうか判断できないと表示される

ページ上のトランザクション ID をクリックして、エクスプローラーで調べてください。このブラウザーはそのコインを 10 分間取り置き、その間は使いません。その後もエクスプローラーにそのトランザクションが見つからなければ、もう一度送金してください。

内容の確認後にコインが変わったと表示される

残高が変わったばかりです。戻る をクリックし、もう一度 内容を確認 をクリックしてから、送金を確定してください。

コピーしても何も起きない、または 選択して手動でコピーしてください と表示される

ページがテキストを選択してくれるので、それを長押しして(コンピューターでは右クリックして)コピーしてください。

ウォレットを開く