Nâng cấp Vasil sẽ làm cho các chức năng, hiệu suất, khả năng mở rộng và khả năng tương tác được tăng cường cho Cardano thông qua các tính năng và cải tiến mới.

Cardano’s approaching Vasil upgrade: what to expect

Nâng cấp Vasil sẽ mang lại những cải tiến quan trọng về hiệu suất và năng lực cho Cardano. Mạng lưới đã chứng kiến ngày càng nhiều những cải tiến nhất quán trong vài năm qua – và sự ra mắt của NFT, đa tài sản và các khả năng của hợp đồng thông minh vào năm 2021 – nhưng một cách đơn giản, Vasil là bản nâng cấp mạng lưới quan trọng nhất kể từ khi triển khai Staking qua kỷ nguyên Shelley.

Vào tháng 6, nhóm Node đã phát hành phiên bản Cardano Node 1.35.0 hoàn toàn mới, nền tảng cho nâng cấp Vasil. Bản phát hành mới nhất này cho phép sử dụng các chức năng mới Plutus sau khi nâng cấp Vasil, bao gồm việc hỗ trợ CLI và node cho đầu vào tham chiếu, dữ liệu inline(1), script(2) tham chiếu, đầu ra thế chấp và các nguyên bản của Plutus V2.

(1)inline là bất kỳ phần tử (element) nào có trong chương trình, tài liệu (document) hoặc thông điệp (message). Ví dụ: với HTML, inline code là bất kỳ thứ gì được tích hợp sẵn trong trang web, thay vì được tải từ file bên ngoài. Phần lớn nội dung được xem trên trang web là inline, nhưng hình ảnh và file CSS là bên ngoài.
(2)Script hay tập lệnh, là một danh sách các lệnh (command) được thực thi bởi một chương trình hoặc scripting engine nhất định. Script có thể được sử dụng để tự động hóa các quy trình trên máy tính cục bộ (local computer) hoặc để tạo các trang Web trên Web. Ví dụ: các DOS script và VBScript có thể được sử dụng để chạy các quy trình (Ví dụ đổi tên nhiều file trong một thư mục) trên máy Windows, trong khi các AppleScript scriptt có thể tự động hóa các tác vụ trên máy tính Macintosh. Các script ASP, JSP và PHP thường được chạy trên các máy chủ Web (web server) để tạo ra nội dung trang Web động (dynamic web page).Các file script thường chỉ là các tài liệu văn bản chứa các hướng dẫn được viết bằng một ngôn ngữ kịch bản (scripting language) nhất định. Điều này có nghĩa là hầu hết các scripth có thể được mở và chỉnh sửa bằng trình soạn thảo văn bản cơ bản. Tuy nhiên, khi được mở bởi scripting engine, các lệnh trong script sẽ được thực thi. Vì VBscript có thể truy cập và sửa đổi các file cục bộ, bạn không nên chạy VBscript mà bạn nhận được dưới dạng file đính kèm e-mail không xác định.

Vào ngày 28/6/2022, Team Input Output Global đã báo cáo rằng họ đã nộp đề xuất cập nhật cho hardfork Cardano Testnet, và bắt đầu đếm ngược đến nâng cấp mainnet Vasil.

(Chúng tôi) cảm ơn các nhà vận hành Pool (SPOs) đã hỗ trợ Cardano Testnet (và những nỗ lực tuyệt vời của họ trong việc nâng cấp testnet node lên phiên bản 1.35.0 tuần trước), các nhà phát triển sẽ sớm bắt đầu được tận hưởng các tính năng và cải tiến mới của Vasil mà chúng ta sẽ thấy trên mainnet. IOG đã hardfork Cardano Testnet thành công vào lúc 20h20 UTC ngày 03/07/2022, và các tính năng mới Plutus V2 sẽ khả dụng sau 1 epoch nữa.

Tất cả về Vasil

Cũng như việc mang đến những cải tiến cho Hợp đồng thông minh, nâng cấp Vasil là một phần của giai đoạn Basho trong lộ trình phát triển của Cardano, tập trung vào mở rộng và tối ưu hóa sổ cái và mạng lưới, và mang đến nhiều cải tiến cho sổ cái. Vasil sẽ được triển khai ở cấp độ giao thức với việc sử dụng bộ tổ hợp hardfork Cardano (HFC) – công nghệ cải tiến giúp nâng cấp sổ cái và chuyển đổi giao thức liền mạch, giảm thiểu sự gián đoạn đối với người dùng cuối.

