※この記事は、Terra Classicの著名な開発者であるEdward Kim氏(@edk208)が2023年1月6日に公開した提案『Proposal for No Canonical Repo for Terra Classic』の内容を日本語訳した記事となります。
提案の要点
- L1開発者たちに「正規リポジトリ」へのアクセス権が付与されていないことが問題
- 中央集権的である「正規リポジトリ」に依存しないことが望ましい
- 有能な開発者たちが自由にTerra Classicチェーンに貢献できる仕組みを作る
Terra Classic:現在の正規リポジトリについて
TFL(Terraform Labs)はブロックチェーンのオリジナル開発者であり、Lunaブロックチェーンの正規リポジトリ(*1)として、githubリポジトリ「https://github.com/terra-money」を使用していました。2022年5月にUSTの ディペグ が起きた後にTerra Classicレポ「 https://github.com/terra-money/classic-core」が作成されましたが、積極的なメンテナンスは行われていませんでした。
そのため、Terra Classicの エコシステム で活発に活動している開発者がコード変更を行う際には現在は別のブロックチェーンプロジェクトに焦点を移している「中央集権的な組織」からの承認が必要となっていました。2022年8月までは「terra-moneyリポジトリ」が依然として権威あるリポジトリでした。
TFLがTerra Classicチェーンに積極的に取り組まなくなったことを踏まえ、コミュニティ ガバナンス は提案4940を可決し、正規リポジトリを Terra Rebels のClassicリポジトリに変更することを選択しました。しかし、その後、このリポジトリに"Dragonberry(ドラゴンベリー)"と呼ばれる IBC コードにエクスプロイト(*2)が発見されたのです。
”Dragonberryエクスプロイト”の存在が公表される前に「パッチを当てるためのプライベートなリポジトリを作成して欲しい」という私たちへの緊急の要請がありました。その結果、元々のリポジトリはアーカイブされ、現在のClassicリポジトリ に切り替えられて使用されています。
正規リポジトリは「中央集権的」
しかし、現時点ではTerra Classicの L1 開発者グループがブロックチェーンに取り組んでいるにもかかわらず、現在の正規リポジトリへの書き込みアクセス権を持っていないため「中央集権的な組織の承認に従う」という以前と変わらない事態に直面しています。
そこで私たちは、Terra Classicチェーンの非中央集権的な性質を考慮して、Terra Classicの正規リポジトリに依存しないようにすることを提案します。
これにより、コードベースをデフォルトで制御する中央集権的な団体や開発者グループは存在しなくなります。ブロックチェーン上で実行されるコードの管理は、アクティブな バリデータ の手にのみ委ねられることになります。
Terra Classicチェーンのアップグレード方法について
ブロックチェーンへのアップグレードは、提案されている変更の概要を示すコミットハッシュを含む必要があり、常にブロックチェーン上で実行されている「最新のアクティブ / 現在のコミットハッシュ」で開始されなければなりません。
例えば、Terra Classicブロックチェーンの現在のリリースは「v1.0.4」です。
このリリースに関連するハッシュの先頭が「a6f1a39」であることに注目してください。ブロックチェーンへの新しいリリースは、このハッシュで始まる変更の概要を説明する必要があります。下の画像は「a6f1a39」で始まるハッシュの変更を示す必要がある場合の例です。
もし上記の変更がブロックチェーンに受け入れられた場合、現在のリリースはハッシュ「2d50ef2」となり、今後のリリースはチェーン上で実行されている最新のハッシュ「2d50ef2」から開始されなければなりません。
このモデルには、時間と労力のコストがかかります。開発者にとってはソフトウェアのアップグレード案をガバナンスに通すために、バリデータやコミュニティの信頼を得るための特別な努力が必要になります。
さらに、独立したセキュリティレビューや、ドキュメントへの追記を意味する場合もあり、バリデータセットにもさらなる負担がかかります。バリデータは自分たちがどのコードをチェーン上で実行するかを積極的に守らなければならず、以前から存在している「Terra Classic正規リポジトリ」に依存することはできません。
バリデータには独自のセキュリティ評価や監査を行うことを推奨します。これにはより多くの労力が必要となりますが、私たちはそれを利点と考えています。コードに対して目が向けられる機会やレビューは多ければ多いほど良いのです。
最後に、アップグレードのコミュニケーションは、すべての関連するインフラ関係者(バリデータ・DApps・CEX・フルノード・LCD / FCDエンドポイント など)に届かなければなりません。
もしこの提案が通れば私たち「Joint L1 Task Force(L1合同タスクフォース)」はこの情報を支援し、GitHubリポジトリ「https://github.com/classic-terra/」で提供することになります。
正規リポジトリ依存からの脱却提案の要点
要約すると、この提案はコミュニティに以下2つの大きなメリットをもたらすと考えています。
- 開発者やバリデータの関係を分散化し、有能な開発者集団がブロックチェーンに自由に貢献できるようにする
- 本質的にバリデーターセットとコミュニティ組織からの第二レベルのレビューを必要とする
その一方で、アップグレードの過程において開発者やバリデータ、コミュニティの側に余分な努力と精査が必要になります。
YESに投票した場合
”YES”に投票することで、あなたはTerra Classicブロックチェーンに「正規リポジトリは必要ない」という考えに同意することになります。
そして、ブロックチェーンのアップグレードに望ましい方法として、現在のコードハッシュから始まるコードコミットハッシュを使用する手順を支持することになります。
NOに投票した場合
”NO”に投票することで、あなたは正規リポジトリがTerra RebelsのClassicリポジトリのままであることを望んでいる、またはその代わりに正規リポジトリの変更を提案すること望んでいるということになります。
『Proposal for No Canonical Repo for Terra Classic』の原文はこちら