Tổng quan 

Khi nhắc tới công nghệ của các nền tảng blockchain, chúng ta không thể không nhắc tới ngôn ngữ lập trình của chúng. Mỗi nền tảng sẽ có những đặc tính riêng, nên chúng cũng cần ngôn ngữ lập trình riêng để phát triển các điểm mạnh độc đáo của riêng mình, chẳng hạn như bảo mật cao hơn, thông lượng nhanh hơn, giao dịch rẻ hơn, quyền riêng tư tốt hơn… 

zk là công nghệ khá mới, mang lại quyền riêng tư cho người dùng. Tuy nhiên, nó lại khá phức tạp, nếu sử dụng ngôn ngữ quen thuộc như Solidity của Ethereum thì rất khó, thậm trí không thể phát huy hết sức mạnh của công nghệ zk. StarkNet, StarkEx là hai trong số những dự án zk đi theo hướng non-EVM, họ phát triển ngôn ngữ mới – Cairo để phát huy hết tiềm năng của zk-Stark. StarkWare đang liên tục cải tiến Cairo để nó mạnh mẽ hơn, thân thiện với các nhà phát triển hơn.

ZKP
Các triển khai của bằng chứng zk

Ngôn ngữ lập trình Cairo là gì?

Một ngôn ngữ hoàn chỉnh Turing giúp tất cả các nhà blockchain Dev có thể khai thác sức mạnh của STARK. Cairo tạo các chương trình có thể chứng minh được cho tính toán chung và cho phép tạo bằng chứng hiệu quả.

Một hệ thống hoàn chỉnh Turing có nghĩa là một hệ thống trong đó chương trình có thể được viết sẽ tìm thấy câu trả lời, tức là nó có thể được sử dụng để giải quyết bất kỳ vấn đề tính toán nào (mặc dù không có gì đảm bảo về thời gian chạy hoặc bộ nhớ).

Ngôn ngữ lập trình Cairo là gì?

Cairo là một ngôn ngữ hoàn chỉnh Turing giúp tất cả các nhà blockchain Dev có thể khai thác sức mạnh của STARK. Cairo tạo các chương trình có thể chứng minh được cho tính toán chung và cho phép tạo bằng chứng hiệu quả.

Một hệ thống hoàn chỉnh Turing có nghĩa là một hệ thống trong đó chương trình có thể được viết sẽ tìm thấy câu trả lời, tức là nó có thể được sử dụng để giải quyết bất kỳ vấn đề tính toán nào (mặc dù không có gì đảm bảo về thời gian chạy hoặc bộ nhớ).

Hành trình Cairo 

Cho đến năm 2020, để xây dựng các chương trình có thể chứng minh được STARK cho tính toán chung thì cần kiến thức chuyên biệt. Điều đó chỉ có thể xảy ra đối với những người hiểu toán học phức tạp đằng sau STARK. Cụ thể, đối với từng logic nghiệp vụ, tức là từng phép tính, người ta cần tạo một Biểu thức trung gian đại số (AIR) — một tập hợp các ràng buộc đa thức biểu thị phép tính cụ thể.

Cairo ra đời từ nhận thức rằng tính toán có thể kiểm chứng nên được cung cấp cho các nhà phát triển ở khắp mọi nơi. Cairo giúp các nhà phát triển có thể khai thác sức mạnh của STARK.

Kể từ đó, cộng đồng nhà phát triển đã tận dụng Cairo để xây dựng một cách nhiệt tình. Mọi thứ trong hệ sinh thái StarkNet phát triển mạnh ngày nay đều dựa trên Cairo. Giữa StarkNet và StarkEx, các ứng dụng do Cairo cung cấp đã xử lý hơn 220 triệu giao dịch, đúc hơn 65 triệu NFT và xử lý các giao dịch trị giá 700 tỷ đô la, tất cả đều được thanh toán trên Ethereum.

Trong quá trình phát triển, nhận được nhiều sự đóng góp từ các nhà phát triển, StarkWare dần dần làm cho Cairo trở nên ấn tượng hơn và thân thiện hơn với nhà phát triển. Không dừng lại ở đó, StarkWare đã có những bước đi táo bạo hơn trong việc phát triển ngôn ngữ Cairo, cụ thể là StarkWare mới công bố ra mắt phiên bản Cairo 1.0 với nhiều nâng cấp đáng chú ý.

Cairo 1.0

Cairo 1.0 Starknet
StarkWare giới thiệu Cairo 1.0 với nhiều nâng cấp mới

Đối với Cairo 1.0, StarkWare đã xây dựng một trình biên dịch hoàn toàn mới từ đầu, trình biên dịch này sẽ cung cấp cho các nhà phát triển các tính năng an toàn và sẽ cho phép họ viết hợp đồng theo cách đơn giản và rõ ràng hơn.

Sierra: đảm bảo mọi tính toán ở Cairo đều có thể được chứng minh

Phần bổ sung chính trong Cairo 1.0 là Sierra (Safe Intermediate Representation). Sierra tạo thành một lớp biểu thức trung gian mới giữa Cairo 1.0 và mã byte Cairo. Mục tiêu của Sierra là đảm bảo rằng mọi hoạt động của Cairo – tức là một chương trình Cairo và đầu vào của nó – đều có thể được chứng minh.

Chứng minh mọi lần tính toán ở Cairo. Ở Cairo cũ, một tính toán ở Cairo có thể dẫn đến ba trường hợp — TRUE, FALSE, hoặc thất bại. Tính toán thất bại tức không thể được chứng minh. Sierra, đảm bảo rằng một lần tính toán Cairo sẽ không bao giờ thất bại và chỉ có thể dẫn đến TRUE hoặc FALSE. Đổi lại, điều này đảm bảo rằng mọi hoạt động ở Cairo đều có thể được chứng minh.

Việc giới thiệu Sierra này có ý nghĩa quan trọng đối với StarkNet với tư cách là một mạng không được phép (permissionless). Sierra đảm bảo rằng các giao dịch thậm chí được hoàn nguyên có thể được đưa vào các khối StarkNet. Thuộc tính này sẽ cho phép giao thức StarkNet duy trì tinh gọn và đơn giản mà không cần thêm các cơ chế kinh tế tiền mã hoá phức tạp.

Hai ví dụ có ý nghĩa:

  • Sequencer sẽ có thể thu phí đối với các giao dịch được hoàn nguyên, cho phép StarkNet ngăn chặn Sequencer DoS theo cách đã được thiết lập tốt.
  • Việc triển khai các giao dịch L1 bắt buộc sẽ có thể thực hiện được, cho phép StarkNet thừa hưởng toàn bộ khả năng chống kiểm duyệt của Ethereum.

Kết luận

Hai năm sau khi Cairo lần đầu tiên được sử dụng, StarkWare đang phát triển Cairo 1.0, phiên bản này sẽ mang lại khả năng nhanh, bảo mật và cú pháp được cải thiện. Nó sẽ có một bước tiến dài, cho phép các nhà phát triển viết hợp đồng StarkNet của họ dễ dàng hơn. Nếu bạn là một Dev thì ngần ngại gì mà không thử tìm hiểu ngôn ngữ Cairo nhỉ?