The meteoric rise of Decentralized Finance (DeFi) has been accompanied by a plethora of frequent and often financially devastating attacks on its protocols There have been over 70 exploits of DeFi protocols, with the total of lost funds amounting to approximately 1.5bn USD. In this paper, we introduce a new approach to minimizing the frequency and severity of such attacks: dissimilar redundancy for smart contracts. In a nutshell, the idea is to implement a program logic more than once, ideally using different programming languages. Then, for each implementation, the results should match before allowing the state of the blockchain to change. This is inspired by and has clear parallels to the field of avionics, where on account of the safety-critical environment, flight control systems typically feature multiple redundant implementations. We argue that the high financial stakes in DeFi protocols merit a conceptually similar approach, and we provide a novel algorithm for implementing dissimilar redundancy for smart contracts.
翻译:分散金融(DeFi)的暴增伴随着大量频繁和经常在财政上破坏其协议的多次袭击。 DeFi 协议有70多次被利用,损失的资金总额约为1.5亿美元。在本文中,我们引入了一种新的办法,以尽量减少这类袭击的频率和严重程度:对智能合同来说是不同的冗余。简言之,其想法是多实施一次方案逻辑,最好使用不同的编程语言。然后,在每次实施之前,结果应当匹配,然后才允许链条的状态发生改变。这要受到Avionics的启发,并且与Avionics领域有明显的相似之处,因为由于安全临界环境,飞行控制系统通常具有多重重复执行的特点。我们认为,DeFi协议的巨额财务利益值得一种概念上类似的方法,我们为对智能合同实施非重复的冗余要求提供了新的算法。