https://medium.com/feed/milkomeda%E6%97%A5%E6%9C%AC
 

Runtime Verification、アルゴランド・コミュニティ・ガバナンスの報酬契約を監査



Runtime Verification、アルゴランド・コミュニティ・ガバナンスの報酬契約を監査

投稿日: 2021年10月11日 投稿者: Silvia Barredo


Runtime Verificationは、アルゴランド・コミュニティ・ガバナンスの一部である報酬契約の監査完了を発表できることを嬉しく思います。報酬契約は、新しく始まったアルゴランド・コミュニティ・ガバナンスの重要な要素であり、コミュニティに投票権を与え、アルゴランド・エコシステム・リソース・プール(AERP)の利用や配布方法に関する意思決定プロセスに参加する権利を与える新しいモデルです。



コミュニティ・ガバナンス・モデル


アルゴランドのコミュニティ・ガバナンスは、昨年2021年10月1日に開始された新しい分散型ガバナンス・モデルです。コミュニティ・ガバナンスは、アルゴランド・エコシステムの成長と発展に関連するさまざまな事柄を含む意思決定プロセスに参加する機会をALGOホルダーに提供するものです。参加は必須ではありませんが、各期間ごとに参加者に対して指定された報酬プールが用意されており、参加することが奨励されています。


各ガバナー(ガバナンスに参加者の指定された名前)は、指定された期間に行われる任意のオープンな提案に投票する許可を得るために、一定期間、自分の好きな量のAlgosをロックする必要があります。期間終了後、アルゴランド財団は、最低条件を満たしたガバナーをオフチェーンで確認し、誰が報酬を得ることができるかを決定します。


期間終了時に資格を得るには、各ガバナーが自発的に投票するか、アルゴランド財団に投票を委任する必要があります。活動をしていないガバナー、または期間の途中でAlgosをアンロックしたガバナーは、報酬を受け取ることができません。対象となるガバナーは、期間終了後に報酬を請求することができ、次の期間に再び参加するチャンスがあります。



報酬契約監査の範囲


アルゴランド・ガバナンスは、スマートコントラクトとオフチェーン・フローからなる複雑なモデルで、事前の技術的知識がなくても誰でも参加できるシンプルで使いやすいプラットフォームで一般に公開されています。


この監査範囲は、ガバナンス・モデルの重要な部分である「報酬スマートコントラクト」に限定されています。その名の通り、これらのコントラクトはアルゴランドのコミュニティ・ガバナンスにおける各期間のALGO報酬を担当しています。監査の範囲と制限を理解するために、各コントラクトとその機能をよりよく見てみましょう。


  • 報酬申請契約は、監査される2つの契約のうちの最初の契約です。この契約の主な役割は、ガバナーのリストを管理し、報奨金請求を追跡することです。この契約は、資格のあるガバナーだけが、その期間の最初にステークしたAlgoの量に応じて適切な量のトークンを請求できるようにします。

  • ステートレス・ガバナンス・エスクローは、2番目に監査されたスマートコントラクトです。これは各期間の報酬を保有するエスクロー口座であり、不正な支払いを防ぐために、適格なガバナーへの支払いトランザクションを検証する役割を担っています。


報酬契約は不可欠な要素であり、その完全性と安全性を維持することは、分散型コミュニティ・ガバナンスへの移行を成功させるために不可欠です。



方法論


Runtime VerificationチームのリーダーであるGeorgy Lukyanovは、アルゴランドのガバナンス報酬監査を実施し、2021年9月30日に詳細なレポートを発表しました。


監査の出発点は、アルゴランド・ブロックチェーンでスマートコントラクトとスマート署名を記述するために使用される低層レベル言語であるTEALにコントラクトをコンパイルすることから成っていました。監査対象となるスマートコントラクトは、アルゴランド・スマートコントラクト用のPython言語バインディングであるPyTealで記述されています。アルゴランド・ブロックチェーン上のスマートコントラクトは常にTEALにコンパイルされ、それが、高層レベルのソースコードではなく、コンパイルされたコードを監査してその中の脆弱性を探すことにした主な理由です。


コンパイルされたコードのセキュリティ監査は、あらゆる可能な実行シナリオを深く分析する必要があり、手間のかかるプロセスです。Runtime Verificationでは、厳しい時間的制約の中でも可能な限り厳密な監査を行うために、形式的手法を使用しています。我々は、コントラクトの制御フローグラフを基にコントラクトの形式モデルを構築し、Kフレームワークを用いてコントラクトのコンパイル済みTEALコード内の可能な実行経路をすべて解析しました。モデリングと手作業によるコード・レビューにより、一連の攻撃ベクトルを構築しました。これらのベクトルを得た後、攻撃が発生する可能性のあるシナリオを除外するために、異なる入力を用いて攻撃を試みました。



結果


監査の結果、いくつかの想定される攻撃シナリオと、契約の設計と実装に関連する多くの有益な知見が得られました(詳細は報告書をご覧ください)。


想定される攻撃シナリオは、報酬預託の資金を盗むこと、ガバナンス契約の運用を妨害すること、悪質な取引による報酬預託の資金を一部バーンさせることに関連するものでした。このブログ記事を書いている時点では、これらの可能性のある攻撃はすべて不可能であることが証明されているか、アルゴランド・チームによって対処され修正されています。


私たちは、アルゴランド・チームが行った厳格な作業と、報酬契約と新しいコミュニティ・ガバナンス・モデルのコーディングと設計に費やされた献身的な作業に注目したいと思います。



アルゴランド財団について


アルゴランド財団は、シルビオ・ミカリと一流の科学者のチームによって最初に設計されたアルゴランド・プロトコルとオープンソース・ソフトウェアを活用し、ブロックチェーン技術のグローバルな約束を実現することに専念しています。アルゴランド財団は、オープン、パブリック、パーミッションレスなブロックチェーンの確立を中核に、すべての人に公平で真のボーダレス経済の潜在力を活用する機会を提供する包括的なエコシステムのビジョンを持っています。



Runtime Verificationについて


Runtime Verificationは、イリノイ州シャンペーン・アーバナを拠点とする技術系スタートアップ企業です。同社は形式的手法を用い、仮想マシンやパブリック・ブロックチェーン上のスマートコントラクトのセキュリティ監査を行っています。また、ブロックチェーン分野におけるソフトウェア・システムの安全性、信頼性、正しさを向上させるためのソフトウェア・テスト、検証サービス、製品を提供しています。



元記事:https://runtimeverification.com/blog/runtime-verification-audits-the-rewards-contracts-of-algorand-s-community-governance