Bản nâng cấp – được đặt tên để vinh danh cố Đại sứ Cardano Vasil St. Dabov, người đã qua đời vào năm 2021 – sẽ triển khai rộng rãi các tính năng được chờ đợi như pipelining khuếch táncác nâng cấp lên Plutus –  ngôn ngữ Hợp đồng thông minh cốt lõi của Cardano. Nhiều cải tiến đã được mở rộng và phát triển nhờ sự hỗ trợ của cộng đồng các nhà phát triển rộng lớn hơn; và được bắt nguồn từ các Đề xuất cải tiến Cardano (CIPs). Ngoài ra, một số các nguyên bản mật mã học mới sẽ được cung cấp, và các quy trình xác thực script sẽ chứng kiến nhiều hơn các điều chỉnh và tối ưu hóa góp phần vào tính nhất quán trong thời gian truyền Block và tỉ lệ xử lý giao dịch cao hơn.

Chúng tôi đã đến được đây như thế nào

Từ khi khởi động lại Byron năm 2020, chúng ta đã thấy Cardano được nâng cấp thường xuyên, cho phép một cộng đồng trên 3000 SPOs tạo và hỗ trợ một mạng lưới Proof-Of-Stake phi tập trung xác định ngành (dẫn đầu ngành).

Kể từ bản nâng cấp Mary (đầu năm 2021), người dùng đã có thể tạo nhiều loại tài sản gốc để giao dịch và trao đổi trên sổ cái. Vào tháng 9 năm 2021, Alonzo đã giới thiệu hỗ trợ Hợp đồng thông minh, và kể từ đó dần phát triển thành một nền tảng Hợp đồng thông minh đầy đủ chức năng, với một hệ sinh thái NFT đa dạng và nhiều token gốc.

Sự phát triển của Cardano đã giúp việc ra mắt của các DApp thuận lợi hơn, với hàng chục loại DApp đã và đang hoạt động trên mainnet, bao gồm nhiều sàn giao dịch phi tập trung (DEXs) và sàn NFT.  Nhưng đó mới chỉ là bắt đầu – team IOG đang theo dấu của hơn 1000 dự án xây dựng trên Cardano, và con số này có vẻ thấp hơn khối lượng công việc đang diễn ra (thấp hơn số dự án thực tế).

Nâng cấp Vasil sẽ cung cấp một số tính năng chính cho phép nhiều dự án hơn được ra mắt cũng như cung cấp một đường dẫn nâng cấp (mang lại tốc độ cao hơn, tính năng giao dịch, và các script mạnh mẽ hơn) cho các DApps đang chạy. Với hardfork Vasil, thông số d sẽ bị xóa bỏ vì việc sản xuất block hiện đã hoàn toàn phi tập trung; điều này sẽ ngăn chặn việc liên kết nhau lại. Chúng ta hãy xem kỹ hơn những thay đổi của Vasil.

Pipelining khuếch tán

IOG đã và đang áp dụng một loạt các tối ưu hóa thông số cẩn thận, chắc chắn (như kích thước khối (block size) và tăng đơn vị bộ nhớ script) trong cả năm 2022 để điều chỉnh và cải thiện hiệu suất mạng lưới. Pipelining khuếch tán giúp mọi thứ trở nên hiệu quả hơn, bằng việc cải thiện thời gian truyền block, do đó cho phép thông lượng cao hơn.

Về bản chất, nó cải thiện quy trình chia sẻ thông tin về những block được tạo mới giữa những người tham gia mạng lưới bằng cách đảm bảo rằng các block có thể được chia sẻ (truyền) tốt trong mạng lưới trong khoảng 5 giây sau khi chúng được tạo. Với điều này, pipelining khuếch tán truyền các block trước khi chúng được xác thực đầy đủ, do đó có khoảng trùng thời gian dành cho khuếch tán với thời gian cần thiết cho việc xác thực.

Pipelining cũng đảm bảo rằng tiêu đề block tham chiếu hàm băm của block trước đó được truyền một cách chính xác. Phần thân block được giữ lại trong siêu dữ liệu có trong block tiếp theo, điều cần thiết cho khả năng chống tấn công DDoS ngay cả khi không có việc xác nhận toàn bộ block.

