宇宙链 宇宙链
Ctrl+D收藏宇宙链

用Python进行DeFi应用的开发:不同的区块链项目是如何解决安全问题的?

作者:

时间:1900/1/1 0:00:00

来源/LongHash

Tezos作为著名的PoS公链,其亮点并不仅仅只是Staking,Tezos的形式化验证特征同样也是其主要技术亮点之一。形式化验证能让DeFi的安全性方面如虎添翼,让用户对资金的智能合约安全更加有信心。形式化验证方法和DeFi安全

DeFi的爆发式增长吸引了不少开发者,著名的DeFi协议如Compound、Uniswap、Syntheix累计收获了上亿美元的资金。但是,DeFi存在一个重大漏洞:安全性。这个漏洞的代价是昂贵的,它给一些区块链项目的网络效应带来了负面的影响。过去几个月被攻击的DeFi项目就包括Curve.fi、Lendf.Me、PegNet等,其损失从数十万美元到数千万美元不等。tBTC在上线几天后通过自查及时发现了bug并冻结了存币,避免了一场灾难。而对于注重安全性的DeFi开发者来说,Tezos的形式化验证方案能够在加强安全性的同时赋能DeFi应用。在传统互联网应用中,如果服务器被黑客攻击,只需要对服务器端用户数据进行回滚就可以挽回用户损失。因此,重视用户体验的传统互联网应用可以以牺牲安全性换取速度和功能上的快速迭代。然而在DeFi应用中,由于区块链的不可篡改性,智能合约一旦上线并出现安全隐患,对用户造成的损失是巨大且不可挽回的。因此,DeFi应用开发的过程需要用大量的测试和昂贵的审计以获取足够的安全性,而反过来会牺牲迭代的速度,影响了产品的易用性。并且,因为安全审计的价格昂贵,很多开发者并没有能力发起DeFi应用。区块链开发人员目前仍然是稀缺的,导致人工审计的成本非常高昂。因此越来越多地使用机器辅助验证是目前的趋势,而机器辅助审计中的形式化验证方法更是确保安全性的不二法宝。形式化验证指的是用数学中的形式化方法对算法的性质进行证明或证伪,方法有两种:一种是模型检验,即把系统所有可能的状态列出并进行一一检验,此种方法全自动化但只适合小型系统;另一种是演绎验证,首先把系统代码标记成抽象数学模型,然后对定理进行证明,此种方法适合大型系统,但是首先需要人工将系统的运作方法转换成验证系统可以理解的语言。形式化验证方法在很长一段时间里,由于其成本较高昂,主要应用于学术、国防军工、航空航天等领域,在商业领域应用较少。由于传统互联网应用与区块链应用的运行环境有着本质的不同,其开发流程也应当相应地进行调整,其中最关键点在于安全验证环节的投入比例。函数式语言在公链领域的应用

社交应用Parler在其新NFT市场DeepRedSky中发行特朗普相关NFT:3月2日消息,社交应用Parler宣布推出其新的Solana NFT市场DeepRedSky,并在该市场发行美国前总统特朗普相关的NFT以吸引加密用户。该系列名为“Official CryptoTrump Club(官方加密特朗普俱乐部)。根据DeepRedSky的说法,每个CryptoTRUMP都是独一无二的,展示的是出现在各种场景中的特朗普图像。在1万个NFT集合中,有250个被归类为极为罕见的NFT。(Decrypt)[2022/3/2 13:31:19]

许多区块链项目为了保证安全性,在底层架构、虚拟机或智能合约的语言方面,选择了函数式语言,如Ocaml、Haskell、Erlang等。函数式语言由于其严格的变量类型定义和编译检验,以及拥有较好的形式化验证工具链,在安全领域拥有很好的口碑。常见过程式语言编写的代码,一般必须重新用函数式语言标记方能进行形式化验证。

加密货币挖掘应用Pi Network或与高达17GB的越南个人数据泄漏有关:越南新闻媒体周一报道,针对移动用户的加密货币挖掘应用程序Pi Network可能与17 GB的个人数据泄漏有关。大约有10,000名越南公民的身份证连同相关的家庭住址、电话号码和电子邮件地址被出售。卖方标价9,000美元,可以比特币或莱特币支付。对此,Pi Network群组聊天频道的主持人Phien Vo表示,Pi Network的KYC检查是由第三方执行的,并补充说类似的越南身份证与该应用不兼容。但是,该应用程序的较早版本在某一点上与越南身份证兼容。此后,越南公共安全部的网络安全部门对此事展开了调查。[2021/5/19 22:17:26]

