Table of Contents
日本時間で3/25の朝でしたが、こんなメールが ripple-server メーリングリストに流れました。
「2時間前に二つのアメンドメントがテストネットで有効になったよ。rippledを1.5.0-rc3に上げないと動かなくなります」
案の定、我々で運用しているXRPのテスト環境が動かなくなっていて、慌ててアップデートして早期に解決したのですが、「こういうのはもう少し早めに言って欲しいよな」と思いつつ、突然テストネットのリセットをしたりするXRPなので半ば諦めておりました。が、同じように感じたXRP関連開発者が多かったのか、4/10の日付でこんな記事が xrpl.org にポストされていました。
Postmortem: Testnet Amendments from rippled 1.5.0
この記事では、起こったことの顛末と今後の対応方針について書いているのですが、ちょっと興味深かったので内容をかいつまんでご紹介したいと思います。
事の顛末
(日付はUS時間だと思います)
- 3/10にテストネットのバリデーターをrippled-1.5.0-rc2に上げた
- 1.5.0で追加された2つのアメンドメント(
RequireFullyCanonicalSig
とfixQualityUpperBound
)は2週間の猶予のあとに自動的にアップデートされる(その間に皆さんがrippledのバージョンを上げてくれることを期待している) - 3/24になって「やっべ、みんなに言ってなかった」と気が付き、急いでMLに情報を流したけど、それが有効化される2時間前だった(注釈:送られたメールを見ると2時間後だと思います)
- で、この時点で 1) 全部リセットする 2) このままにする 3) アメンドメントが有効にされた直前まで巻き戻す という3つの選択肢があったけど、一番影響が少なそうな2を選びました。
- 厄介だったのは、その時点で1.5.0はまだrc (release candidate) で、非安定版のリポジトリからrippledをインストールしなければならなかった。1.5.0の正式安定版が出たのは一週間後の3/31。
今後の対応方針
- 新しいアメンドメントをβ版に加えたらそれをxrpl.orgでドキュメント化する
- 大きな変更の場合はdevelopブランチに変更を加える前に XRP Ledger Standardで提案して議論する
- 新しいアメンドメントが含まれているか否かに関わらず、Devnet/Testnet/Mainnetのバリデーターをアップグレードする時には ripple-serverメーリングリストでアナウンスする。新しいアメンドメントが含まれている場合にはメールの中で強調する
- 新しいアメンドメントはメインネットで投票多数を得るまで有効化しない。これはいずれ自動化するのでメインネットで多数を獲得してからテストネットで有効化されるまで20分ほどになる予定だがそれができるまでは手動でやるので1,2日の遅れがでるかも。
最後の「Mainnetで有効になるまでTestnetでも有効にしない」というのは賛否両論ある気がします。というのも、新しいアメンドメントが正しく動くかどうかの確認ができないままメインネットで有効化することになるので。そのあたりは今後メーリングリストなどで議論されていくことになるのかも知れません。