<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Parity on Time Friend</title><link>https://time-friend.com/zh/tags/parity/</link><description>Recent content in Parity on Time Friend</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Tue, 28 Jul 2026 10:00:00 +0000</lastBuildDate><atom:link href="https://time-friend.com/zh/tags/parity/index.xml" rel="self" type="application/rss+xml"/><item><title>以太坊已经很优秀, 但 Cardano 的方案更先进</title><link>https://time-friend.com/zh/archive/ethereum-incidents-avoidable-on-cardano/</link><pubDate>Tue, 28 Jul 2026 10:00:00 +0000</pubDate><guid>https://time-friend.com/zh/archive/ethereum-incidents-avoidable-on-cardano/</guid><description>&lt;p&gt;我研究链的时候, 最关心的其实就一句: 它会不会被黑。先把话说清楚: 以太坊是一条非常优秀的链——它开创了可编程的通用链, 账户模型的灵活性撑起了整个 DeFi 生态。这篇拿几起真实的安全事故做对照, 想说的是: 同样是要做智能合约和跨链, &lt;strong&gt;Cardano 的方案, 我认为更先进。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="thedao-重入-结构性隐患-和结构性答案"&gt;TheDAO 重入: 结构性隐患, 和结构性答案&lt;/h2&gt;
&lt;p&gt;2016 年, TheDAO 被抽走约 6000 万美元的以太坊, 直接导致社区硬分叉。漏洞是&lt;strong&gt;重入攻击&lt;/strong&gt;: 账户模型里, &amp;ldquo;转账给对手&amp;quot;和&amp;quot;更新自己的余额&amp;quot;是两个动作, 中间存在时间差, 攻击者就在这个窗口里反复调用取款函数。&lt;/p&gt;


&lt;div class="mermaid-wrap"&gt;
&lt;pre class="mermaid" role="img" aria-label="Mermaid diagram"&gt;flowchart TB
 A[合约转钱给攻击者] --&amp;gt; B[攻击者合约回调&amp;lt;br/&amp;gt;再次取款]
 B --&amp;gt; C[因为余额还没扣&amp;lt;br/&amp;gt;第三次取款]
 C --&amp;gt; D[账户模型里&amp;lt;br/&amp;gt;存在这种中间态]&lt;/pre&gt;
&lt;/div&gt;


&lt;script type="module"&gt;
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
mermaid.initialize({
 startOnLoad: false,
 theme: 'base',
 themeVariables: {
 background: '#1d1f21',
 primaryColor: '#282c34',
 primaryBorderColor: '#3e4147',
 primaryTextColor: '#c9cacc',
 lineColor: '#5a5f66',
 edgeLabelBackground: '#1d1f21'
 }
});
mermaid.run({ querySelector: 'pre.mermaid' });
&lt;/script&gt;


&lt;p&gt;这个漏洞能存在, 根子在账户模型的&lt;strong&gt;共享可变状态&lt;/strong&gt;: 余额是全局的、可变的, 执行到一半还能被插队。而 eUTXO 的答案是结构性的——一笔交易花哪些旧输出、造哪些新输出, 提交前就写死, 脚本一次性验证通过就结束, 根本没有&amp;quot;取款到一半&amp;quot;的中间态。同样的功能, eUTXO 用&amp;quot;不能随便改状态&amp;quot;换掉了整类漏洞, 这是我认为它更先进的地方。&lt;/p&gt;</description></item></channel></rss>