作者:zoe zhang
作為一個去中心化的信任機制,區塊鏈能夠解決交易中的信任和安全問題,也正因如此,去中心化金融(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 生態未來發展態勢抱有更多期待,