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