25-11-9 How to solve the problem concerning on Cosmos SDK issuing steem
There have been concerns raised about the Cosmos SDK being used by @blaze.apps in the development of the SVM.
Specifically, if a large amount of STEEM is not staked from the beginning, the system could be vulnerable to hacking attacks.
Moreover, there is a risk that STEEM could be minted directly on the Cosmos SDK and sent back to the STEEM blockchain, potentially collapsing the entire STEEM ecosystem.
Therefore, it is strongly recommended that only wSTEEM — a wrapped version of STEEM created on the original STEEM blockchain — be allowed on the Cosmos SDK. I have explicitly demanded that @blaze.apps restrict the SVM to wSTEEM only.
The entire community must closely monitor the future direction of this development.
In particular, the x/mint module in Cosmos SDK can create fake STEEM, which could then be transferred to the STEEM blockchain.
This must be strictly prevented.
However, to operate a DEX and provide staking rewards, some level of inflation is needed. It appears @blaze.apps is considering 2–3% inflation, but I am concerned that this inflation might be used to mint STEEM directly on the Cosmos SDK — this must be firmly blocked.
To prevent arbitrary STEEM creation on the Cosmos SDK, we need:
- A simple code change to delete the x/mint module
- A CosmWasm contract that enforces wSTE 1:1 lockup
When I asked an AI, it provided the following code:
#[entry_point]
pub fn execute(
deps: DepsMut,
env: Env,
info: MessageInfo,
msg: ExecuteMsg,
) -> Result<Response, ContractError> {
match msg {
ExecuteMsg::Lock {} => {
// 1. Verify STEEM was sent
let steem = cw20::Cw20Coin {
address: info.sender.to_string(),
amount: info.funds[0].amount,
};
// 2. Mint wSTEEM 1:1
let mint_msg = Cw20ExecuteMsg::Mint {
recipient: info.sender.to_string(),
amount: steem.amount,
};
Ok(Response::new()
.add_message(mint_msg)
.add_attribute("action", "lock"))
}
ExecuteMsg::Unlock { amount } => {
// 1. Burn wSTEEM
let burn_msg = Cw20ExecuteMsg::Burn { amount };
// 2. Return STEEM via IBC
let ibc_msg = IbcMsg::Transfer {
channel_id: "channel-0".to_string(),
to_address: info.sender.to_string(),
amount: Coin::new(amount.u128(), "usteem"),
timeout: env.block.time.plus_seconds(600),
};
Ok(Response::new()
.add_message(burn_msg)
.add_message(ibc_msg)
.add_attribute("action", "unlock"))
}
}
}
In other words, when building the SVM with Cosmos SDK, the following measures must be implemented:
CosmWasm wSTEEM lockup contract deployment is mandatory
- Complete removal of the x/mint module → No STEEM minting allowed
- Enable CosmWasm + deploy the above code
- wSTEEM = 1:1 lockup + IBC return
- Public disclosure of contract address + source code
Without these, the SVM risks becoming a "fake STEEM factory."
I hope all STEEM developers pay close attention to this issue
영문번역을 올리는 이유는 증인디스코드에 공유하기 위한 목적입니다.
This post has been upvoted by @italygame witness curation trail
If you like our work and want to support us, please consider to approve our witness
Come and visit Italy Community
The Mint Module Cannot be Deleted Because it also is required to Mint the wSTEEM on the SVM chain whenever a Bridge from STEEM -> SVM happens . however the plan is to restrict this to only validators and Consensus needs to be reached between validators to Mint anything on the SVM . Regarding Inflation , in the testnet i have set it to 2% , But its very easy and practical to set it to 0% as well , but this dosent rewards staking and validators , this as well needs t o further Discussed as well