我们看到,在以上项目中,Tezos支持的智能合约高级语言的种类最丰富,不仅包括Pascal,Ocaml,Haskell等多种函数式语言,也包括了Python这一应用普遍的语言。而Cardano、Aeternity都需要开发者学习一门新的函数式语言,使得开发门槛变得较高。Michelson语言的安全特性在智能合约语言的设计上,Tezos采用了一种取长补短的创新方案。Tezos的智能合约底层采用基于Ocaml的Michelson语言,而开发者实际接触的是Python等高级语言,并不需要了解Michelson语言本身。如此以来,可以结合Michelson语言更好的安全性与可审计性,与Python等高级语言的易于编程性。Michelson在架构上对标的是以太坊EVM,与EVM相比其相似之处有1)是一种stack语言2)使用链上存储3)采用gas费用模型4)图灵完备Michelson与EVM的主要区别是,1)静态类型所有进入Michelson智能合约的数据,都需要明确定义其类型。避免了跟类型不匹配有关的程序bug,如浮点溢出、除以0等。2)原子计算一个Michelson智能合约必须完成执行后才能调用其它智能合约。这一点避免了以太坊上经常发生的re-entrancy攻击(如著名的DAO攻击)。3)明确的调用失败执行期发生的失败只有三种,明确失败、gas耗尽、数量溢出。这一点避免了以太坊上常出现的隐含模代数、错误指令、stack溢出等类型的常见执行期攻击。4)严格的语义大小写、空格、短行都有严格规范的要求,让代码审计变得更方便。可以看到Michelson相比EVM在安全上有诸多的改进,可以更好地抵御以太坊上经常出现的攻击类型。SmartPy开发工具包

桑坦德银行于英国推出跨境支付应用PagoFX:桑坦德银行(Banco Santander)已于英国推出了有着Ripple技术背景的跨境支付应用程序PagoFX,该应用允许客户在未来两个月内使用其服务将资金转移到国外,而不收取任何费用。

据悉,PagoFX是桑坦德银行现有的国际货币转账服务One Pay FX的公开市场版本,One Pay FX系桑坦德银行与Ripple合作开发,可为欧洲和美洲主要国家的银行客户提供快速的国际转账服务。PagoFX则是面向所有用户开放,预计将于今年在其它欧洲国家推出,并在3至4年内打入20个市场。(Finextra)[2020/4/16]