Cuối cùng, pipelining khuếch tán sẽ thêm khả năng mở rộng quy mô bằng cách cho phép tăng kích thước khối hơn nữa và cải tiến Plutus script, vì IOG sẽ tiếp tục tối ưu hóa mạng lưới cho đến hết năm (2022) .

Các cải tiến Plutus script

Nền tảng plutus đã mạnh mẽ nhưng Vasil sẽ cải thiện hơn nữa, cho phép các nhà phát triển tạo ra các DApps nhanh hơn, hiệu quả hơn. Việc tối ưu hóa các Hợp đồng thông minh cho phép tận dụng tốt hơn mô hình EUTXO của Cardano, bao gồm:

  • Bổ sung các đầu vào tham chiếu (CIP-31). Bản nâng cấp này cho phép chia sẻ dữ liệu on-chain. Trước đó, dữ liệu được thực hiện trong các đầu ra giao dịch; chúng đã lưu trữ và cung cấp quyền truy cập thông tin trên blockchain. Tuy nhiên, để truy cập thông tin trong dữ liệu này, ta phải dùng đến đầu ra mà dữ liệu được gắn kèm. Việc này đòi hỏi phải tái tạo một đầu ra đã chi tiêu. Việc bổ sung các đầu vào tham chiếu hiện cho phép các nhà phát triển xem xét dữ liệu mà không cần các bước nào thêm. Việc này giúp cho việc truy cập thông tin được lưu trữ trên blockchain thuận lợi hơn mà không cần sử dụng và tái tạo các UTXOs. Điều này sẽ hữu ích , ví dụ cho oracles(3).

    (3)Oracles: hệ thống quản trị Database (cơ sở dữ liệu).

  • Bổ sung các dữ liệu inline (CIP-32). Các dữ liệu giao dịch đã được gắn kèm trước đó với các đầu ra như các hàm băm. Với việc triển khai các dữ liệu inline, các nhà phát triển giờ có thể tạo các tập lệnh và gắn dữ liệu trực tiếp vào các đầu ra thay vì sử dụng các hàm băm của chúng. Việc này sẽ làm đơn giản cách dữ liệu được sử dụng – một người dùng có thể thấy được dữ liệu thực tế hơn là cung cấp nó để khớp với hàm băm đã cho.
  •  Việc thực thi các script tham chiếu (CIP-33). Ở Alonzo, khi dùng đến một đầu ra đã bị khóa trong một Plutus script (smart contract), ta phải đưa script vào trong giao dịch chi tiêu. Việc này đã làm tăng kích thước của script cũng như gây ra những trì hoãn trong quá trình xử lý của nó. Việc nâng cấp các script tham chiếu cho phép các nhà phát triển tham chiếu một script mà không cần đưa nó vào mỗi giao dịch. Việc này làm giảm đáng kể kích thước giao dịch, cải thiện thông lượng, và làm giảm chi phí thực thi script (vì script chỉ cần trả một lần).

Các nhà phát triển hay người sử dụng DApps đều rất háo hức với những cải tiến đáng kỳ vọng đối với Plutus. Nhưng cần lưu ý rằng, để đạt được hiệu quả, các nhà phát triển sẽ cần thời gian để thực hành và triển khai các cải tiến Plutus trong các DApps của họ, và nhiều người cũng sẽ tìm kiếm một cuộc kiểm tra lại từ đầu sau những thay đổi đáng kể đối với code của họ.

Plutus V2

