宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > BTC > 正文

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

作者:

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

作者:LongHashJustinCai

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

形式化验证方法和DeFi安全

DeFi的爆发式增长吸引了不少开发者,著名的DeFi协议如Compound、Uniswap、Syntheix累计收获了上亿美元的资金。但是,DeFi存在一个重大漏洞:安全性。

这个漏洞的代价是昂贵的,它给一些区块链项目的网络效应带来了负面的影响。过去几个月被攻击的DeFi项目就包括Curve.fi、Lendf.Me、PegNet等,其损失从数十万美元到数千万美元不等。tBTC在上线几天后通过自查及时发现了bug并冻结了存币,避免了一场灾难。

Ribbon Finance将利用Paradigm的流动性网络优化产品流程:4月19日消息,链上结构化产品Ribbon Finance宣布与Paradigm合作,利用Paradigm的流动性网络优化其期权产品流程,并成为Paradigm的第一个DOV(DeFi Options Vaults)集成。Paradigm和Ribbon Finance的共同目标是高效拍卖结算,以更好地满足不断增长的金库的需求。通过改善整体拍卖流程,该项目金库执行获得更具竞争力的定价,最终为用户获得更好的收益。

据悉,Ribbon Finance预计将于5月13日把新的拍卖流程引入T-WBTC-C金库,并分阶段逐步将其推广到其他金库。此前在3月中旬,Ribbon Finance宣布完成875万美元B轮融资,Paradigm领投。(Medium)[2022/4/19 14:34:20]

而对于注重安全性的DeFi开发者来说,Tezos的形式化验证方案能够在加强安全性的同时赋能DeFi应用。

在传统互联网应用中,如果服务器被黑客攻击,只需要对服务器端用户数据进行回滚就可以挽回用户损失。因此,重视用户体验的传统互联网应用可以以牺牲安全性换取速度和功能上的快速迭代。然而在DeFi应用中,由于区块链的不可篡改性,智能合约一旦上线并出现安全隐患,对用户造成的损失是巨大且不可挽回的。

社交应用Parler将业务扩大至Web3和NFT市场:金色财经报道,社交应用Parler今天宣布计划扩大其业务组合,包括去中心化技术项目NFT市场。Parler组建了一个由行业资深人士组成的团队,在区块链的开发和管理方面拥有丰富的经验,以支持数字资产的增长。

Parler首席执行官George Farmer表示,没有哪家公司比Parler受到大科技的惩罚性损害,我们作为一个企业,现在正寻求成为Web 3运动的早期投资者和运营商,由用户而非所有者运营。因此,Parler将扩大其业务组合,以专注于 Web 3 和去中心化资产。Parler 已经通过全面协助Melania Trump构建 NFT 平台,展示了其进入该领域的第一步。(prnewswire)[2021/12/20 7:51:33]

因此,DeFi应用开发的过程需要用大量的测试和昂贵的审计以获取足够的安全性,而反过来会牺牲迭代的速度,影响了产品的易用性。并且,因为安全审计的价格昂贵,很多开发者并没有能力发起DeFi应用。

区块链开发人员目前仍然是稀缺的,导致人工审计的成本非常高昂。因此越来越多地使用机器辅助验证是目前的趋势,而机器辅助审计中的形式化验证方法更是确保安全性的不二法宝。

区块链Beldex用PoS取代PoW,将发布首个隐私dApps生态系统:11月29日消息,根据该项目团队分享的官方公告,以隐私为重点的区块链Beldex决定从工作量证明(PoW)共识迁移到股权证明(PoS)。该项目正在开发一个隐私优先产品的整体生态系统,包括BChat messenger、BelNet dVPN、点对点Beldex浏览器、Beldex隐私协议和Beldex互操作性桥。(U.Today)[2021/11/29 12:39:10]

形式化验证指的是用数学中的形式化方法对算法的性质进行证明或证伪,方法有两种:

一种是模型检验,即把系统所有可能的状态列出并进行一一检验,此种方法全自动化但只适合小型系统;

另一种是演绎验证,首先把系统代码标记成抽象数学模型,然后对定理进行证明,此种方法适合大型系统,但是首先需要人工将系统的运作方法转换成验证系统可以理解的语言。

