zk-STARK có thể được xem là một phiên bản thay thế của zk-SNARK và được coi là một phương thức triển khai công nghệ nhanh và rẻ hơn. Vậy hãy cùng tìm hiểu zk-STARK là gì? Bản chất của zk-STARK cũng như cách giải pháp trên hoạt động để giúp đảm bảo tính riêng tư và an toàn cho các giao dịch trên blockchain.

zk-STARK có thể được xem là một phiên bản thay thế của zk-SNARK
zk-STARK có thể được xem là một phiên bản thay thế của zk-SNARK

zk-STARK là gì?

Zk-STARK (Zero-Knowledge Scalable Transparent Arguments of Knowledge) là hệ thống zero-knowledge proof giúp người chứng minh (prover) xác thực thông tin cho một bên khác (người xác minh - verifier) mà không cần phải tiết lộ những dữ liệu không cần thiết. 

 

Công nghệ trên được xem như là phương án thay thế cho zk-SNARK và đã được bộ tứ Eli Ben-Sasson, Iddo Bentov, Yinon Horesh, và Michael Riabzev giới thiệu vào năm 2018.

 

Về mặt kỹ thuật, với zk-STARK, prover và verifier không cần thiết phải thiết lập một mối quan hệ đáng tin cậy như zk-SNARK vì giải pháp trên được xây dựng dựa trên các hàm băm chống xung đột. Không chỉ vậy, hướng phát triển này còn giúp loại bỏ yếu tố tốn kém chi phí về mặt phần cứng và dễ bị tấn công bởi những thiết bị lượng tử.

 

Nói một cách đơn giản, các bằng chứng zk-STARK có cấu trúc đơn giản hơn về các giả thiết mật mã. Tuy nhiên, điều này đi kèm với một điều bất lợi lớn: kích thước bằng chứng hay proof của chúng lớn hơn từ 10 đến 100 lần so với zk-SNARK. 

So sánh kích thước bằng chứng, thời gian xác thực, thời gian chứng minh giữa SNARK và STARK
So sánh kích thước bằng chứng, thời gian xác thực, thời gian chứng minh giữa SNARK và STARK

Sự khác biệt về kích thước dữ liệu này khiến cho chúng đắt đỏ hơn và người dùng cũng như những dự án có thể gặp khó khăn khi sử dụng công nghệ này nếu muốn giao dịch crypto và tương tác các ứng dụng khác.

 

Một trong những lý do lớn nhất giúp zk-STARK cho triển khai nhanh hơn và rẻ hơn là vì số lượng vòng giao tiếp giữa bên prover và verifier là không đổi bất chấp việc kích thước proof tăng lên. Ngược lại, trong zk-SNARK, sức mạnh tính toán càng nhiều thì số lượng giao tiếp giữa các bên càng tăng. Do đó, kích thước dữ liệu tổng thể của zk-SNARK lớn hơn nhiều so với zk-STARK.

Phân tích bản chất zk-STARK

zk (zero-knowledge) hay ZKP

zk hay "zero-knowledge” một công nghệ mật mã giúp user có thể xác thực dữ liệu về một câu lệnh, tuyên bố nào đó mà không cần phải tiết lộ bất kỳ thông tin không cần thiết khác.

 

Trong Zero knowledge có 2 thực thể:

 

  • Prover là người tạo ra bằng chứng của tuyên bố (mà không cần tiết lộ bất kỳ thông tin nào).
  • Verifier là người xác minh rằng bằng chứng trên là hợp lệ (mà không kiểm tra xem tuyên bố có hợp lệ không) và theo tính chất bắt cầu thì tuyên bố cũng hợp lệ.

 

Tuyên bố có thể là bất cứ điều gì như: “Tôi biết rằng kết quả của phép tính phức tạp này là X" (Verifier không cần phải tính lại phép tính phức tạp mà chỉ cần kiểm tra bằng chứng). "Tôi trên 18 tuổi" (Prover có thể chứng minh tuyên bố này mà không tiết lộ tuổi của mình)…

