ZK-Rollups: giải pháp mở rộng lớp 2 dựa trên bằng chứng không có kiến ​​thức

Khác với bằng chứng gian lận [1], Zk-Rollup sử dụng bằng chứng xác thực. Nó sử dụng bằng chứng không có kiến ​​thức để đảm bảo tính hợp lệ của giao dịch. Nó xác minh dữ liệu thông qua bằng chứng không có kiến ​​thức trước khi dữ liệu được tải lên chuỗi và trước tiên phải chứng minh. rằng không có vấn đề gì với giao dịch, sau đó truyền trạng thái cập nhật, bằng chứng giao dịch và dữ liệu giao dịch được nén đến chuỗi chính để đảm bảo tính hợp lệ của dữ liệu tương ứng trên chuỗi và tính bảo mật của tiền.

Tính bảo mật của Zk-Rollup dựa trên các nguyên tắc mật mã và một trong những ưu điểm chính của nó là không yêu cầu thời gian thử thách [2].

Hiện tại, Zk-Rollup có khả năng tính toán chung kém. Hầu hết các phiên bản trực tuyến chỉ có thể thực hiện chuyển giao và các kịch bản ứng dụng cụ thể, điều này không thân thiện với các nhà phát triển. Hiện một số giải pháp Zk-Rollup mới nhất đang nghiên cứu các giải pháp mở rộng L2 tương thích với EVM chung. Nếu thành công, nó sẽ có ý nghĩa rất lớn.

Zk-Rollup phù hợp hơn với phong cách của thế giới mã hóa, sử dụng các nguyên tắc mật mã để chứng minh tính đúng đắn của các giao dịch thay vì chờ người khác báo cáo các giao dịch không chính xác.

Không có bằng chứng kiến ​​thức

Bằng chứng không có kiến ​​thức là một khái niệm mật mã, còn được gọi là bằng chứng không rò rỉ và bao gồm người chứng minh và người xác minh.

Trình chứng minh cần chạy trên phần cứng chuyên dụng và không cần tin cậy, điều đó có nghĩa là tính bảo mật của hệ thống không cần phải giả định rằng trình chứng minh là đáng tin cậy hoặc phần cứng họ chạy trên đó đáng tin cậy, vì về mặt toán học không có Cách giả mạo giả mạo. bằng chứng không có kiến ​​thức.

Trình xác minh không yêu cầu phần cứng chuyên dụng và có thể chạy trên bất kỳ nút nào, theo thuật ngữ thông thường, trình xác minh tạo bằng chứng từ đầu vào của hệ thống và trình xác minh sẽ kiểm tra để xác nhận rằng trình xác minh đã tải lên kết quả tính toán thực mà không cần tính toán lại. nó một lần nữa.

Nói một cách triết lý, nếu tôi muốn chứng minh rằng một tài khoản Bitcoin nào đó là của tôi, tôi muốn chứng minh rằng tôi biết khóa riêng của tài khoản này, nhưng tôi không thể nói cho người khác biết khóa riêng. (Chữ ký khóa riêng, xác minh khóa chung)

zk-SNARK

Thứ được sử dụng phổ biến hơn trong blockchain là zk-SNARK, đây là một bằng chứng không có kiến ​​thức đặc biệt yêu cầu không tương tác (ví dụ trước đây về bằng chứng không có kiến ​​thức xác minh Bitcoin không phải là không tương tác và phải được đổi thành không tương tác Nói cách khác, tôi chỉ thực hiện một giao dịch chuyển khoản và chuyển số xu trên tài khoản sang tài khoản khác để tất cả các nút có thể xác minh rằng tài khoản Bitcoin này là của tôi. Đối với kịch bản blockchain, người chứng minh chỉ cần gửi tin nhắn Đã xuất bản tới tài khoản. blockchain, tất cả các nút đều có thể xác minh, không cần tương tác với người chứng minh, loại người xác minh này được gọi là Người xác minh công khai) ​​và tính đơn giản (chỉ cần vài trăm byte, ngay cả khi đầu vào ban đầu lớn, việc tạo ra bằng chứng là rất dễ dàng nhỏ).​

Điểm bất lợi là khối lượng công việc của người chứng minh để tạo ra bằng chứng là rất lớn. Phải mất vài giây để bắt đầu giao dịch chuyển tiền ẩn danh và chỉ mất vài mili giây để xác minh tính hợp pháp của giao dịch.

