Kadena :Pact 語言奠定智慧合約新標準

買賣虛擬貨幣
Kadena 的智慧合約模型為區塊鏈程式碼的安全性與可讀性創造了條件。
智慧合約的目的是保證區塊鏈操作的安全,因此,細節至關重要。在智慧合約的整個發展過程中,合約受各種 bug 與漏洞所困擾的訊息在加密貨幣社羣屢見不鮮。至今,已經出現過很多因設計缺陷而導致合約出現問題的情況,這些設計缺陷包括:
  • 語言難以辨認且無法驗證;
  • 模型使合約暴露於危險的漏洞和非確定性行為之下;
  • 缺乏檢查和可追溯性;
  • 呼叫外部智慧合約費用昂貴、速度緩慢且危險。
當 Kadena 的創始人 Will Martino 和 Stuart Popejoy 在摩根大通為該投資銀行構建首個區塊鏈時,他們發現智慧合約技術無法滿足企業用例的需求。
為解決這一問題,Will 和 Stuart 建立了 Kadena 的開源智慧合約語言 Pact,旨在避免那些可能會帶來高風險的設計缺陷。以下內容介紹了 Pact 如何在建立之初就具備了高度的可擴容性與安全性。
Pact 是人類可讀的語言,更加方便所有人使用
Pact 提供了一種直接在鏈上執行的解釋型語言。直譯器的使用意味著,Pact 程式碼將人類可讀的智慧合約直接放在了鏈上。
這就讓企業及企業家可以直接清晰地在區塊鏈上安全編寫智慧合約,真正推動了朝向安全、自動化合約的進步。 Pact 讓任何人都能夠輕鬆參與到智慧合約技術中來,以支援全新的業務模型及鏈上服務。

Pact 是一種圖靈不完備的語言,任何人都能夠更安全地使用

同比特幣一樣,Pact 是圖靈不完備的。這就有助於防止遞迴錯誤和相關的不良使用模式。在 Pact 中,檢測到的任何遞迴都會立即引發故障並終止所有正在執行的程式碼。此功能大大減少了智慧合約中可能存在的潛在攻擊向量。

Pact 智慧合約的執行快速又安全

Pact 提供了一個標準庫作為基本原理。它為 Pact 編寫者提供了其可能需要的所有必要工具,用以編寫安全有效的合約。而且,Pact 絕不會出現「操作碼耗盡」或內建合約地址的情況,這就使其能夠按照顯示的需求合併新功能。因此,gas 模型對於原生定義的函式仍保持定義明確的靜止狀態,這就使使用者能夠以模組化方式構造其程式碼,同時仍保留了推理能力,不僅是推理程式碼功能的能力,還包括推理執行時的成本的能力。
此外,當 Pact 編寫者在區塊鏈上呼叫另一個合約時,特定功能程式碼(及其所有傳遞依賴項)將永久內聯到使用者的呼叫站點。這樣不僅執行速度快(程式碼處於直接作用域內),而且後續也無法對其造成破壞,因此更加安全。

Pact 智慧合約支援原生多籤並可升級迭代

Pact 絕不會將智慧合約的設計限制在單籤這一種方式,缺少變通的動力。而且,Pact 提供了適當的排程模型,允許指定的智慧合約被單個或多簽名金鑰集管理。
Pact 智慧合約可以透過更新機制進行更新、更改或固定,從而確保在只有新程式碼成功執行後才釋出應用的智慧合約新版本。發生任何錯誤時,智慧合約都會自動回滾到其先前狀態,並中止進行任何新更改。
這一功能使得開發人員能夠修復潛在的錯誤。此外,多方參與的合約也可對其協議進行更新,從而體現業務邏輯的發展狀況。

Pact 是智慧合約技術的未來

為了使區塊鏈真正實現其變革潛力,我們需要並致力於為開發人員和使用者提供可以信任的智慧合約。在 Kadena,Pact 的設計在於以一種不同的方式來解決區塊鏈的安全性和可用性。Pact 旨在為開發人員提供一種簡單的方式,無論是透過形式驗證還是透過智慧合約語言的功能,實施完全安全且無 bug 的智慧合約。
現在,開發人員能夠建立下一代智慧合約,從而使那些需要在區塊鏈上代表真實價值和資產的實際應用成為可能。我們歡迎新的專案使用 Pact 來顛覆各行各業,徹底改變我們開展業務的方式。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;