形式化验证方法在很长一段时间里,由于其成本较高昂,主要应用于学术、国防军工、航空航天等领域,在商业领域应用较少。由于传统互联网应用与区块链应用的运行环境有着本质的不同,其开发流程也应当相应地进行调整,其中最关键点在于安全验证环节的投入比例。

动态 | 委内瑞拉总统下令 从加拉加斯起飞的航空公司须使用Petro支付燃油费:1月14日,委内瑞拉总统尼古拉斯·马杜罗(Nicolas Maduro)下令,从委内瑞拉首都加拉加斯(Caracas)起飞的航空公司必须使用加密货币Petro支付燃油费。据悉,此举目的是使在这个资金短缺的南美国家更广泛地使用这种加密货币。(france24)[2020/1/15]

函数式语言在公链领域的应用

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

声音 | 美国CFTC主席:ETH 2.0使用PoS机制后可能使以太坊成为证券类代币:金色财经报道,美国商品期货交易委员会(CFTC)主席Heath Tarbert近日表示,挖矿是一种更去中心化的方式获得加密货币,但以太坊属于何种性质的代币将可能发生改变。由于ETH 2.0将使用权益证明,持有者可以从网络中持续获得收益。而权益类代币在某些因素下,可能不能通过Howey测验(测试是否是证券的测验),这样就会被视为证券。此前,CFTC主席Heath Tarbert表示,ETH不是证券,而是一种商品,因此属于CFTC的管辖范围。(bitcoinexchangeguide)[2019/11/14]

我们看到,在以上项目中,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开发工具包

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代码等。

除了在线编辑器,SmartPy还有一个命令行版本SmartPyBasic,让开发者在本地环境也可以编译运行SmartPy代码。

部署的智能合约可以用SmartPyContractExplorer进行查看,合约的当前状态和历史操作都一览无余。

目前SmartPy已经支持Python常见的许多功能,如本地变量,变量类型判断,Lambda函数等。少数不支持的功能如array,可以用map来代替。这也就意味着学习SmartPy不需要投入很多的时间和精力,开发者可以专注于实现更好的功能。

以下是一些关于SmartPy入门的训练课程:

CryptoverseWars:?https://cryptocodeschool.in/tezos/overview/

BlockmaticsSmartPyDevelopercourse:https://cryptocodeschool.in/tezos/overview/

标签:TPYMARTMARSMARTTPY价格Smart Trade Networksbitmart怎么读Smart MFG

BTC热门资讯
Filecoin主网上线 质押币拦住矿工

多次「跳票」的Filecoin主网终于将要面世。预计北京时间10月15日晚10时45分许,这个去中心化分布式存储网络将在区块高度148888处正式切入主网。?利好助推下,主网资产FIL的期货价格上涨.

1900/1/1 0:00:00
DeFi的下一时代,从跨过这座桥开始

本文来自?hackernoon原文作者|?AdamBoudjemaa 译者|Katie辜 出品?|?Odaily星球日报设想有一天你进入一家咖啡厅,发现可以用ETH支付,但你的钱包里只有比特币.

1900/1/1 0:00:00
专访波卡核心开发者:平行链背后的开发故事

原文标题:《「看到平行链相互交流,对我来说就是最高兴的事」|Cumulus开发者Bastian专访》撰文:AlexandraHeller翻译:PolkaWorld2017年,BastianK?cher.

1900/1/1 0:00:00
美SEC针对数字资产证券交易发布的无异议函究竟意味着什么?

这封无异议函是美国监管部门在数字资产证券交易监管方面做出的又一次值得被重视的试探。 撰文:张改娟 上周五,美国证券交易委员会针对数字资产证券交易托管经纪商在交易处理流程方面发布了一份无异议函.

1900/1/1 0:00:00
【钱包科普】以太坊交易太堵?交易加速助你摆脱困境

在参与DeFi的过程中,很多朋友会遇到这样的情况。明明看准了一个投资机会并发起交易,可交易却迟迟得不到确认,等到最后确认了,价格早已不是下单时的价格。要么买高了,要么卖低了,总之亏钱是跑不了的.

1900/1/1 0:00:00
牛市又回来了!比特币成功向上突破,空头惨遭2亿美元爆仓

空头遭到重击! 今日上午10:04左右,BTC出现短时拉升,上演逼空行情。现货市场方面,BTC刷出9月3日以来新高,截至发稿,BTC报11389.16美元/枚,24小时内涨幅近5%.

1900/1/1 0:00:00