编程语言的选择并不是智能合约开发的全部。但它确实影响区块链应用程序的安全性、效率和可访问性。
每种语言都有自己的一套功能和局限性,这些功能和局限性会影响合同的执行方式、漏洞的可能性以及查找和修复错误的难易程度。
Algorand正在成为第一个采用 Python 作为其规范语言的 Layer-1 区块链, Algorand基金会首席技术官 John Woods 称之为“重大变化”。
伍兹表示:“Python 在消除开发人员进入的所有障碍的路线图上迈出了一大步。”
全球有超过 1000 万名开发人员,考虑到专业智能合约开发人员的总数仍然相对较少,这种语言历来被智能合约平台忽视或许令人惊讶。
阅读更多: Electric Capital发现资深 Web3 开发者正在崛起
基于 Algorand 的 DeFi dapp Vestige.fi 的软件开发人员 Mariano Dominguez 告诉Blockworks ,造成这种情况的原因有几个。
首先,“大多数具有智能合约执行层的区块链都在资源受限的情况下运行,这在现代开发环境中并不常见,”Dominguez 说。“因此,构建领域特定语言(例如 Solidity、PyTEAL/TEAL 或 Move)通常比集成‘普通’语言更容易、更便宜,因为你可以从一开始就克服这些限制。”
TEAL 是Algorand早期的智能合约语言,PyTEAL 是一种从 Python 文件调用 TEAL 指令的机制。
基金会告诉Blockworks,现在的区别在于,原生 Python 被编译为Algorand虚拟机(AVM)的字节码,使其与 Python 原生工具(包括测试套件)兼容。
这使得它有别于 PyTEAL 和EVM的 Vyper 等语言,这些语言只是“类似 Python”。
阅读更多: Move Chains 正在采取行动
然而,Dominguez 补充道,Python 的“简单本质……使其很难适应区块链环境。”*
Cubist 联合创始人兼首席科学家 Deian Stefan 认为,这种简单性是一把双刃剑,Cubist 专门为跨链互操作性提供开发工具。
“我认为,对于普通 Python 开发人员来说,进入该领域的门槛较低,”Stefan 告诉Blockworks。但他补充道,“从我们与生态系统中不同团队合作的经验来看,目前尚不清楚,障碍是语言本身,还是语言周围的一切。”
Stefan 发现与核心平台性能相关的技术因素、最终用户入门的便利性以及流动性和网络效应等非技术因素更为重要。
虽然Algorand具有高吞吐量和低交易费用等技术优势,但尽管该网络在基础密码学和理论计算机科学方面有着深厚的根基,但从历史上看,它一直难以吸引大量引人注目的用例和 dapp。
Dominguez 表示,Algorand 的最新成果 AlgoKit 2.0 旨在“构建满足开发人员需求的工具”。他估计,对于一名熟练的 Python 开发人员来说,编写智能合约所需的时间将从“几周”缩短到“几个小时”。
他说,这也有助于 Vestige 自己的业务,使 dapp 能够在几天内集成用 Python 为Algorand编写的新 dex,或者通过访问源代码更快地集成。
多明格斯说:“最终,你从创意到产品的转化速度越快,你可以尝试的东西就越多,产生的创新就越多。”
但它安全吗?
专注于 Javascript 的智能合约平台 Agoric 的首席执行官 Dean Tribble 对此表示怀疑。
特里布尔告诉Blockworks:“从安全角度来看,这是行不通的”,他指出,出于技术原因,Python 被谷歌等公司广泛用于数据分析,但并不用于管理数万亿美元的应用程序。
阅读更多:解决 Web3 的开发者问题:Web2 仍犹豫不决
Tribble 表示:“我们已经为经过实战检验并幸存下来的现有 Solidity DeFi 合约付出了 100 亿美元的损失。这并不是说我们应该害怕使用现有的合约——它们已经付出了代价(而且是一笔不小的代价!)——但从事新的创新工作是非常危险的。”
Cubist 的 Stefan 表示,对于采用和安全性而言,使用现有库和设计模式(如 Solidity 中久经考验的 OpenZeppelin 合约)的能力是任何语言成功的关键,并指出安全管理加密密钥、测试基础设施部署和执行升级等基本因素在实践中更为重要。
阅读更多: Stellar引发智能合约升级——而且它不是 EVM
Algorand基金会表示,AlgoKit 2.0 配备了一个新的模板系统、一个全面的智能合约模板库以及在本地运行应用程序所需的所有基础设施。
该项目希望吸引各类开发人员,从刚从计算机科学专业毕业的学生到高级人工智能和机器学习研究人员。
Dominguez 表示,对于 dapp 用户来说,区块链、编程语言或其他技术因素并不重要。重要的是“他们使用的应用程序能解决他们的需求”。
Dominguez 表示:“我认为,使用Algorand可以构建的产品和解决方案类型与使用传统系统的产品和解决方案类型相当,在某些情况下甚至更好。”他以房地产代币化平台 Lofty 为例,“人们可以投资个人房产,并将其作为合法 DAO 拥有,而无需经过托管人。”
无论这些 dapp 的客户是否了解其技术基础,他们都会关心安全性。Tribble 对此持怀疑态度。
Agoric 首席执行官表示:“对我来说,Python 不太可能成为一种可以在区块链上稳健运行的语言。”
至于 Python 开发人员的数量?这不是什么问题,他说:“大多数 Python 开发人员已经了解 JavaScript!”
*例如缺少静态类型和 uint math——使用无符号整数进行算术运算以避免负数。
以 David Canellis 和 Katherine Ross 的顶级加密货币见解开启您的一天。订阅 Empire 时事通讯。