Nâng cấp Vasil cũng sẽ bao gồm các cải tiến nguyên bản về mật mã học Cardano (cho phép các tùy chọn về khả năng tương thích tốt hơn cho các blockchain khác), một trình thông dịch Plutus được điều chỉnh, và một mô hình chi phí mới, tất cả đều là một phần của Plutus V2 Script.

  • Cải thiện tốc độ trình đánh giá Plutus: Bởi vì các cải tiến hiệu suất trong trình đánh giá Plutus, cả script của Plutus V1 và Plutus V2 đều có các thông số mô hình chi phí thấp hơn trước, kết quả là cải tiến 20-30% trong việc sử dụng tài nguyên script.
  • Các thông số mô hình chi phí được cập nhật: Các thông số mô hình chi phí được cập nhật mở rộng set(4) của các hàm được tích hợp sẵn bằng cách thêm 3 tích hợp mới:  ‘serialiseData’, ‘verifyEcdsaSecp256k1Signature’, và ‘verifySchnorrSecp256k1Signature’.
    Các tích hợp cuối cùng hỗ trợ tiêu chuẩn đường cong Elliptic ECDSA/SECP256K, cung cấp tính năng tương thích tốt hơn giữa Cardano và các blockchain khác, ví dụ như Bitcoin hay Ethereum. Hàm ‘serialiseData’ (CIP-42) sẽ làm giảm chi phí CPU và bộ nhớ tổng thể, cho phép quá trình serialization(5) dữ liệu được tương tự và tối ưu hơn.

    (4)Set: Trong lập trình (programming) và cơ sở dữ liệu (database), set là một kiểu dữ liệu (data type) bao gồm các giá trị duy nhất được xác định trước, không có bất kỳ thứ tự cụ thể nào. Set có thể được định nghĩa trong mã nguồn (source code) của chương trình hoặc trong cấu trúc bảng (table) của cơ sở dữ liệu. Ví dụ: set lưu trữ các loại thể thao khác nhau có thể được khai báo bằng Python như sau:set Sports { "soccer", "baseball", "tennis", "golf" };
    Tương tự, một cột trong một bảng của cơ sở dữ liệu MySQL có thể được định nghĩa như sau:
    Sports SET ('soccer', 'baseball', 'tennis', 'golf')
    Một ví dụ là biểu mẫu web (web form) yêu cầu người dùng chọn các môn thể thao mà họ thích chơi. Vì người dùng có thể chọn một hoặc nhiều giá trị được xác định trước, nên dữ liệu kết quả phải được lưu trữ dưới dạng một set. Giống như enum, set có thể được sử dụng để đảm bảo tính toàn vẹn của dữ liệu (data integrity) bằng cách giới hạn các giá trị mà một biến hoặc bản ghi (record) của cơ sở dữ liệu có thể lưu trữ. Tuy nhiên, điều này cũng làm cho set kém linh hoạt hơn so với các kiểu dữ liệu chuỗi hoặc float. Do đó set thích hợp cho các kiểu dữ liệu chỉ chứa một số giá trị giới hạn.
    (5)serialization: Serialization là quá trình chuyển đổi thông tin trạng thái (state) của một đối tượng (object) thành một luồng các byte (dạng nhị phân hoặc dạng văn bản) để lưu trữ đối tượng vào bộ nhớ, cơ sở dữ liệu, file hoặc truyền qua mạng. Mục đích chính của nó là lưu trạng thái của một đối tượng để có thể tạo lại nó khi cần thiết. Quá trình ngược lại được gọi là deserialization. Serialization cho phép nhà phát triển (developer) lưu trạng thái của một đối tượng và tạo lại nó khi cần thiết, cung cấp khả năng lưu trữ các đối tượng cũng như trao đổi dữ liệu

  • Dữ liệu và các trình chuyển đổi: Sau nâng cấp Vasil, các nhà phát triển sẽ có thể thấy các trình chuyển đổi cho tất cả các đầu vào thay vì chỉ một dữ liệu được chuyển tới script đang thực thi.

Vì cần có một mô hình chi phí mới để kích hoạt Plutus V2, các tính năng của Plutus V2 sẽ khả dụng từ epoch sau hardfork Vasil. Cũng cần lưu ý rằng Plutus V1 không thể sử dụng các đầu vào tham chiếu, các script tham chiếu, hay dữ liệu inline.

Các cải tiến khác

Script điều chỉnh tài sản thế chấp (CIP-40) là một sự điều chỉnh khác cải thiện việc xác thực giao dịch. Trước đó, tiền thế chấp được đặt ở mức 150% phí giao dịch, và không thay đổi nào được cung cấp cho UTXO tài sản thế chấp. Điều này nghĩa là, nếu một script làm cho việc xác nhận giai đoạn 2 không thành công, người dùng DApp sẽ mất tất cả tiền được lưu trong UTXO được chọn cho tài sản thế chấp.