zk-SNARK yêu cầu cài đặt tin cậy, yêu cầu một bộ tham số công khai được chia sẻ bởi tất cả các thành viên được tạo ngẫu nhiên trong quá trình khởi tạo. Nếu bị rò rỉ, hệ thống bảo mật sẽ sụp đổ và những kẻ tấn công độc hại có thể tạo ra. để tránh rủi ro này, quá trình khởi tạo zk-SNARK có sự tham gia của nhiều bên. Miễn là bất kỳ bên nào trong số họ phá hủy nguồn ngẫu nhiên được sử dụng trong quá trình khởi tạo thì hệ thống sẽ an toàn.

Ứng dụng zk-SNARK trong blockchain

    

Một trong những ứng dụng tiêu biểu là Zcash và ứng dụng còn lại là Filecoin. Hai dự án này không phải là L2. Chúng chỉ được sử dụng ở đây để minh họa các kịch bản ứng dụng của zk-SNARK.

Zcash sử dụng zk-SNARK để ẩn thông tin giao dịch, danh tính của cả hai bên và số tiền giao dịch. Zcash có thể xác minh tính hợp pháp của giao dịch mà không cần biết địa chỉ người gửi, địa chỉ nhận, iuput.value, out.value. Điều này rất khác với Bitcoin. Mọi giao dịch bằng Bitcoin đều phải giải thích nguồn gốc của loại tiền đó và giao dịch trước đó mà loại tiền đó xuất phát. Chỉ bằng cách này, chúng tôi mới có thể chứng minh rằng loại tiền mà chúng tôi chi tiêu là hợp pháp, không phải tự nhiên mà có. . Đối với Zcash, chỉ cần chứng minh về mặt toán học rằng loại tiền bạn chi tiêu là loại tiền hợp pháp tồn tại trong hệ thống hiện tại. Không cần chỉ định đó là loại tiền nào nên không có cách nào để truy tìm nguồn gốc của loại tiền đó.

Filecoin là mạng zk-SNARK được triển khai lớn nhất cho đến nay, tạo ra hàng triệu bằng chứng không có kiến ​​thức mỗi ngày. Những người khai thác Filecoin nhận được phần thưởng khối bằng cách lưu trữ dữ liệu và cần thường xuyên chứng minh rằng họ đang lưu trữ dữ liệu đã hứa. Những người khai thác này là những người chứng minh trong giao thức zk-SNARK và cần cung cấp hai loại bằng chứng, bằng chứng sao chép[3] và không gian-thời gian. bằng chứng [4 ].

Bằng chứng sao chép chỉ xảy ra một lần khi người dùng và nhà cung cấp dịch vụ lưu trữ lần đầu thực hiện một giao dịch lưu trữ, nhà cung cấp dịch vụ lưu trữ cần chứng minh rằng họ thực sự lưu trữ dữ liệu của người dùng. Bằng chứng về không gian-thời gian cần được cung cấp định kỳ để chứng minh rằng nhà cung cấp dịch vụ lưu trữ. tiếp tục lưu trữ theo thời gian Đối với dữ liệu gốc, nhà cung cấp dịch vụ lưu trữ cần phải cam kết Tệp mã thông báo tương ứng khi đồng ý lưu trữ dữ liệu cho khách hàng lần đầu tiên. Nếu nhà cung cấp không cung cấp bằng chứng về không gian và thời gian trong thời gian thỏa thuận, thì điều đó sẽ xảy ra. sẽ bị phạt và có thể mất File token đã cam kết.

Ưu điểm của công nghệ zk-SNARK là bằng chứng được tạo ra rất ngắn, tiết kiệm băng thông mạng và có tốc độ xác minh nhanh. Filecoin không thực hiện tính toán riêng tư theo đúng nghĩa. zk-SNARK chỉ được sử dụng cho cơ chế đồng thuận của Filecoin và. Cho đến nay, hầu hết tất cả các mạch zk-SNARK đều là các mạch tích hợp dành riêng cho ứng dụng, là các công nghệ chứng minh không có kiến ​​thức được tùy chỉnh đặc biệt theo các ứng dụng khác nhau của Ethereum và công nghệ zk-SNARK là hoàn chỉnh. hợp đồng thông minh chưa phổ biến.

Dự án đại diện ZK-Rollup

ZK Rollup có hai dự án tiêu biểu là zkSync và STARKWARE.

zkSync

zkSync sử dụng thuật toán không có kiến ​​thức của zk-SNARK và bảo mật dựa trên cài đặt tin cậy ban đầu (một số ngẫu nhiên được tạo bởi một số người tham gia, bao gồm cả người sáng lập Ethereum V God, yêu cầu ít nhất một người tham gia phải trung thực, sau đó hệ thống này có thể được chứng minh là an toàn ).

Về khả năng tương thích EVM, zkSync có một trình biên dịch có thể chuyển đổi hợp đồng thông minh thành các opcode được zkEVM hỗ trợ để đạt được khả năng tương thích Solidity.​

