作为一个去中心化的信任机制,区块链能够解决交易中的信任和安全问题,也正因如此,去中心化金融(DeFi)在短短数年时间里即取得了相当惊人的成绩。不过在这种高速发展背后,如何在去中心化、安全与效率这个不可能三角中寻找最恰当的平衡点,仍然困扰着行业的建设者和开发者们。
进入 2021 年,区块链 3.0 赛道的各大公链竞争进入白热化阶段,在解决区块链不可能三角问题方面,各大公链都提出了自己的解决思路。而喊出「FutureFi (未来金融) 」口号的 Algorand,无论在赛道选择、网络性能还是开发者扶持方面,都表现出了相当的竞争力。
Algorand 高性能公链实现思路
通常我们认为高性能公链拥有以下品质:去中心化;安全;效率高。围绕这三点提出优化方案的 Algorand 采取「随机出块、随机验证」的模式:
-
每一轮共识开始时,随机选出潜在的 leaders,各自生成新区块,对新区块进行签名和广播;
-
随机选出验证组,对 leaders 广播的新区块进行验证,达成共识后广播确认新区块,进入下一轮。
在去中心化方面,Algorand 提出可验证随机函数和数字签名机制。
Algorand 利用哈希函数和数字签名的特性,提供了一种较为简单的 VRF 实现。具体实现方式是调用者 i 将输入 m 通过数字签名和哈希函数映射为固定长度的输出 H[SIGi(m)], 即 m -> H[SIGi(m)]。
对于任何输入 m,不同的调用者 i 生成的数字签名 SIGi(m) 都是唯一的;而对于不同输入,哈希函数 H 的输出具有随机性,因此上述映射符合 VRF 的「随机性」要求。同时,由于 i 的数字签名 SIGi(m) 可通过其公钥对其身份进行验证,因此其也符合 VRF 「可验证」的特性,SIGi(m) 就是 VRF 中提到的「证明」。
在共识方面,Algorand 引入了改进的二元拜占庭协议 BBA。
BBA 由一种改进的二元拜占庭协议(Binary Byzantine Agreement,BBA)和分级共识协议(Graded Consensus,Protocol GC)组合而成 。
所谓二元,即只能达成 0 或 1 两种共识,即节点只能选择接受新块或者不接受。在 Algorand 改进的拜占庭协议 BBA 中:先通过 GC 把任意值问题(从多个区块中选择一个候选)转化为一个是或者否的二元问题,再利用 BBA 达成快速二元拜占庭共识。无论哪种情况,BBA 都可以在验证节点中达成共识,从而确定新区块及其包含的交易(有可能为空区块)。
在安全方面,Algorand 还引入了一次性公钥机制,着重规避短暂分叉的可能。
数字签名和 VRF 本身的安全性也对系统安全提供了基本的保障。在此基础上,所有节点在 Algorand 网络上发生第一笔交易时,都会生成足够多的一次性公钥并公布。每个新节点需要约 1 小时来生成未来 10^6 轮的所有公钥(约 180 MB 数据)。
这些公钥将用作后续所有轮次的签名验证,并且每个公钥只使用一次,一旦被使用后就销毁。如此一来, Algorand 便能进一步规避分叉攻击:因为一旦签名完成,公钥即被销毁,即使被恶意节点劫持,也无法再次签名产生分叉。
在性能方面,Algorand 高效且便宜。
Algorand 采用 PoS+VRF 机制进行随机选择区块生产者和验证者,无论网络中有多少节点,每一轮都只需要在少数节点上进行验证,大大提高了共识速度,提高可扩展性。据最新数据显示:Algorand 的区块确认时间仅为 4.5 秒左右,能够承载每秒上千笔交易,并且只需要很低的手续费。
Algorand 开发功能介绍
在 Algorand 的发展理念中,为开发者提供简单、易用且通用的开发功能一直是 Algorand 对自身的要求,推动 Algorand 平台被更快速、更广泛地采用。对于开发者而言,Algorand 的开发包括两部分:使用 Algorand 的原生特性和开发 Algorand 智能合约。
使用 Algorand 的原生特性
Algorand 提供的两大原生特性是原子交易和 Algorand 标准资产(ASA)。这两个功能是金融产品中最常用的两个功能,原子交易用于在没有中间人的情况下实现代币的交换;标准资产(ASA)用于发行代币,用于替代金融资产。
Cross-chain 跨链原子交换的典型目标是使不同区块链的两个用户能够以点对点的方式交换它们所拥有的加密货币;也就是说,没有任何中间人的帮助。例如,以太坊区块链中的用户可能希望将他的一些以太币交换为 Algorand 区块链中的用户所拥有的 Algo。在效率方面,Algorand 所有交易都是最终的,并立即确认,突破了现有的原子交换必须依赖于具有长延迟和繁琐的时间锁的复杂的多步协议难题,真正实现既快捷又真实的跨链原子交换。
Algorand 标准资产 (ASA) 提供了一种标准化的第一层 Layer-1 机制,用于表示在 Algorand 区块链上的任何类型的资产。ASA 可以包括 :
-
可替代资产 Fungible Asset
-
不可替代资产 Non Fungible Asset
-
受限制可替代资产 Restricted Fungible Assets
-
受限制的不可替代资产 Restricted Non Fungible Assets
开发者可以凭借 Algorand 标准资产 (ASA) 轻松发行资产,还可通过更高级的功能在智能合约中创建或操作 ASA。 Algorand 上的所有资产都自带原生的资产 ID,支持原子交换,使得 NFT 发行者与购买者们能够直接在链上完成交易,无需市场中介担保。
开发 Algorand 智能合约
Algorand 智能合约分为无状态合约和有状态智能合约。两者区别在于使用需要使用链上的状态存储空间:如果仅仅需要简单的逻辑判断功能,那么无状态合约的能够快速低成本的完成这一过程;而如果需要在链上存储一些数据,那么就需要使用有状态智能合约来实现。
Algorand 智能合约模型简洁而强大。智能合约采用高级语言编写,并编译为字节码在 Layer-1 第一层 Algorand 虚拟机 (AVM) 上执行。目前,Algorand 智能合约可以支持所有主流去中心化应用的需求。
编程语言
Algorand 非常注重用简洁易懂的语言编写智能合约,因此为开发者们提供了以下变成语言。在编写与数十亿美元价值交互的智能合约基础设施时,Algorand 非常注重强调安全性和正确性。
-
Reach:Reach 以其他任何语言都无法提供的方式,提供了智能合约迈向主流所需的易用性、可及性和安全性保证。Reach 使用 JavaScript 的子集来指定整个去中心化应用:智能合约、前端运行的客户端、后端运行的服务器,以及所有组件之间的通信。整个规范采用一种语言编写,因而开发人员能够快速创建、分析和部署去中心化应用。此外,编译器本身采用类型检查、信息流安全和端点投影,从单个规范正确导出每个组件。编译器集成了可满足性模理论 (SMT) 定理证明器,通过特定于开发人员的谓词自动检查应用的正确性,并自动生成适用于所有去中心化应用的属性。
-
Python:Algorand 提供 Python 到 AVM 的语言绑定。开发人员用 Python 编写代码,并通过所提供的库访问 AVM 操作码,无需用 Teal 语言直接编写。尽管更喜欢与堆栈机器语言直接交互的开发人员仍然可以使用 Teal,但我们建议改用更高级的语言来编写更直观的智能合约。
-
Clarity:Algorand 也在积极推动编译器开发工作,希望能将 Clarity 语言引入到其 Layer-1 第一层智能合约中。Clarity 是一种可判定语言,也就是说,肯定可以从代码本身知道程序会做哪些操作。Clarity 旨在优化可预测性和安全性,采用了「所见即所得」方法,更容易推算智能合约的行为、成本和性能。Clarity 允许对给定智能合约的整个调用图进行静态分析。其对类型和类型检查器的支持可以消除所有错误类型,如意外强制类型转换、可重入错误和未初始化值读取。Algorand、Stacks 生态和 Hiro PBC 均支持 Clarity 开源项目。Clarity 是一种广泛采用的、可判定的、安全的、高度可分析的开源语言,开发人员可以使用 Clarity 无缝创建和调用合约。
谷歌浏览器插件 AlgoSigner
Algorand 还推出了谷歌浏览器插件 AlgoSigner,目前该插件已在谷歌浏览器 Chrome 网上商店正式上线。AlgoSigner 的推出可以极大的简化用户的交易操作以及和 DApp 交互;而且对于像 Monerium (为 Algorand 提供授权电子货币的供应商)这样的应用,AlgoSigner 可以让个人在无需关闭 Chrome 浏览器的情况下发送和签署电子货币交易。
多版本开发语言
Algorand 的代码是开源的,开发人员可以简单快速地在区块链上进行构建。同时 Algorand 还提供了包括 Java、JavaScript (node.js 和浏览器)和 Go SDK、REST API 等开发语言,帮助多领域开发者更加轻松地完成他们的应用开发。
Algorand 原生自带的 ASA 和原子交易功能就已经能够满足基本开发要求;系列智能合约开发工具的引入又进一步帮助开发者实现更复杂的业务逻辑,两方面配合下,Algorand 网络上的开发工作变得安全、简单、易用。
Algorand 开发者扶持计划
Algorand 基金会一直致力于拥抱社区、以技术引导并赋能参与者,通过开放的、去中心化的区块链技术,构建一个无国界、无摩擦的经济生态。为实现这个愿景,在应用开发、工具及基础设施、研究创新、教育及社区参与等方面,Algorand 基金会推出多类型开发者中扶持计划,推动建设一个生机勃勃、欣欣向荣的多样化生态系统。
开发者大使计划
Algorand 基金会专门为开发者推出了开发大使 (DevAm) 计划,鼓励开发者在 Algorand 区块链上进行开发和创新。DevAms 在 Algorand 构建充满活力的全球开发社区方面发挥着关键作用。创建一个 Algorand 解决方案以在我们的开发者门户上展示,开发者最高可获得 5000 枚 Algos 代币奖励。
2.5 亿生态奖励计划
2020 年 4 月 30 日,Algorand 基金会正式发布了「2.5 亿 ALGO 生态奖励计划」,目前已有近 200 个项目成功获得了奖励,该计划还将持续运作多年。生态项目奖励范围包含以下几个方面:
完善详细的开发教程文档
在 Algorand 开发者门户, Algorand 为开发人员准备了一系列详细、直观且实用的开发文档及教程。文档库分为不同的部分和主题,使其直观且易于导航。几乎所有的技术问题,开发者都能在该文档教程中找到答案。
Algorand 多领域生态赋能
Algorand 的定位一直是金融公链,并且除了区块链生态以外,Algorand 一直致力于助力传统金融行业进行业务转型,助力区块链技术的向外扩张。
截止目前,Algorand 链上已拥有近 800 家合作伙伴,覆盖了证券发行、国际金融衍生品、金融稳定币、房地产、去中心化交易所乃至国家级数字货币应用等各个方面,比如:
-
SIAE 基于 Algorand 为 95,000 多位创作者 发行 400 多万个 NFT
-
Curv 携手 Algorand, 合作 推进 机构数字资产安全建设
-
Algorand 携手数字资产托管方 Hex Trust,支持 银行业数字转型
-
Vesta Equity 携手 Algorand,打造 链上通证化住房点对点市场
众多区块链行业、传统行业的合作资源为在 Algorand 上构建的 DApp 提供了更多深化应用的机会,更有助于推动 Algorand DApp 从区块链行业走向主流视野。
另一方面,2021 年 3 月 31 日,Algorand 网络账户数量突破 1000 万,广泛的用户基础也成为开发者选择 Algorand 网络的重要理由之一:1000 万网络账户数相当于开发者一开始就拥有了 1000 万潜在用户。
结语
区块链技术的想象空间很大,但最终需要大规模的落地应用去填补这一想象空间。平台+开发者相辅相成的协作关系,是推动网络繁荣和技术落地的关键。
Algorand 对于开发者的重视也彰显其构建全方位参与者受益生态的决心,系列开发工具、教程以及激励政策的推行,也让更多人对于 Algorand 生态未来发展态势抱有更多期待。
原创文章,作者:CoinKaola,如若转载,请注明出处:https://www.coinkaola.co/news/239740/