Sau Vasil, các nhà phát triển DApps sẽ có thể định ra địa chỉ thay đổi cho script tài sản thế chấp. Nếu một script làm cho việc xác nhận giai đoạn 2 không thành công, thì chỉ tiền thế chấp bị lấy đi, số tiền còn lại sẽ được gửi đến địa chỉ thay đổi.

Cuối cùng, Vasil sẽ tối ưu hóa quá trình “Hàm ngẫu nhiên có thể xác minh” (VRF) của Ouroboros. Trước Vasil, việc xác nhận block yêu cầu hai hàm VRF trong mỗi hop(6) của mạng lưới.

(6)Hop: Trong mạng máy tính, hop là một kết nối trung gian trong một chuỗi kết nối liên kết hai thiết bị. Bất cứ khi nào một router hoặc gateway là thiết bị trung gian giữa hai host, node nó được gọi là hop.

Vasil sẽ bỏ lại một trong số các hàm này, dẫn tới tổng thời gian đồng bộ mạng lưới và việc xác thực block sẽ nhanh hơn. Người dùng sẽ trải nghiệm được hiệu suất cao hơn mà không ảnh hưởng đến cài đặt bảo mật.

Sẵn sàng cho Vasil

Nâng cấp Vasil thể hiện một bước thay đổi cho các tính năng của Cardano/ Pipelining khuếch tán sẽ cho phép thông lượng mạng lưới cao hơn, reong khi các cải tiến mới Plutus sẽ mở ra cho các nhà phát triển các trường hợp sử dụng mới và mang đến các trải nghiệm người dùng DApp được cải thiện đáng kể.

Vasil là một chương trình công việc phức tạp. Các dự án sẽ cần kiểm tra tính tương thích ngược và các SPOs sẽ cần thực hiện một vài điều chỉnh về script. Cộng đồng sẽ có khoảng thời gian là 4 tuần sau hardfork testnet để cho phép SPOs, các nhà phát triển, và các sàn giao dịch thử nghiệm và nâng cấp trước hardfork minnet Cardano.

Mối quan tâm hàng đầu của chúng tôi là đảm bảo rằng quá trình nâng cấp được diễn ra thuận lợi theo cách an toàn và bảo mật. Khi các nhà phát triển và các SPOs đều thoải mái và sẵn sàng (và phần lớn các sàn giao dịch đều đã cập nhật và thử nghiệm xong), Hardfork Vasil có thể tiến hành.

Nếu bạn là người nắm giữa ADA sử dụng Cardano cho các DApps và các giao dịch, thì bạn không cần phải làm gì cả. Công nghệ HFC đặc thù của Cardano giúp việc nâng cấp cho người dùng cuối trở thành một công việc liền mạch và không phiền phức. Tất cả những gì bạn phải làm là chờ đợi thời gian xử lý giao dịch nhanh hơn và hiệu quả hơn.

Tuy nhiên, bạn có thể thấy vài gián đoạn dịch vụ nếu sàn giao dịch ưa thích của bạn chưa cập nhật hệ thống của họ tại thời điểm nâng cấp mạng lưới. Vì vậy, chúng tôi khuyên bạn hãy theo dõi các sàn giao dịch nào đã nâng cấp tại đây hoặc qua các trang hỗ trợ khách hàng của các sàn giao dịch.

Chúng tôi chắc chắn sẽ cập nhật cho các bạn trong tháng tới hoặc xa hơn thông qua Twitter và video của IOG. Xin gửi lời cảm ơn từ tất cả các nhóm đến tất cả cộng đồng Cardano vì đã hỗ trợ liên tục. Chúng tôi sẽ không thể làm được việc này nếu không có các bạn.

Tôi xin được cảm ơn Olga Hryniuk, Kevin Hammond, Nigel Hemsley và Vitor Silva vì đã hỗ trợ tạo ra bài viết này.

Nguồn: https://iohk.io/en/blog/posts/2022/07/04/cardano-s-approaching-vasil-upgrade-what-to-expect/

P/S: Những chú thích (1) (2)…là phần mình giải thích thêm về một số thuật ngữ chuyên ngành để bạn đọc hiểu được. Phần này không có trong bài viết nguồn của IOHK.
Các bạn tham khảo.
Nếu có sai sót, mong các bạn bổ sung, góp ý.
Xin cảm ơn!