Về tính khả dụng của dữ liệu, zkSync cung cấp hai giải pháp sẵn có cho dữ liệu. Người dùng có thể chọn tải dữ liệu lên chuỗi (nghĩa là lưu trữ trên chuỗi L1 hoặc lưu trữ trên Ethereum để có được mức độ bảo mật cao hơn. Đồng thời, họ cần phải thực hiện điều đó. trả nhiều hơn chuỗi). (phí gas thấp hơn), người dùng cũng có thể chọn lưu trữ dữ liệu ngoài chuỗi (có thể mở rộng công suất ở mức độ lớn hơn và tiết kiệm hơn nữa phí gas, nhưng sẽ hy sinh một số tính phân cấp và bảo mật). Nói cách khác, zkSync hỗ trợ cả chế độ lưu trữ dữ liệu trên chuỗi và ngoài chuỗi. Một số người cho rằng dữ liệu ngoài chuỗi không phải là L2 theo đúng nghĩa, vì L2 phải đảm bảo tính bảo mật tương tự như L1 nếu dữ liệu được lưu trữ ngoài. -chain, tính khả dụng giống như L1. Có một sự khác biệt. Nếu nó được lưu trữ tại một nhà cung cấp dịch vụ đám mây ngoài chuỗi, nó sẽ đi ngược lại khái niệm phân cấp. Nếu có một bộ lưu trữ phi tập trung như IPFS thì vẫn có. không có cách nào để đảm bảo tính sẵn có của dữ liệu (nó tồn tại trong IPFS và sẽ khác nếu nó tồn tại trên Ethereum). Trong các chuỗi khối như Ethereum và Bitcoin, dữ liệu được lưu trữ trên đó sẽ không bị mất, nhưng IPFS không đảm bảo không bị giả mạo. .

StarkWare

Hiện tại, hai hệ thống phổ biến nhất để tạo ra bằng chứng không có kiến ​​thức trên thị trường là zk-SNARK và zk-STARK.

zk-Sync sử dụng zk-SNARK và StarkWare là công nghệ mã hóa dựa trên bằng chứng zk-STARK. zk-STARK Công nghệ này được phát minh bởi nhóm StarkWare. Nó có thể được coi là phiên bản nâng cấp của công nghệ zk-SNARK, có thể làm cho blockchain có khả năng mở rộng cao hơn bằng cách sử dụng thuật toán này cho phép các nhà phát triển thêm dữ liệu vào. Chuỗi Dữ liệu giao dịch và lưu trữ một số dữ liệu được chuyển sang chuỗi ngoài để giải quyết. Dữ liệu ngoài chuỗi được xử lý hàng loạt có thể được đóng gói để tạo chứng chỉ STARK, chứng chỉ này có thể được gửi đến chuỗi cho bất kỳ bên quan tâm nào. xác minh tính xác thực của nó. STARK có ba ưu điểm chính so với SNARK được zk-Sync sử dụng Ưu điểm đầu tiên là tính minh bạch, có nghĩa là hệ thống này không yêu cầu cài đặt tin cậy để hoạt động, trong khi bằng chứng SNARK yêu cầu cài đặt tin cậy ban đầu. Nếu những người tham gia trong cài đặt ban đầu không trung thực, các chứng chỉ giả và giao dịch giả mạo có thể được tạo ra, trong khi zk-STARK không yêu cầu cài đặt độ tin cậy bên ngoài. Nó có thể ngăn bất kỳ bên nào phá hủy hoặc sửa đổi các tham số thông qua xác minh công khai ngẫu nhiên. giá trị của lợi thế là không rõ ràng. (Thầy Tiêu cho rằng ưu điểm này không có ý nghĩa gì nhiều)

Ưu điểm thứ hai là khả năng mở rộng. StarkWare tuyên bố rằng zk-STARK làm giảm độ phức tạp tính toán và tạo ra bằng chứng STARK nhanh hơn SNARK, nhưng tuyên bố này có phần gây tranh cãi.

Ưu điểm thứ ba là khả năng chống lại các cuộc tấn công lượng tử. Về mặt lý thuyết, zk-STARK sử dụng hàm băm chống va chạm để cải thiện khả năng chống lại các cuộc tấn công lượng tử.

Nhược điểm của STARK là công nghệ của nó kém trưởng thành hơn SNARK rất nhiều và tỷ lệ thâm nhập không tốt. Ưu điểm của StarkWare là đội ngũ kỹ thuật của nó cực kỳ nhỏ, bao gồm cả những người phát minh ra hai công nghệ STARK và SNARK. rằng hệ sinh thái cộng đồng vẫn còn kém xa. Điều này cũng liên quan đến tỷ lệ thâm nhập không đủ của STARK.

