※この記事は、Terra Classicの著名な開発者であるEdward Kim氏(@edk208)が2023年1月23日に公開した提案『Reimbursement of Lost Fees between Sept 21 - Sept 28th』の内容を日本語訳した記事となります。
提案の要点
- 一部で「取引が成立しないまま課税」が行われていた
- 2,000を超える対象ウォレットに総額2億9,500万LUNCを払い戻す
未取引で課税されたウォレットへLUNCを払い戻し
これは、2022年9月21日から2022年9月28日までの期間に失われた手数料の払い戻しに関するコミュニティ支出の提案です。
9月21日にTerra Classic(LUNC)で「1.2%のTax Burn」が開始されました。テストネットでの取引は成功しましたが、columbus-5での取引は ガス代 の算出が成功と失敗を繰り返していました。その結果、一部の取引で「取引が成立しないまま課税」が行われていました。
StrathCole氏(@ColeStrathclyde )の献身的な作業により、9月21日から9月28日(Terra Stationウォレットが修正された日)までの間の取引で失敗した トランザクション が特定されました。以下の内容は、対象となるトランザクションの数を示しています。
"txs" : {
"/cosmos.authz.v1beta1.MsgExec" : 4,
"/cosmos.bank.v1beta1.MsgSend" : 10460,
"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward":1,
"/cosmos.gov.v1beta1.MsgSubmitProposal" : 6,
"/cosmos.staking.v1beta1.MsgDelegate" : 2,
"/ibc.applications.transfer.v1.MsgTransfer" : 1,
"/terra.wasm.v1beta1.MsgExecuteContract" : 453,
"sum" : 10927
}
2億9,500万LUNCの払い戻し
私たちはこの期間中に「不正に課金されたTax」によって資金を失ったユーザーに対してコミュニティプールを通じた払い戻しを行うよう要請しています。払い戻し総額は2億9,500万LUNCです。
2億9,500万LUNCのうち、500万LUNC以上の払い戻しを受けるウォレットが9つあり、その合計は約1億6,500万LUNCです。これらのウォレットのうちいくつかは"coinspot"や”crypto.com”などのCEX(中央集権型取引所)ウォレットと確認されており、その他は未確認のCEXウォレットであることが疑われています。
これらのウォレットに払い戻しを行うことはお勧めできません。私たちは適切な払い戻しウォレットを見つけるの最善の方法として、CEXに連絡を取って確認を行う努力をします。もし、これらの取り組みがうまくいかなかった場合、この資金はコミュニティプールに返却されます。
さらに、10LUNC以下の払い戻し対象となるウォレットが数百個あります。取引費用とTaxがかかるため、10LUNC未満の損失が発生しているウォレットには払い戻しを行いません。10LUNC 〜 500万LUNCまでの対象ウォレット(2,214個)については「ガス代と0.2%のTaxがかからない払い戻し」が処理される予定です。
払い戻しを処理するコードは書き終えており、Githubリポジトリ で見ることができます。
この配布のために2つの方法が検討されました。1つ目は「Dfunk氏の 提案4080 の配布案からフォークされた スマートコントラクト」です。これは私たちの最初のアプローチでしたが、払い戻しプロセスにおいて私たちが望んでいた柔軟性を与えることはできませんでした。
2つ目の方法は、実際に私たちが使用する解決方法で、以下 pythonスクリプトで、GitHub で確認することができます。
{ "cells": [ { "cell_type": "code", "execution_count": 26, "id": "fcaa52ed", "metadata": {}, "outputs": [], "source": [ "from terra_sdk.client.lcd import LCDClient\n", "from terra_sdk.key.mnemonic import MnemonicKey\n", "from terra_sdk.client.lcd.api.tx import CreateTxOptions\n", "from terra_sdk.core import Coins, Coin\n", "from terra_sdk.core.bank import MsgSend\n", "from terra_sdk.core.fee import Fee\n", "from terra_sdk.core import Coins\n", "import requests\n", "import json\n", "import math" ]
分配のテストは、TestNetのノートブックで見ることができます。
紛失した料金の分配は こちら で確認できます。なお、これは9月の期間中の バリデータ 委任料金には適用されないことに注意してください。
以前、Twitterで対象となるウォレットを募集したところ、数十万件の詐欺のような反応がありました。そのため、連鎖分析で余計な情報を除外したリストを最終的なリストとして使用します。「lost_fees.json」のリストを確認するには以下の連鎖解析コードを参照してください。なお、GitHub ではすべてのコードを確認することができます。
<?php $fee_sums = ['uluna' => 0, 'uusd' => 0]; $latest_failed = null; $lost_tx = ['sum' => 0]; $lost_fees = ['uluna' => 0, 'uusd' => 0]; $walletfees = []; function get($url, $add_headers = []) { $ch = curl_init(); // set url curl_setopt($ch, CURLOPT_URL, $url); //return the transfer as a string curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $headers = [
払い戻しまでの流れ
対象ウォレットに対する払い戻しの流れは以下の通りです。
- TGF(Terra Grants Foundation) マルチシグウォレットへの「2億9,600万LUNC(Tax分100万LUNC追加)」コミュニティ支出提案
- 配布に使用するPythonスクリプト用の新しい送信ウォレットを作成する
- 2億9,600万LUNCをPythonスクリプトのウォレットに送金
- 10LUNC 〜 500万LUNCまでの2,214ウォレットにアルゴリズムで払い戻し(~1億3,100万LUNC)
- 500万LUNCを超える上位9つのウォレットのユーザーを検索して連絡を取り、手動で払い戻し(~1億6,500万LUNC)
- 特定できない余剰分はコミュニティプールに返却
- 最終会計としてウォレットとトランザクション ハッシュ のリストを掲載し、上位9つのウォレットの分配(500万LUNC以上)については追加情報を提供
ご質問・ご意見・ご感想がありましたら、ぜひお寄せください。
『Reimbursement of Lost Fees between Sept 21 - Sept 28th』の原文はこちら