木星链 木星链
Ctrl+D收藏木星链
首页 > DOGE > 正文

Tezos:用 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应用。

朝鲜黑客组织利用 Chrome 0day 漏洞攻击加密货币等机构:金色财经报道,谷歌研究人员发现有 2 个朝鲜黑客组织利用了 Chrome 浏览器中的一个远程代码执行 0 day 漏洞超过 1 月,用于攻击新闻媒体、IT 公司、加密货币和金融科技机构。Operation AppleJeus 利用同一个漏洞利用套件攻击了加密货币和金融科技行业的 85 个用户,并成功入侵了至少 2 个金融科技公司网站,并植入了隐藏的 iframe。研究人员还发现攻击者搭建了一些伪造的网站来传播木马化的加密货币应用,隐藏了 iframe 并将访问者指向漏洞利用套件。[2022/3/28 14:22:12]

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

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

即时通讯应用 Line 计划明年推出 NFT 交易市场服务:12月20日消息,即时通讯应用 Line 计划明年推出 NFT 服务,为全球范围内公司和个人提供NFT交易市场,目前正在通过Line Bitmax 钱包单独运营其 NFT 市场测试版。上周,Line 宣布已在韩国和美国成立 LineNext,专注于扩展全球 NFT 生态系统。[2021/12/20 7:52:08]

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

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

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

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

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

声音 | 证券时报:证券市场积极部署区块链应用 区块链技术引领证券市场创新:证券时报今日刊文《区块链:辐射与嵌入 证券市场的变革基因》,文章表示,按照IDC数据显示,在去年全球区块链市场的份额构成中,金融业占60.5%,其中证券市场成为了继银行业之后部署区块链应用的最火热地带。作为一种必然性结果,全球各大证券交易所积极拥抱区块链技术,肯定会通过这一全新的金融科技工具创造出各自的竞争优势。但是,除了在微观业务层面为证券交易所进行特殊赋能外,更重要的是区块链技术将引领整个证券市场进行脱胎换骨式的创新。首先,区块链可以提高证券发行的效率,推动产品的创新。其次,区块链能够有效降低证券交易结算成本,继而大幅提高证券交易效率。再次,区块链能够提高资产可信度,并能自觉进行信用维护,从而彻底屏蔽投资风险。第四,区块链可以形成对上市企业公司行为的有效约束与股东基本权益的有力保障。最后,区块链能够大大优化监管手段,同时显著提高监管的精准效度。[2019/3/12]

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

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

声音 | 许立荣:区块链等新技术的运用 使航运运营成本降低40%左右:日前,中国远洋海运集团有限公司董事长许立荣表示,创新会通过改变产品的技术含量及改变流通环节影响到贸易。物联网、云计算、大数据、人工智能等热点技术,在航运领域已得到普遍运用。区块链、跨境电商等新技术的运用,使航运运营成本降低40%左右。[2018/12/24]

我们看到,在以上项目中,Tezos支持的智能合约高级语言的种类最丰富,不仅包括Pascal,Ocaml,Haskell等多种函数式语言,也包括了Python这一应用普遍的语言。而Cardano、Aeternity都需要开发者学习一门新的函数式语言,使得开发门槛变得较高。

Michelson语言的安全特性

在智能合约语言的设计上,Tezos采用了一种取长补短的创新方案。Tezos的智能合约底层采用基于Ocaml的Michelson语言,而开发者实际接触的是Python等高级语言,并不需要了解Michelson语言本身。如此以来,可以结合Michelson语言更好的安全性与可审计性,与Python等高级语言的易于编程性。

金色财经现场报道 北京链石科技CEO:区块链让“票”在活动之后依然有用 :金色财经6月3日现场报道,在今天的以太坊技术及应用大会上,北京链石科技CEO、StoneTicket项目负责人杨光做了题为“基于以太坊的票务行业公链token及设计模式”主题演讲,杨光说,“票”是很好地社区入口,区块链去除票务中介,把代理方“拉平”,上对主办,下对用户,增加了主办方对票务去向的“监管”;票天然适合做一个“token”,但不仅仅是“token”,这个种token是有生命周期的(开票,入场,结算),且各种各样的票token并不关联。区块链让“票”在活动之后依然有用,对于传统票务,共识主要在主办方、销售方、粉丝之间,而用区块链,用户成为多个活动之间被激励的人,如果有这样的机制,局部的共识就能变成全局的、两层的共识。[2018/6/3]

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/

总结

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基金会。

LongHash,用数据读懂区块链。

标签:Tezos区块链以太坊Tezos币是什么币区块链工程专业学什么区块链存证怎么弄区块链技术发展现状和趋势以太坊币是什么币

DOGE热门资讯
比特币:BTC实现上限下降,开启终身投资机会

BTC实现市值低于市值 声音 | 富达管理者:BTC和其他数字货币正逐渐被机构投资者采用:据Ambcrypto消息,富达的一位管理者称富达将为数字货币用户提供监管保护.

1900/1/1 0:00:00
比特币:比特币 Coinbase 溢价激增,这意味着什么?

Billions项目组 数据显示,比特币Coinbase溢价指数近期飙升。这可能对加密货币的价格意味着什么.

1900/1/1 0:00:00
BAR:Hedera 记录了 TVL 的大幅跃升;HBAR 的价格是否在为牛市而战?

BAR加密货币新闻:Hedera由其专有的Hashgraph技术提供支持,其总价值锁定(TVL)最近飙升,目前为1270亿美元.

1900/1/1 0:00:00
USD:Bitfinex 陷入丑闻,USDT 价格依旧坚挺

作者/LongHashKyleTorpey 来源/LongHash 近日,纽约总检察官LetitiaJames以涉嫌活动为由向Bitfinex和Tether发布了一份法院指令.

1900/1/1 0:00:00
OKB:OKB代币昨日暴涨20%,将测试60美元?

Billions项目组 OKB正在上涨,以应对整体加密货币市值的最新改善。不过,相比于其他加密货币的涨价,OKB今日的涨幅却独树一帜.

1900/1/1 0:00:00
NFT:2023 年加密领域的十大趋势

随着加密货币行业不断获得主流采用,其基础设施不断完善,用户体验和安全性对终端用户来说越来越重要.

1900/1/1 0:00:00