ZKP là gì
ZKP là gì

S: Scalable (Khả năng mở rộng)

Trong zk-STARK, chữ "S" đại diện cho "Scalable" (khả năng mở rộng), đồng nghĩa với việc, giải pháp trên có khả năng xử lý hiệu quả các tính toán quy mô lớn.

 

Ví dụ: Để chứng minh phép toán x=y là đúng, user cần phải chạy hàng triệu dòng dữ liệu, tham số để xác thực thông tin. Nhưng với zk-STARK, người dùng có thể thực hiện điều này mà không cần phải tăng độ phức tạp tính toán hay kích thước bằng chứng.

 

Như vậy, zk-STARK giúp đảm bảo rằng quy trình xác minh thông tin không trở nên quá tải và cho phép mở rộng ứng dụng lên quy mô lớn mà không gặp vấn đề về hiệu suất.

Chữ "S" đại diện cho "Scalable" (khả năng mở rộng)
Chữ "S" đại diện cho "Scalable" (khả năng mở rộng)

T: Transparent (Tính minh bạch)

Trong zk-STARK, chữ "T" trong từ STARK đại diện cho "Transparent" (minh bạch). Đây là một yếu tố quan trọng trong zk-STARK, theo đó, hệ thống hoạt động mà không cần thiết lập đáng tin cậy (tức là nó loại bỏ “toxic waste” được cho phép bởi zk-SNARKs).

 

Thông qua zk-STARK, các bằng chứng được tạo ra nhằm chứng minh tính chính xác của tính toán được biểu diễn một cách rõ ràng và dễ hiểu. Người xác minh có thể kiểm tra bằng chứng một cách độc lập và đảm bảo rằng tính toán được thực hiện một cách chính xác và không có sự gian lận.

 

Tính minh bạch trong zk-STARK giúp cho quá trình xác thực trở nên công khai và không thể chối cãi, nhờ đó đảm bảo tính toàn vẹn của dữ liệu và tính chính xác của tính toán.

Chữ "T" trong từ STARK đại diện cho "Transparent" (minh bạch)
Chữ "T" trong từ STARK đại diện cho "Transparent" (minh bạch)

ARK: Argument of Knowledge (Lập luận về kiến thức)

  • Argument (Lập luận): Dữ liệu đầu vào (input) cần có tính đúng đắn để có thể tạo ra bằng chứng. Tính đúng đắn này phải được xác minh dựa trên sức mạnh tính toán của máy tính. Nếu không có đủ dữ liệu hoặc dữ liệu không chính xác, việc tạo ra bằng chứng sẽ gặp khó khăn và dễ bị chứng minh sai. Tuy nhiên, khả năng bên chứng minh đánh lừa hệ thống chứng minh (proving system) thành công là rất thấp, do tính chất bảo mật cao của hệ thống này.
  • Of Knowledge (Kiến thức): Bên chứng minh không thể xây dựng một bằng chứng mà không có nhân chứng (witness) để chứng thực. Do đó, quá trình xây dựng bằng chứng thường đòi hỏi sự tham gia của nhiều đối tượng khác nhau, đảm bảo tính xác thực và độ tin cậy của bằng chứng. Bên cạnh đó, việc xác định nhân chứng thích hợp cũng là một yếu tố quan trọng trong quá trình chứng thực và xây dựng bằng chứng.
Chữ “ARK” ám chỉ cụm Argument of Knowledge (lập luận về kiến thức)
Chữ “ARK” ám chỉ cụm Argument of Knowledge (lập luận về kiến thức)

Hệ thống hoạt động của zk-STARK