Tezos上的Dapp开发者并不需要掌握Michelson语言。这是因为开发者可以使用基于Python的SmartPySDK,并将Python代码写的智能合约编译成Michelson语言。因此Dapp开发者只需要会Python就可以轻松上手。SmartPy是一个Python库,而SmartPy.io让用户能够在一个浏览器中执行Python脚本。Smartpy的官方网站提供了一个在线编辑器(https://smartpy.io/demo/),Dapp开发者可以直接用Python编写代码并编译成Michelson智能合约,然后部署到Tezos主网上。其使用界面设计相比以太坊的Remix在线编辑器更简洁明了,非常容易上手。Smartpy还自带了一些现成的开发模版,方便开发者参考学习。SmartPy.io的界面如下。屏幕左侧区域是代码编写区,开发者可以轻松地使用Python来写入并编辑合约的代码。Smartpy不需要像Remix一样分两步编译和执行,按一下代码区上方的执行按钮就一步搞定,非常方便。执行结果立马就可以在屏幕右侧显示出来,包括合约调用的入口、存储状态、编译的Michelson代码等。

分析 | 采用POW共识的网络会更加稳定:据CoinDesk作者David Floyd分析,采用POW共识机制的区块链网络要比其他机制稳定的多。某个网站从2009年1月开始统计比特币网络正常运行的时间达99.9926%,以太坊也几乎没有出现过网络停运的情况。但像STEEM、NEO和EOS都出现过数小时的停运情况,因为他们采用的是dBFT或DPoS共识机制,如果有节点出现故障,很有可能会导致网络停运。[2018/9/23]

除了在线编辑器,SmartPy还有一个命令行版本SmartPyBasic,让开发者在本地环境也可以编译运行SmartPy代码。部署的智能合约可以用SmartPyContractExplorer进行查看,合约的当前状态和历史操作都一览无余。目前SmartPy已经支持Python常见的许多功能,如本地变量,变量类型判断,Lambda函数等。少数不支持的功能如array,可以用map来代替。这也就意味着学习SmartPy不需要投入很多的时间和精力,开发者可以专注于实现更好的功能。以下是一些关于SmartPy入门的训练课程:CryptoverseWars:https://cryptocodeschool.in/tezos/overview/BlockmaticsSmartPyDevelopercourse:https://cryptocodeschool.in/tezos/overview/总结

人物丨赵东:公链应该用POW 联盟链、私链服务具体应用可以POS:据赵东微博最新消息,比特币的“挖矿”、共识机制是POW。POW用机器的计算提供了一个不可篡改、伪造(因为篡改、伪造代价极其高昂)的时间戳服务,一笔笔交易被机器盖戳,形成不可逆的序列。POW = Proof of work,work 这里指计算机的计算,同时也可以理解为物理学上的做功(计算机计算需要消耗大量能源),做功的过程,熵增不可逆。 所以,本质上POW 是用熵增不可逆的热力学原理确保了账本不可篡改。

而POS则是权益证明,账本是用人来盖戳,POS实际上是Proof Of Human,人商量好、账本就成立。这就是为何做公链,POW比任何POS都靠谱的原因。 但是私链、联盟链用POS没问题,因为本来就是中心化的,以中心化提升效率、性能,来服务具体应用。

总之,公链不应该相信人,应该相信数学和机器,应该用POW。联盟链、私链服务具体应用,不需要去中心化,可以POS。[2018/6/25]

Tezos通过智能合约语言分层的设计,在虚拟机层采用基于Ocaml的Michelson智能合约脚本语言,增强了可读性与安全性。这样的设计对Dapp开发者来说非常便利。另一方面还提供了SmartPySDK,这样就可以用Python编写智能合约然后编译成Michelson语言,充分发挥Python的简洁与易懂的优点。这些特性的组合可以帮助DeFi应用跨过目前安全问题的障碍,为用户提供更优质的服务,并帮助他们省下一笔昂贵的安全审计费用。附:Michelson与SmartPy语言特征详细说明及dapp开发实例一个简单的托管合约:https://smartpy.io/demo/tic-tac-toe井字游戏dapp:https://smartpy.io/demo/本文是LongHash与Tezos基金会之间合作关系的一部分,但文中的观点不代表Tezos基金会。

标签:MARSMARTMARTTPYSmartchemSmart Game Tokenbitmart理财TPY价格

火币交易所热门资讯
DeFi是金融的未来,而YFI是DeFi的未来?

编者按:本文来自加密谷Live,作者:LouKerner,翻译:李翰博,Odaily星球日报经授权转载。生活节奏相当快。如果你不偶尔停下来看看,你可能会错过它。-摩天布勒世界上从未见过一个行业的发展速度能达到DeFi的水平.

1900/1/1 0:00:00
DeFi暴雷过后,潜伏危机仍未暴露

本文来自:哈希派,作者:LucyCheng,星球日报经授权转发。 一、总览 2020年上半年比特币减半,小幅重燃市场热情;下半年去中心化金融市场意外大火,一举引爆整个加密社区.

1900/1/1 0:00:00
量化加密货币:加密资产中阿尔法的六大来源

今年早些时候,我看到了一篇可以让人思考好几天的研究论文。在“Whoisontheotherside?谁在另一边?”一文中,BlueMountain资本管理公司分析师、著名作家迈克尔-J-莫布森就资本市场中阿尔法Alpha的不同来源做出.

1900/1/1 0:00:00
司法部、CFTC起诉BitMEX事件全览,“美国九四”来了?

作者|秦晓峰编辑|Mandy王梦蝶出品|Odaily星球日报 据路透社消息,本周四,美国司法部以及美国商品期货委员会联手对加密交易所BitMEX提起诉讼.

1900/1/1 0:00:00
新规持续发力,OTC行业最严冻卡潮袭来

编者按:本文来自链捕手,作者:Echo,Odaily星球日报经授权转载。近段时间以来,新一轮「冻卡潮」再次袭卷加密货币OTC市场,这不仅是年初、年中一系列冻卡事件的延续,也是部新规下有关部门加强反工作的结果.

1900/1/1 0:00:00
Aragon治理的圣杯:链下轮询与链上执行

作者:JorgeIzquierdo译者:Typto导读:记得从某一天开始,DAO治理的费用突然失控,而且愈演愈烈。Launch一个DAO从几美金涨到了几百美金,一个提案流程从也从3美金以内涨到了30美金以上.

1900/1/1 0:00:00