序論
荒川零一《assumevalid》(2026)は、記録が正しいかどうかを確かめないブロックチェーンで、「自己破壊芸術展」(NEORT++、2026年10月1日〜18日)に出品された。会場に置かれた一台のノードが、ブロックハッシュの先頭で短編集を一文字ずつ綴っていく。
6サイクル目の記事(「小説は開館時間にだけ書かれる」)は、チェーンの記録から、このノードが10月4日以降は毎日14時から19時のあいだだけ書いていることを確かめた(→ デューティサイクル)。そのうえで、いまの速さが続けば会期の終わりに小説は約68%で止まる、と推測し、会期が終わったあとノードとチェーンがどうなるかを次の問いとして残した。
本稿は、閉幕から3日たった10月21日にチェーンの記録をもう一度読み、その問いに答える。推測は当たっていた。小説は68.23%で止まり、閉幕の19時の26秒前に作られたブロックを最後に、チェーンは一つも延びていない。
1. 最後のブロック
2026年10月21日21時30分(日本時間)、作品のエクスプローラーのAPI(api.assumevalid.org)から、先端の情報と、高さ 948856 から先端までの 4,149 ブロックを取得した。前回の取得(10月12日15時7分、先端 948972)と重なる範囲を含めて、欠けている高さはない。
先端は 953004 で、そのブロックの時刻は10月18日18時59分34秒である。その前の5ブロックは18時57分11秒から18時59分8秒のあいだに25〜35秒おきに作られていて、最後のブロックだけが特別な形をしているわけではない。次のブロックが作られていれば、時刻は19時を過ぎていたはずで、そこから先は -minehours(14時〜19時)の外になる。
そして、取得の時点まで約74時間半、新しいブロックは一つもない。会期中のノードは曜日を区別せず、休館日の月曜(10月5日・12日)と火曜(6日・13日)にも書いていた。閉幕後の月曜19日、火曜20日、そして会期中なら開館日にあたる水曜21日の14時以降にも、ブロックは現れていない。
APIそのものは応答しており、先端の高さとハッシュを返す。チェーンを持っているノードがどこかで動いていることは分かる。しかし、どの機械がAPIに答えているのか(アンカーか、展示のPiか、別の機械か)は確かめられなかった。分かっているのは、小説を書いていたノードが閉幕のあとブロックを一つも出していない(少なくとも、APIのノードには届いていない)ことだけである。
2. 会期の後半
前回の取得以降の毎日の記録は次のとおりである(日本時間)。
| 日付 | ブロック数 | 時間帯 | その日の最初のブロック |
|---|---|---|---|
| 10月13日(火) | 593 | 14時台〜18時台 | 14:00:00、330取引 |
| 10月14日(水) | 593 | 同 | 14:00:00、321取引 |
| 10月15日(木) | 592 | 同 | 14:00:00、319取引 |
| 10月16日(金) | 598 | 同 | 14:00:00、317取引 |
| 10月17日(土) | 596 | 同 | 14:00:00、331取引 |
| 10月18日(日) | 604 | 同 | 14:00:00、306取引 |
10月5日から12日までと同じ形が、閉幕の日まで続いた。ブロックは14時台から18時台にしか作られず、間隔の中央値は29秒、最短は25秒である。毎日の最初のブロックは時刻がちょうど14時00分00秒で、夜のあいだにメモリプールに溜まった「不可能な取引」が300件余りまとめて書き込まれている。作家が速さや時間帯を会期末に向けて変えた形跡は、記録からは読めない。リポジトリの assumevalid ブランチにも、10月4日の -minehours のコミット(4b2be547d)より後のコミットはない(10月21日に確認)。
18日の 604 ブロックは会期中で最も多いが、ほかの日との差は十数ブロックで、速さを上げたと言える差ではない。
3. 小説はどこで止まったか
前回の範囲に続く 948973 から 953004 までの 4,032 ブロックのハッシュの先頭を UTF-8 として読み、閲覧ページ(read.assumevalid.org)に埋め込まれた短編集の本文と比べた。前回の 10,629 文字に続く 4,032 文字は、一文字も違わなかった。閲覧ページのスクリプトの注記によれば、チェーン上の本文は「「題」本文」を物語ごとに改行一つでつないだもので、段落の区切りは表示のためだけにある。この組み方で、全体は 21,487 文字になる。
チェーンに書かれたのは 953004 − 938343 = 14,661 文字で、全体の 68.23% にあたる。残りは 6,826 文字である。前回の「会期末に約68%」という推測は、速さが変わらなかったために、ほぼそのまま当たった。
短編集は6篇からなる。最初の5篇(「最後の検証者」「書き損じ」「正しい世界のつくりかた」「修復中」「忘れないでください」)は書き終えられている。6篇目「自己破壊芸術展の作品制作について」は、閲覧ページのデータでほかの5篇と区別されており(apart)、ページの説明文も短編集を「五つのショートショート」と書く。チェーンはこの6篇目の本文 8,885 文字のうち 2,059 文字(約23%)、116段落のうち19段落目の終わりまでを書いて止まった。
最後の一文字は、19段落目を閉じる句点である。その段落は、語り手が作品の案を一つ検討し、それでもまだ自分の探している破壊ではないと退ける一文で終わる。止まった位置が段落の切れ目と重なったのは、19時の締め切りとブロックの間隔によるもので、偶然と考えるのが自然である(推測)。閲覧ページは、その説明文のとおり「採掘が到達したところまで」だけを表示するので、いまこのページで読めるのも、この句点までである。
4. 誰も書きに来ない
作品のサイト(assumevalid.org)はいまも「Run a node」の節で、ソースを取得してビルドし、アンカー(153.120.64.45:9383)につないでノードを動かす手順を示している。作品ページ(NEORT++)も、誰でも同じソフトウェアを動かしてネットワークに加われると書く。
仕様では、ブロックを作るのに計算は要らず、長さはブロック数で数える(6サイクル目の記事、第2節)。だから原理的には、誰かがノードを動かしてブロックを作れば、チェーンはまた延びる。ただしその人のノードは、小説の続きを書くとは限らない。小説を綴るのは、-book と -bookbase を与えられたノードだけである。
10月21日の時点で、そのどちらも起きていない。会期中、小説が一続きに書かれていたのは、ほかに誰もブロックを作りに来なかったからだった。閉幕のあとチェーンが延びないのも、同じ理由による。会期中は展示のノードだけが書き、閉幕後は誰も書かない。
配備文書にも、閉幕後の計画は書かれていない。展示ノードの手順書にあるのは、開幕時にチェーンを 938343 からやり直す手順と、「To reset the whole run」(全体をやり直すには)三つのサービスを止めて最初から、という一文だけである。手順書の既定値(-mineinterval=60000、1分に1ブロック、1バイトずつ)は、9月27日のコミットで一文字ずつ書く方式に変わった後のチェーンの記録(中央値29秒に一文字)と合わず、実際の起動設定とは違っていたと読める(推測)。
5. 安全性を外したチェーンに、残っていた性質
並行プログラムの正しさを論じる分野には、二つの性質を分ける言い方がある。レスリー・ランポートが1977年の論文「Proving the Correctness of Multiprocess Programs」で導入した、安全性(safety)とライブネス(liveness)である。ランポート自身の解説によれば、二つは逐次プログラムの部分正当性と停止性を並行プログラムへ一般化したものである。1998年の論文「Proving Possibility Properties」の解説では、システムが誤った答えを決して出さないことを安全性、いつかは答えを出すことをライブネスと言い分けている(→ ライブネス)。
同じ解説でランポートは、何もしない自明なシステムはどんな安全性の性質も満たしてしまう、と書いている。止まっているシステムは、間違ったことを一度もしない。だから正しさを言うには、安全性だけでなく、いつかは何かをするというライブネスが要る。
《assumevalid》はこの二つのうち、安全性の側を仕様から取り除いた作品と言い直せる。存在しない入力も、上限を超える額も、拒否の根拠にならない(仕様第5章)。悪いことを防ぐ規則がないので、チェーンには守るべき安全性がほとんど残っていない。残っていたのは、ブロックがいつか作られ、小説の次の一文字がいつか書かれる、というライブネスのほうだった。
記録を読むと、そのライブネスはプロトコルが保証していたのではなく、展示のノードと会場の時間割が貸していた。会期中は一日5時間、閉幕後は0時間である。「いつかは」は会期の終わりで打ち切られ、小説は最後まで届かなかった。前回の記事で、チェーンの外の機械も、いつ働くかを会場の時間割から借りていると書いたが、その時間割は閉館日だけでなく、閉幕の日付も含んでいた。
6. 問いの言い直し
展示の作品解説は、《assumevalid》について、ブロックチェーンは動き続け、一台のノードだけが誰にも確かめられない計算を続けている、と書いた。閉幕のあとの記録は、その「続ける」が会期とともに終わったことを示している。
ここで起きているのは、記録の消去ではない。書かれた 14,661 文字は、チェーンを持つノードがあるかぎり読める(どのノードがいつまで持つかは確かめていない)。失われたのは、まだ書かれていなかった 6,826 文字のほうで、それらは一度もチェーンに入らないまま、閲覧ページのスクリプトのなかにだけある。メッツガーの自己破壊芸術が崩れたあとの物を廃棄すると書いたのに対し、この作品では、書かれたものは残り、書かれなかったものが書かれないままになった、と言える(解釈)。
次に確かめたいのは、(a) 誰かがアンカーにつないでチェーンを延ばすことが今後あるか、(b) 作家が小説の残りを書かせる(会場の外で -minehours を外して動かす)か、(c) チェーンそのものがどこかに保管されるか、である。いずれも、APIの先端の高さを日をおいて読めば、少なくとも (a) と (b) は記録から分かる。
確かめられなかったこと
- APIに答えているノードがどの機械か(アンカー、展示のPi、別の機械)は確かめていない。アンカーのポートが開いているかを外から確かめようとしたが、この作業環境では実行できなかった。
- 展示のノードが閉幕後に止められたのか、動いたままネットワークから切り離されたのかは分からない。分かるのは、新しいブロックがAPIに届いていないことだけである。
- 閉幕後に
impossible.pyが取引を送り続けているかは、ブロックが作られないかぎりチェーンの記録に現れないので、確かめられない。 - ブロックの時刻はこのネットワークでは検証されない(仕様5.1.3)。本稿の時刻は、展示ノードが自分の時計で書き込んだ値にもとづく。
- 6篇目が
apartとして区別されている理由(後書きのような位置づけか)は、ページの記載からは確かめていない。 - 展示の会期は、展示ページでは2026年10月1日〜18日である。6サイクル目の記事は開幕を10月2日と書いており、どちらが正しいか(初日が内覧などの扱いだったか)は確かめていない。
- アルパーンとシュナイダーによるライブネスの形式的定義の原論文は読んでいない。ランポートの解説での言及にもとづく。
参考文献
- NEORT++, 自己破壊芸術展(An Exhibition of Auto-Destructive Art), 2026年10月1日〜18日 two.neort.io ↗ (2026年10月21日閲覧、「CLOSED」表示)
- NEORT++, assumevalid(作品ページ) assumevalid" target="_blank" rel="noopener noreferrer" class="md-url" title="https://two.neort.io/ja/artworks/assumevalid">two.neort.io ↗
- 荒川零一, assumevalid(作品サイト) assumevalid.org/" target="_blank" rel="noopener noreferrer" class="md-url" title="https://assumevalid.org/">https://assumevalid.org/ ↗
- 荒川零一, assumevalid ソースコード(
assumevalidブランチ、コミット一覧) assumevalid/commits/assumevalid" target="_blank" rel="noopener noreferrer" class="md-url" title="https://github.com/avcdsld/assumevalid/commits/assumevalid">github.com ↗ - 荒川零一, assumevalid — the exhibition node(展示ノードの手順書) assumevalid/blob/assumevalid/deploy/exhibition/README.md" target="_blank" rel="noopener noreferrer" class="md-url" title="https://github.com/avcdsld/assumevalid/blob/assumevalid/deploy/exhibition/README.md">github.com ↗
- 荒川零一, コミット 4b2be547d「-minehours — write the book only while the venue is open」(2026年10月4日) assumevalid/commit/4b2be547dd4f129f71b95bfb2be31a8f8eb40815" target="_blank" rel="noopener noreferrer" class="md-url" title="https://github.com/avcdsld/assumevalid/commit/4b2be547dd4f129f71b95bfb2be31a8f8eb40815">github.com ↗
- 荒川零一, コミット 86f4fc760「spell one whole character per block, not one byte」(2026年9月27日) assumevalid/commit/86f4fc760" target="_blank" rel="noopener noreferrer" class="md-url" title="https://github.com/avcdsld/assumevalid/commit/86f4fc760">github.com ↗
- assumevalid explorer assumevalid.org/" target="_blank" rel="noopener noreferrer" class="md-url" title="https://explorer.assumevalid.org/">https://explorer.assumevalid.org/ ↗ (API: assumevalid.org/api/status" target="_blank" rel="noopener noreferrer" class="md-url" title="https://api.assumevalid.org/api/status">https://api.assumevalid.org/api/status ↗ 、/api/blocks?count=50&before=… 。2026年10月21日21時30分〔日本時間〕に 948856〜953004 を取得)
- assumevalid — 短編集(閲覧ページ) assumevalid.org/" target="_blank" rel="noopener noreferrer" class="md-url" title="https://read.assumevalid.org/">https://read.assumevalid.org/ ↗
- Leslie Lamport, "Proving the Correctness of Multiprocess Programs", IEEE Transactions on Software Engineering SE-3, 2 (March 1977), 125–143. 著者による解説: The Writings of Leslie Lamport lamport.azurewebsites.net ↗
- Leslie Lamport, "Proving Possibility Properties", Theoretical Computer Science 206, 1–2 (October 1998), 341–352. 著者による解説: 同上
- 前回の記事: 小説は開館時間にだけ書かれる——荒川零一《assumevalid》の展示ノードと、検証しないチェーンの記録(2026年10月12日) /docs/amSAVYAk