Hệ thống zk-STARK được xây dựng với các thành phần cơ bản sau:

 

  • Circuit: Đây là một mạch điện ảo hoặc chương trình tính toán được biểu diễn dưới dạng một mạch R1CS (Rank-1 Constraint System). Mạch này giúp đưa ra một bài toán cần được chứng thực. Tuy nhiên, để tạo ra một mạch phức tạp, đòi hỏi rất nhiều công sức và thời gian của các nhà phát triển.
  • Prover: Đây là thành phần chính có nhiệm vụ tạo ra một chứng thực cho bài toán đã cho. Trong đó, Prover tạo ra các chứng thực dựa trên zk-STARK, đồng thời giữ cho các thông tin riêng tư về đầu vào và phép tính không bị tiết lộ. Tuy nhiên, để tạo ra một chứng thực đáng tin cậy, Prover cần phải dùng tới các kỹ thuật phức tạp và khoa học.
  • Verifier: Là thành phần có nhiệm vụ xác thực chứng thực đã được tạo ra bởi Prover. Nó cũng sử dụng zk-STARK để xác định tính chính xác của chứng thực và đảm bảo tính độc lập của chứng thực với bất kỳ thông tin nào khác. Tuy nhiên, để đảm bảo sự chính xác và độc lập của chứng thực, Verifier phải sử dụng các kỹ thuật phức tạp và đòi hỏi nhiều thời gian để thực hiện.
  • Trusted Setup: Là quá trình khởi tạo và cung cấp các thông tin ban đầu cho zk-STARK. Các thông tin này được sử dụng để tạo ra các tham số chính của zk-STARK và được sử dụng bởi Prover và Verifier để tạo ra và xác thực các chứng thực. Tuy nhiên, quá trình này cũng đòi hỏi một số điều kiện tiên quyết để đảm bảo sự an toàn và đáng tin cậy của hệ thống.

 

Hệ thống zk-STARK được xây dựng với các thành phần cơ bản gồm Circuit, Prover, Verifier và Trusted Setup. Tuy nhiên, để tạo ra các chứng thực chính xác và đáng tin cậy, các thành phần này đòi hỏi rất nhiều công sức và thời gian của các nhà phát triển.

Sự khác biệt về mật mã giữa zk-SNARK (ghép cặp đường cong elip) và zk-STARK (hàm băm)
Sự khác biệt về mật mã giữa zk-SNARK (ghép cặp đường cong elip) và zk-STARK (hàm băm)

So sánh zk-SNARK và zk-STARK

zk-STARK và zk-SNARK là hai giao thức xác minh không tiết lộ (Zero-Knowledge) được sử dụng để xác minh bằng chứng mà không tiết lộ thông tin không liên quan. Dưới đây là một bảng so sánh ngắn gọn giữa zk-STARK và zk-SNARK:

 

zk-STARK

zk-SNARK

Độ phức tạp tính toán

Cao

Thấp

Kích thước bằng chứng

Lớn

Nhỏ

Khả năng mở rộng

Có thể xử lý tính toán lớn

Giới hạn bởi kích thước bằng chứng

Tính minh bạch

Minh bạch, dễ hiểu

Không hoàn toàn minh bạch

Chứng minh

Tốn nhiều thời gian

Nhanh chóng

Cần thông tin phụ trợ

Cần dấu vết (trace) tính toán

Không cần dấu vết (trace) tính toán

zk-STARK và zk-SNARK đều là các giao thức ZKP mạnh mẽ, nhưng có sự khác biệt quan trọng trong độ phức tạp tính toán, kích thước bằng chứng, khả năng mở rộng và tính minh bạch. zk-STARK phù hợp cho việc xử lý tính toán lớn và có tính minh bạch cao, trong khi zk-SNARK thích hợp cho các ứng dụng cần xác minh nhanh chóng và có kích thước bằng chứng nhỏ hơn.

Ưu điểm và khuyết điểm của zk-STARK

Ưu điểm của zk-STARK