Một vấn đề khác là khả năng tương thích của EVM. EVM của Ethereum đã hoàn thiện Turing và nếu STARK muốn đạt được sự hoàn thiện của Turing, sẽ khó có thể tương thích với ngôn ngữ hợp đồng thông minh của Ethereum. Solidity cần phải được chuyển đổi sang định dạng tương thích với STARK. rất phức tạp nên nhóm StarkWare đã tạo ra một ngôn ngữ lập trình cụ thể Cario để chạy các chương trình được STARK hỗ trợ. Chi phí học tập của Cario tương đối cao và không tương thích với EVM, khiến các Dapp hiện có trên Ethereum trở nên rất phức tạp. khó di chuyển, đó là một trong những lý do khiến hệ sinh thái StarkWare không dễ xây dựng. Từ góc độ khác, cũng có những lợi ích khi sử dụng một ngôn ngữ hoàn toàn mới, không có lịch sử và có thể đạt được một số chức năng mà Ethereum không thể.

Về tính khả dụng của dữ liệu, StarkWare cung cấp hai giải pháp sẵn có về dữ liệu, StarkWare có hệ thống Voluation cho phép người dùng lựa chọn cho mỗi giao dịch xem nên sử dụng giải pháp Rollup khi có sẵn dữ liệu trên chuỗi hay giải pháp Validium khi có sẵn dữ liệu ngoài chuỗi. .

Ủy ban sẵn có dữ liệu của chương trình validium bao gồm một số thực thể mã hóa có uy tín Từ góc độ bảo mật dữ liệu, dữ liệu được lưu trữ trên chuỗi là an toàn nhất. Nhược điểm là chi phí tương đối cao, phù hợp với số tiền lớn. và yêu cầu thời gian thực thấp; lưu trữ dữ liệu ngoài chuỗi sẽ hy sinh một mức độ bảo mật nhất định. Ưu điểm là chi phí thấp và phù hợp với các tình huống ứng dụng với số tiền tương đối nhỏ và yêu cầu thời gian thực cao. , chẳng hạn như GameFi.​

Giải nghĩa danh từ

Bằng chứng gian lận: Trong các hệ thống phân tán, bằng chứng gian lận được sử dụng để phát hiện và sửa các bản cập nhật trạng thái không chính xác, thường được sử dụng trong Bản tổng hợp lạc quan, giả định rằng hầu hết các hoạt động đều đúng nhưng cung cấp cơ chế để kiểm tra và sửa các hoạt động sai.

Giai đoạn thử thách: Giai đoạn thử thách là khoảng thời gian được chỉ định cho phép người xác thực kiểm tra và xác nhận tính chính xác của các bản cập nhật trạng thái, điều này rất quan trọng trong việc đảm bảo tính bảo mật và công bằng của hệ thống.

Bằng chứng sao chép: Bằng chứng sao chép chứng minh rằng một dữ liệu nhất định thực sự đã được lưu trữ ở vị trí được chỉ định tại một thời điểm nhất định và nhiều bản sao đã được tạo.

Bằng chứng không gian-thời gian: Bằng chứng không gian-thời gian là cơ chế chứng minh kết hợp không gian (lưu trữ) và thời gian (lưu trữ liên tục), cho biết rằng một dữ liệu nhất định tiếp tục được lưu trữ trong một khoảng thời gian.

Phần kết luận

Vào tháng 1 năm 2021, người sáng lập Ethereum Buterin cho biết: “Trong ngắn hạn, Optimistic-Rollups sẽ giành chiến thắng nhờ khả năng tương thích EVM và ZK-Rollups sẽ có nhiều khả năng giành chiến thắng hơn trong các trường hợp sử dụng như giao dịch đơn giản. Trong trung và dài hạn, Khi công nghệ zk-SNARK được cải thiện, ZK-Rollups cuối cùng sẽ chiến thắng trong mọi trường hợp sử dụng."

Chainyuan Technology là một công ty tập trung vào bảo mật blockchain. Công việc cốt lõi của chúng tôi bao gồm nghiên cứu bảo mật blockchain, phân tích dữ liệu trên chuỗi cũng như giải cứu lỗ hổng tài sản và hợp đồng, đồng thời chúng tôi đã khôi phục thành công nhiều tài sản kỹ thuật số bị đánh cắp cho các cá nhân và tổ chức. Đồng thời, chúng tôi cam kết cung cấp các báo cáo phân tích an toàn dự án, truy xuất nguồn gốc trên chuỗi và các dịch vụ tư vấn/hỗ trợ kỹ thuật cho các tổ chức trong ngành.

Cảm ơn bạn đã đọc, chúng tôi sẽ tiếp tục tập trung và chia sẻ nội dung bảo mật blockchain.