PlutusV3 釋放更多機會

文章來源:
https://iohk.io/en/blog/posts/2024/02/12/unlocking-more-opportunities-with-plutus-v3/

PlutusV3 現已可在 SanchoNet 上進行測試,它引入了高級 Plutus 原語,因此為開發人員提供了更多工具,並為編寫智能合約釋放了更多可能性。

改善開發者體驗和智能合約採用對於卡爾達諾智能合約的蓬勃發展至關重要。 在過去的一年裡,大量社群建構的開發者工具和替代語言的出現和成長極大地增加了開發者的選擇和卡爾達諾建構者生態系統的活力。 為了持續增強能力,Plutus 和 Input Output Global (IOG) 的密碼學團隊與 MLabs 合作開發了 PlutusV3,專注於效能、吞吐量、智慧合約大小和平台功能。 透過豐富的開發者工具包和更好的營運效率,本次升級不僅降低了成本,還有助於引進新的開發者。

什麼是PlutusV3?

PlutusV3 是一種新的帳本語言,增強了 Plutus Core 的加密功能,使 Cardano 能夠符合最新的業界標準。 一年前的 Valentine 升級增加了對 SECP 橢圓曲線(ECDSA 和 Schnorr)的支援。

V3 引入新的加密原語可幫助開發人員滿足行業最佳實踐、使用眾所周知的最佳加密演算法、從以太坊移植智能合約並創建側鏈橋。 除了加密原語之外,PlutusV3 透過添加乘積和 (SOP) 功能來支援不同資料類型的直接編碼,從而提高了效能。 最後,V3 提供了更新的腳本上下文,讓使用者可以看到與 CIP-1694 治理相關的實體。

讓我們仔細看看新功能。

乘積之和

在 Plutus Core 中編碼資料類型的常見方法是使用 Scott 方法。 PlutusV3 引入了乘積總和——一種對資料類型進行編碼的方法,與 Scott 編碼相比,它可以產生更小、更便宜的腳本。

乘積之和方法旨在提高腳本效率並改善 Plutus Core 編譯器的程式碼產生。 這些變更涉及新術語建構函數,用於將欄位打包到建構函數值中,以及對 case 分支進行有效的標記檢查。 好處是程式運行速度可能提高 30%,這是顯著的效能最佳化,簡化了操作並確保智慧合約的快速執行。 有關更多詳細信息,請參閱 CIP-85。

新的加密原語

每個區塊鏈的核心是加密原語的使用,包括雜湊函數、數位簽章和零知識證明(ZKP)系統。 這些基本元素專為提高運算效率而設計,確保針對各自應用程式量身定制的強大安全性。 結果是一系列安全保證,建立了一個無需信任的生態系統,促進與卡爾達諾的點對點(P2P)網路及其去中心化應用程式(DApp)的順利參與。

在 Plutus 語言中,內建函數是那些未在腳本中明確定義但屬於語言執行時間環境的一部分的函數。 使用這些函數允許解釋器在執行腳本時提供特定於其係統的最佳化實作。 內建函數執行常用的、定義明確的操作,包括算術、控制和其他關鍵任務。 當我們深入研究 PlutusV3 時,讓我們探索新的內建原語,它們將豐富該語言的功能:

  • BLS12-381 – 此曲線配對包括 17 個支援加密曲線的原語,為無縫側鏈規範實施和 Mithril 整合打開了大門。
  • Blake2b-224 – 一種加密雜湊函數,用於公鑰雜湊的鏈上計算,以驗證交易簽名。 Blake2b-224 的實施支援社區項目,透過容納各種應用程式來促進 Cardano 的多功能性和採用。
  • Keccak-256 – 一種加密雜湊函數,可產生 256 位元(32 位元組)雜湊值,通常用於安全資料驗證。 Keccak-256 支援腳本內的以太坊簽章驗證。 這對於跨鏈解決方案至關重要,並透過擴展卡爾達諾的用例來促進社區專案。

為開發人員提供按位(bitwise)原語的支持

CIP-58 按位原語的引進將為開發人員提供強大的低階位元操作功能。 這項新增功能為開發人員在效能最佳化和加密功能方面帶來了深遠的好處。 透過增量部署計劃,按位原語確保了無縫整合流程,並為開發人員在卡爾達諾上建立強大而高效的解決方案創造了一個強大的環境。

按位原語具有以下功能:

  • 性能提升: 按位原語引入了 Plutus 中非常低階的位元操作的功能。 此功能為執行高效能資料操作操作奠定了基礎,這對於尋求高效解決方案的開發人員來說至關重要。 CIP-58將為高效演算法和資料結構添加一類低階函數。
  • 加密支援: 按位原語對於支援加密函數至關重要。 這些原語允許在 Plutus 內實現安全且穩健的加密演算法。
  • 整數位元組串轉換以實現平滑整合: 按位原語促進了整數和位元組字串之間轉換的標準、高效能實現。 這種能力至關重要,因為原語需要字節串格式的參數,而資料通常以整數格式表示。

Plutus 升級將新增兩個位元原語:integerToByteString 和 byteStringToInteger。 其餘原語將逐漸加入 PlutusV3 中。 展望未來,此類升級將不需要新的帳本語言。 這種增量部署方法可確保將這些強大的功能係統地整合到 Plutus 語言中。

從 Cardano 節點 v.8.8.0-pre 的發布開始,PlutusV3 現已在 SanchoNet 上提供,向 Cardano 社區介紹受控測試網環境中 CIP-1694 的治理功能

結論

PlutusV3 的優勢之一是為 Cardano 建構者社群提供了更高的效率、可選性和易用性——所有這些都是培養開發人員採用的關鍵。 優先考慮效能、吞吐量、智慧合約大小和平台功能等方面可確保卡爾達諾開發人員可以使用最新標準。 這些改進促進了智能合約從以太坊的順利遷移,實現了側鏈橋的創建,並最終有助於卡爾達諾生態系統的擴展。