zk-STARK là công nghệ chứng thực rất tiên tiến và có nhiều ưu điểm so với các phương pháp chứng thực khác. Sau đây là một số ưu điểm của zk-STARK:

 

  • Chứng thực không tiết lộ: zk-STARK cho phép chứng thực tính đúng đắn của dữ liệu mà không cần tiết lộ bất kỳ thông tin nào về dữ liệu gốc, bảo vệ quyền riêng tư của người dùng. Tuy nhiên, ở mức độ cao hơn, zk-STARK cũng bảo vệ quyền riêng tư của người dùng bằng cách giải quyết các vấn đề liên quan đến tính riêng tư trong blockchain.
  • Tính độc lập: zk-STARK sử dụng lý thuyết độ phức tạp tính toán để tăng tính độc lập của hệ thống. Điều này giúp giảm rủi ro bị tấn công và đảm bảo tính bảo mật cho người dùng. Các tính năng này đặc biệt hữu ích trong các ứng dụng blockchain.
  • Hiệu suất cao: zk-STARK có thể chứng thực hàng trăm nghìn hoặc thậm chí hàng triệu giao dịch trong thời gian rất ngắn, đáp ứng nhu cầu xử lý lớn của các ứng dụng blockchain. Điều này giúp cải thiện tốc độ xử lý và giảm thời gian chờ đợi cho người dùng.
  • Mở rộng: zk-STARK là một công nghệ mở rộng, có thể được sử dụng trong nhiều lĩnh vực khác nhau ngoài blockchain, bao gồm cả trong lĩnh vực tài chính và y tế. Điều này tạo ra rất nhiều tiềm năng cho ứng dụng của zk-STARK trong tương lai.
  • Khả năng xử lý dữ liệu không cần tin cậy: zk-STARK có thể chứng thực tính đúng đắn của dữ liệu mà không cần tin tưởng vào bất kỳ bên nào khác. Điều này làm cho zk-STARK trở thành một công nghệ đáng tin cậy cho các ứng dụng mà yêu cầu tính độc lập và độ tin cậy cao.
zk-STARK sở hữu nhiều ưu điểm nổi bật
zk-STARK sở hữu nhiều ưu điểm nổi bật

Tóm lại, zk-STARK là một công nghệ có tính bảo mật cao, khả năng chứng thực tính đúng đắn của dữ liệu mà không cần tiết lộ thông tin, và có tính mở rộng và hiệu suất cao, làm cho nó trở thành một công nghệ hữu ích trong nhiều lĩnh vực.

 

Tuy nhiên, để tận dụng hết tiềm năng của zk-STARK, cần phải giải quyết các vấn đề liên quan đến độ phức tạp tính toán cao, kích thước chứng thực lớn và số lượng các thủ tục tạo chứng thực tương đối lớn.

Khuyết điểm của zk-STARK

Mặc dù zk-STARK có nhiều ưu điểm, nhưng nó cũng có một số nhược điểm như sau:

 

  • Độ phức tạp tính toán cao: zk-STARK sử dụng lý thuyết độ phức tạp tính toán để đạt được tính độc lập và tính riêng tư cao. Tuy nhiên, điều này cũng đồng nghĩa với việc zk-STARK yêu cầu độ phức tạp tính toán cao hơn so với các phương pháp chứng thực khác. Điều này có thể ảnh hưởng đến hiệu suất và tốc độ xử lý của hệ thống.
  • Kích thước chứng thực lớn: zk-STARK tạo ra các chứng thực có kích thước lớn, làm cho việc lưu trữ và truyền tải chúng trở nên khó khăn hơn. Điều này có thể gây khó khăn trong việc triển khai zk-STARK trên các nền tảng có tài nguyên hạn chế.
  • Số lượng các thủ tục tạo chứng thực tương đối lớn: zk-STARK yêu cầu thực hiện nhiều bước để tạo ra các chứng thực. Điều này có thể làm tăng độ trễ và tốn thời gian trong quá trình chứng thực. Điều này có thể ảnh hưởng đến trải nghiệm của người dùng.

 

