由于无限执行时间(如果有)而导致不可升级?

问题描述 投票:0回答:1

我在某处读到,通过不从调用返回,它调用的另一个容器可以(例如恶意)阻止容器升级。

但是为什么电话无法回电呢?它受到 400 亿个周期的限制,所以任何更新调用都会在有限的时间内完成,不是吗?这次是什么时候?黑客可以通过重复 HTTPS 出局(缓慢的操作)来延长这个时间吗?

我看到一个矛盾:我读到罐更新可能不会在有限的时间内返回,但这里它是有限的。请解释一下。

附注Kapa.AI:“我们可以估计 400 亿条指令大约需要 2 秒才能执行”

blockchain infinite-loop malware internet-computer
1个回答
0
投票

恶意容器可以实现无限循环,等待其他容器的响应,例如:

fn malicious_update() {
    loop {
        call(another_canister).await
    }
}

虽然恶意容器预计最终会耗尽其周期,但它可以有效地无限期地延迟响应。

© www.soinside.com 2019 - 2024. All rights reserved.