Tóm lại, zk-STARK là một công nghệ chứng thực rất tiên tiến, nhưng để tận dụng hết tiềm năng của nó, cần phải giải quyết các vấn đề liên quan đến độ phức tạp tính toán cao, kích thước chứng thực lớn và số lượng các thủ tục tạo chứng thực tương đối lớn.

Những dự án hàng đầu ứng dụng zk-STARK

Immutable X (IMX)

Immutable X là một nền tảng NFT trên Layer-2 giúp user mint và giao dịch các NFT và pass-through. Nền tảng sử dụng công nghệ của StarkEx để xây dựng zk-rollup độc quyền. Số lượng NFT mint và giao dịch trên Immutable X đã đạt đến hàng triệu và điểm nổi bật của nền tảng là có chi phí thấp ngay cả Ethereum tắc nghẽn nghiêm trọng.

 

Immutable X cũng sẽ được phát hành trên StarkNet. Bằng chứng về tính hợp lệ sẽ không được phát hành trực tiếp tại Ethereum mà trước tiên sẽ được trình làng trên StarkNet và sau đó mới đưa vào mạng lưới Ethereum thông qua rollup của StarkNet. Immutable X có thể sử dụng StarkEx để xây dựng vô số ứng dụng trên StarkNet, cung cấp các giải pháp tổng thể Layer-3 cho các dự án.

 

Đọc thêm: Tổng quan ZK-Rollups - Công nghệ nổi bật và đáng chú ý trên Layer 2

Immutable X là một nền tảng NFT trên Layer-2
Immutable X là một nền tảng NFT trên Layer-2

StarkNet (STRK)

StarkNet là một nền tảng phổ quát của Starkware mà các nhà phát triển có thể sử dụng để triển khai các hợp đồng thông minh trên zk-rollup của Ethereum. Theo đó, điểm đáng chú ý của dự án là zk-rollup của StarkEx cũng có thể được phát hành trên StarkNet để cải thiện tính khả dụng của các ứng dụng.

 

Để tận dụng tối đa các lợi ích về tính toán và khả năng mở rộng của STARK, StarkWare đã phát triển ngôn ngữ Cairo, một ngôn ngữ lập trình hiệu quả và đầy đủ chức năng Turing được thiết kế đặc biệt để tạo ra các bằng chứng STARK.

Hệ sinh thái trên StarkNet
Hệ sinh thái trên StarkNet

StarkEx

StarkEx là một giải pháp scaling Layer-2 trên Ethereum sử dụng các bằng chứng STARK để xác minh các giao dịch tự quản lý và phát triển các ứng dụng giao dịch và thanh toán trên đó. 

 

Các dự án dựa trên StarkEx bao gồm DeversiFi, Sorare và dYdX, đã hoàn thành hàng trăm triệu giao dịch và có khối lượng giao dịch đạt hàng trăm tỷ USD. Tuy nhiên, StarkEx không thể hỗ trợ chức năng hợp đồng thông minh và do đó không thể triển khai một ứng dụng toàn diện.

StarkEx là một giải pháp scaling Layer-2 trên Ethereum
StarkEx là một giải pháp scaling Layer-2 trên Ethereum

Tổng kết

zk-STARK là một công nghệ chứng thực tiên tiến mang lại nhiều ưu điểm so với các phương pháp chứng thực khác. Cùng với đó là số lượng ứng dụng của zk-STARK đang ngày càng mở rộng với nhiều dự án triển khai như Immutable X, StarkNet hay StarkEx. 

 

Mặc dù zk-STARK còn đối mặt với một số thách thức như độ phức tạp tính toán cao, kích thước chứng thực lớn hay số lượng các thủ tục tạo chứng thực tương đối lớn, nhưng nó đang trở thành một công nghệ tiềm năng trong tương lai, đem lại sự riêng tư, bảo mật và hiệu suất cho các ứng dụng blockchain.