Các công nghệ bằng chứng không có kiến thức (zero-knowledge proof) mang lại sự riêng tư cho Ethereum. Hai trong số các công nghệ không kiến thức hấp dẫn nhất trên thị trường hiện nay là zk-STARK và zk-SNARK.
Xung đột giữa các công nghệ mới
Trong suốt lịch sử, luôn có những công nghệ tương tự được tung ra thị trường vào cùng thời điểm nhằm tìm kiếm kết quả tương tự nhưng tiếp cận vấn đề theo những cách khác nhau. Khi hiện tượng thị trường này xảy ra, những người chấp nhận nên cố gắng đánh giá từng công nghệ một cách khách quan.
Vì cả trại STARK và trại SNARK đều cực kỳ đam mê các công nghệ tương ứng của họ, nên chúng tôi nghĩ sẽ rất thú vị khi thực hiện một so sánh khách quan về hai công nghệ này.
STARK so với SNARK
Chỉ cần nhắc lại nhanh, các công nghệ bằng chứng không có kiến thức (zero-knowledge proof) cho phép một bên chứng minh với bên kia rằng họ biết điều gì đó mà không cần người chứng minh phải truyền đạt thông tin để chứng minh kiến thức của họ. Chúng vừa là công nghệ nâng cao quyền riêng tư, vì chúng giảm lượng thông tin cần cung cấp giữa những người dùng và là công nghệ mở rộng quy mô, vì chúng có thể cho phép xác minh bằng chứng với tốc độ nhanh hơn vì chúng không chứa toàn bộ lượng thông tin. thông tin cho các hệ thống không riêng tư.
Hai trong số các công nghệ zero-knowledge hấp dẫn nhất trên thị trường hiện nay là zk-STARK và zk-SNARK. Cả hai đều là từ viết tắt của phương pháp mà hai bên chứng minh kiến thức của họ: zk-STARK là viết tắt của zero-knowledge scalable transparent argument of knowledge và zk-SNARK là viết tắt của zero-knowledge succinct non-interactive argument of knowledge. Bài đăng này sẽ đi sâu vào sự khác biệt cốt lõi giữa hai công nghệ zero-knowledge khác nhau này, cả từ góc độ văn hóa và kỹ thuật. Hơn nữa, cả hai công nghệ zero-knowledge này đều không tương tác về bản chất, nghĩa là mã có thể được triển khai và hoạt động tự động.
Dưới đây, chúng tôi có một vài bảng mô tả một số khác biệt cấp cao giữa hai công nghệ. Chúng tôi cũng sẽ đi sâu vào sự khác biệt ở phía sau của bảng.
SNARK
Vào tháng 1 năm 2012, một giáo sư tại UC Berkeley tên là Alessandro Chiesa là đồng tác giả của một bài báo đặt ra thuật ngữ zk-SNARK cho zero-knowledge proofs mà họ xây dựng lần đầu tiên. Zk-SNARK tại cơ sở của chúng phụ thuộc vào các đường cong elip để bảo mật. Các đường cong Ellip trong mật mã hoạt động theo giả định cơ sở rằng việc tìm logarit rời rạc của một phần tử đường cong Ellip ngẫu nhiên đối với một điểm cơ sở đã biết công khai là không khả thi.
Mặc dù đã có cuộc tranh luận đáng kể về việc liệu có một cửa hậu vào các trình tạo số ngẫu nhiên đường cong Ellip hay không, thuật toán nói chung vẫn an toàn. Mặc dù có một số lỗ hổng phổ biến trong các cuộc tấn công kênh bên, nhưng chúng có thể dễ dàng giảm thiểu thông qua một số kỹ thuật. Các cuộc tấn công lượng tử xuất hiện lờ mờ trên mật mã dựa trên các đường cong Ellip, nhưng điện toán lượng tử cần thiết để phá vỡ mô hình bảo mật của chúng vẫn chưa được phổ biến rộng rãi.
Ngoài việc dựa trên các đường cong Ellip, zk-SNARK cũng yêu cầu thiết lập đáng tin cậy. Thiết lập đáng tin cậy đề cập đến sự kiện tạo ban đầu của các khóa được sử dụng để tạo bằng chứng cần thiết cho các giao dịch riêng tư và xác minh các bằng chứng đó. Ban đầu, khi các khóa đó được tạo, có một tham số ẩn được liên kết giữa khóa xác minh và các khóa gửi giao dịch riêng tư. Nếu các bí mật được sử dụng để tạo các khóa này trong sự kiện thiết lập đáng tin cậy không bị hủy, thì các bí mật đó có thể được sử dụng để giả mạo giao dịch bằng cách xác minh sai, mang lại cho chủ sở hữu khả năng thực hiện các hành động như tạo mã thông báo mới ngoài không khí và sử dụng chúng cho các giao dịch. Do các tính năng bảo mật của zk-SNARK, sẽ không có cách nào để xác minh các token được tạo từ không khí thực sự là được tạo ra từ không khí. Điều đó đang được nói, thiết lập đáng tin cậy chỉ cần lúc ban đầu.
Do đó, người dùng mạng dựa trên SNARK phải dựa vào thực tế là quá trình thiết lập đáng tin cậy đã được thực hiện chính xác, nghĩa là các bí mật liên quan đến khóa thiết lập đáng tin cậy đã bị hủy và không được nắm giữ bởi những cá nhân giám sát buổi lễ. Sự phụ thuộc vào một thiết lập đáng tin cậy là một trong những lĩnh vực quan tâm lớn nhất đối với những người chỉ trích SNARK. Điều đó đang được nói, các nhà phát triển chỉ cần sử dụng thiết lập đáng tin cậy ban đầu chứ không phải liên tục.
Một lĩnh vực đáng chỉ trích khác đối với SNARK là chúng không có khả năng kháng lượng tử. Một khi điện toán lượng tử phổ biến rộng rãi, công nghệ bảo mật đằng sau SNARK sẽ bị phá vỡ. Tất nhiên, những người ủng hộ SNARK đã chỉ ra chính xác thực tế rằng chúng ta sẽ gặp nhiều vấn đề hơn trong tay, chẳng hạn như việc phá vỡ RSA và hầu hết cơ sở hạ tầng ví, khi máy tính lượng tử được sử dụng.
Nói như vậy, có nhiều lý do khiến SNARK thực sự được sử dụng với tốc độ nhanh hơn nhiều so với STARK, mặc dù có các vấn đề liên quan đến thiết lập đáng tin cậy. SNARK đã được phát hiện trước STARK nhiều năm, điều này đã mang lại cho công nghệ một khởi đầu đáng kể về mặt áp dụng. Zcash, một trong những dự án tài sản kỹ thuật số lâu đời hơn, đã phổ biến việc sử dụng SNARK trong cộng đồng phát triển chuỗi khối. Do Zcash và những người sử dụng SNARK khác, SNARK có nhiều thư viện dành cho nhà phát triển, mã được xuất bản, dự án và các nhà phát triển đang tích cực làm việc trên công nghệ. Ngoài Zcash, DEX Loopring mới nổi cũng sử dụng SNARK. Nếu một nhà phát triển muốn bắt đầu sử dụng các công nghệ zero-knowledge, họ sẽ được hỗ trợ nhiều hơn trong việc sử dụng SNARK so với STARK.
Ngoài ra, SNARK được ước tính chỉ yêu cầu 24% lượng gas mà STARK sẽ yêu cầu, có nghĩa là giao dịch với SNARK sẽ rẻ hơn nhiều đối với người dùng cuối. Cuối cùng, kích thước bằng chứng cho SNARK nhỏ hơn nhiều so với STARK, nghĩa là nó sẽ chiếm ít dung lượng lưu trữ trên chuỗi hơn.
STARK
Mặc dù SNARK có một số lợi thế khác biệt so với STARK liên quan đến tài liệu và hỗ trợ nhà phát triển, nhưng STARK cung cấp một số lợi ích độc đáo. Nhưng trước tiên, chúng ta hãy tìm hiểu một chút về STARK là gì từ góc độ kỹ thuật.
Eli Ben-Sasson, Iddo Bentov, Yinon Horeshy và Michael Riabzev đã viết những bài báo đầu tiên mô tả STARK vào năm 2018. Không giống như SNARK, công nghệ cơ bản cho STARK dựa trên các hàm băm. Ngay lập tức, việc dựa vào các hàm băm mang lại một số lợi ích, chẳng hạn như khả năng kháng lượng tử. Hơn nữa, không cần thiết lập đáng tin cậy để bắt đầu sử dụng STARK trong mạng.
Nói như vậy, STARK có kích thước bằng chứng lớn hơn nhiều so với SNARK, điều đó có nghĩa là việc xác minh STARK mất nhiều thời gian hơn SNARK và cũng dẫn đến việc STARK cần nhiều khí hơn.
Ngoài ra, các nhà phát triển sẽ gặp khó khăn hơn nhiều khi sử dụng STARK do thiếu tài liệu và cộng đồng dành cho nhà phát triển. Mặc dù có một số dự án tạo ra các giải pháp mở rộng quy mô dựa trên STARK, chẳng hạn như STARKware, nhưng cộng đồng SNARK vẫn còn lớn hơn nhiều.
Mặc dù cả hai cộng đồng nhà phát triển đều hỗ trợ cả SNARK và STARK, nhưng Ethereum Foundation đặc biệt nói rằng ủng hộ cho STARKware, sử dụng Starks. Trên thực tế, Quỹ Ethereum Foundation đã trao cho STARKware khoản tài trợ trị giá 12 triệu đô la, thể hiện rõ ràng sự tận tâm của họ đối với công nghệ mới nổi.
Hơn nữa, trong khi tài liệu về STARK mờ nhạt so với SNARK, cộng đồng kỹ thuật gần đây đã phát triển một bộ tài nguyên lớn hơn cho những người muốn triển khai công nghệ tiên tiến.
Viết bởi: Mattison Asher, Coogan Brennan
Nguồn: Consensys
Xung đột giữa các công nghệ mới
Trong suốt lịch sử, luôn có những công nghệ tương tự được tung ra thị trường vào cùng thời điểm nhằm tìm kiếm kết quả tương tự nhưng tiếp cận vấn đề theo những cách khác nhau. Khi hiện tượng thị trường này xảy ra, những người chấp nhận nên cố gắng đánh giá từng công nghệ một cách khách quan.
Vì cả trại STARK và trại SNARK đều cực kỳ đam mê các công nghệ tương ứng của họ, nên chúng tôi nghĩ sẽ rất thú vị khi thực hiện một so sánh khách quan về hai công nghệ này.
STARK so với SNARK
Chỉ cần nhắc lại nhanh, các công nghệ bằng chứng không có kiến thức (zero-knowledge proof) cho phép một bên chứng minh với bên kia rằng họ biết điều gì đó mà không cần người chứng minh phải truyền đạt thông tin để chứng minh kiến thức của họ. Chúng vừa là công nghệ nâng cao quyền riêng tư, vì chúng giảm lượng thông tin cần cung cấp giữa những người dùng và là công nghệ mở rộng quy mô, vì chúng có thể cho phép xác minh bằng chứng với tốc độ nhanh hơn vì chúng không chứa toàn bộ lượng thông tin. thông tin cho các hệ thống không riêng tư.
Hai trong số các công nghệ zero-knowledge hấp dẫn nhất trên thị trường hiện nay là zk-STARK và zk-SNARK. Cả hai đều là từ viết tắt của phương pháp mà hai bên chứng minh kiến thức của họ: zk-STARK là viết tắt của zero-knowledge scalable transparent argument of knowledge và zk-SNARK là viết tắt của zero-knowledge succinct non-interactive argument of knowledge. Bài đăng này sẽ đi sâu vào sự khác biệt cốt lõi giữa hai công nghệ zero-knowledge khác nhau này, cả từ góc độ văn hóa và kỹ thuật. Hơn nữa, cả hai công nghệ zero-knowledge này đều không tương tác về bản chất, nghĩa là mã có thể được triển khai và hoạt động tự động.
Dưới đây, chúng tôi có một vài bảng mô tả một số khác biệt cấp cao giữa hai công nghệ. Chúng tôi cũng sẽ đi sâu vào sự khác biệt ở phía sau của bảng.
SNARK
Vào tháng 1 năm 2012, một giáo sư tại UC Berkeley tên là Alessandro Chiesa là đồng tác giả của một bài báo đặt ra thuật ngữ zk-SNARK cho zero-knowledge proofs mà họ xây dựng lần đầu tiên. Zk-SNARK tại cơ sở của chúng phụ thuộc vào các đường cong elip để bảo mật. Các đường cong Ellip trong mật mã hoạt động theo giả định cơ sở rằng việc tìm logarit rời rạc của một phần tử đường cong Ellip ngẫu nhiên đối với một điểm cơ sở đã biết công khai là không khả thi.
Mặc dù đã có cuộc tranh luận đáng kể về việc liệu có một cửa hậu vào các trình tạo số ngẫu nhiên đường cong Ellip hay không, thuật toán nói chung vẫn an toàn. Mặc dù có một số lỗ hổng phổ biến trong các cuộc tấn công kênh bên, nhưng chúng có thể dễ dàng giảm thiểu thông qua một số kỹ thuật. Các cuộc tấn công lượng tử xuất hiện lờ mờ trên mật mã dựa trên các đường cong Ellip, nhưng điện toán lượng tử cần thiết để phá vỡ mô hình bảo mật của chúng vẫn chưa được phổ biến rộng rãi.
Ngoài việc dựa trên các đường cong Ellip, zk-SNARK cũng yêu cầu thiết lập đáng tin cậy. Thiết lập đáng tin cậy đề cập đến sự kiện tạo ban đầu của các khóa được sử dụng để tạo bằng chứng cần thiết cho các giao dịch riêng tư và xác minh các bằng chứng đó. Ban đầu, khi các khóa đó được tạo, có một tham số ẩn được liên kết giữa khóa xác minh và các khóa gửi giao dịch riêng tư. Nếu các bí mật được sử dụng để tạo các khóa này trong sự kiện thiết lập đáng tin cậy không bị hủy, thì các bí mật đó có thể được sử dụng để giả mạo giao dịch bằng cách xác minh sai, mang lại cho chủ sở hữu khả năng thực hiện các hành động như tạo mã thông báo mới ngoài không khí và sử dụng chúng cho các giao dịch. Do các tính năng bảo mật của zk-SNARK, sẽ không có cách nào để xác minh các token được tạo từ không khí thực sự là được tạo ra từ không khí. Điều đó đang được nói, thiết lập đáng tin cậy chỉ cần lúc ban đầu.
Do đó, người dùng mạng dựa trên SNARK phải dựa vào thực tế là quá trình thiết lập đáng tin cậy đã được thực hiện chính xác, nghĩa là các bí mật liên quan đến khóa thiết lập đáng tin cậy đã bị hủy và không được nắm giữ bởi những cá nhân giám sát buổi lễ. Sự phụ thuộc vào một thiết lập đáng tin cậy là một trong những lĩnh vực quan tâm lớn nhất đối với những người chỉ trích SNARK. Điều đó đang được nói, các nhà phát triển chỉ cần sử dụng thiết lập đáng tin cậy ban đầu chứ không phải liên tục.
Một lĩnh vực đáng chỉ trích khác đối với SNARK là chúng không có khả năng kháng lượng tử. Một khi điện toán lượng tử phổ biến rộng rãi, công nghệ bảo mật đằng sau SNARK sẽ bị phá vỡ. Tất nhiên, những người ủng hộ SNARK đã chỉ ra chính xác thực tế rằng chúng ta sẽ gặp nhiều vấn đề hơn trong tay, chẳng hạn như việc phá vỡ RSA và hầu hết cơ sở hạ tầng ví, khi máy tính lượng tử được sử dụng.
Nói như vậy, có nhiều lý do khiến SNARK thực sự được sử dụng với tốc độ nhanh hơn nhiều so với STARK, mặc dù có các vấn đề liên quan đến thiết lập đáng tin cậy. SNARK đã được phát hiện trước STARK nhiều năm, điều này đã mang lại cho công nghệ một khởi đầu đáng kể về mặt áp dụng. Zcash, một trong những dự án tài sản kỹ thuật số lâu đời hơn, đã phổ biến việc sử dụng SNARK trong cộng đồng phát triển chuỗi khối. Do Zcash và những người sử dụng SNARK khác, SNARK có nhiều thư viện dành cho nhà phát triển, mã được xuất bản, dự án và các nhà phát triển đang tích cực làm việc trên công nghệ. Ngoài Zcash, DEX Loopring mới nổi cũng sử dụng SNARK. Nếu một nhà phát triển muốn bắt đầu sử dụng các công nghệ zero-knowledge, họ sẽ được hỗ trợ nhiều hơn trong việc sử dụng SNARK so với STARK.
Ngoài ra, SNARK được ước tính chỉ yêu cầu 24% lượng gas mà STARK sẽ yêu cầu, có nghĩa là giao dịch với SNARK sẽ rẻ hơn nhiều đối với người dùng cuối. Cuối cùng, kích thước bằng chứng cho SNARK nhỏ hơn nhiều so với STARK, nghĩa là nó sẽ chiếm ít dung lượng lưu trữ trên chuỗi hơn.
STARK
Mặc dù SNARK có một số lợi thế khác biệt so với STARK liên quan đến tài liệu và hỗ trợ nhà phát triển, nhưng STARK cung cấp một số lợi ích độc đáo. Nhưng trước tiên, chúng ta hãy tìm hiểu một chút về STARK là gì từ góc độ kỹ thuật.
Eli Ben-Sasson, Iddo Bentov, Yinon Horeshy và Michael Riabzev đã viết những bài báo đầu tiên mô tả STARK vào năm 2018. Không giống như SNARK, công nghệ cơ bản cho STARK dựa trên các hàm băm. Ngay lập tức, việc dựa vào các hàm băm mang lại một số lợi ích, chẳng hạn như khả năng kháng lượng tử. Hơn nữa, không cần thiết lập đáng tin cậy để bắt đầu sử dụng STARK trong mạng.
Nói như vậy, STARK có kích thước bằng chứng lớn hơn nhiều so với SNARK, điều đó có nghĩa là việc xác minh STARK mất nhiều thời gian hơn SNARK và cũng dẫn đến việc STARK cần nhiều khí hơn.
Ngoài ra, các nhà phát triển sẽ gặp khó khăn hơn nhiều khi sử dụng STARK do thiếu tài liệu và cộng đồng dành cho nhà phát triển. Mặc dù có một số dự án tạo ra các giải pháp mở rộng quy mô dựa trên STARK, chẳng hạn như STARKware, nhưng cộng đồng SNARK vẫn còn lớn hơn nhiều.
Mặc dù cả hai cộng đồng nhà phát triển đều hỗ trợ cả SNARK và STARK, nhưng Ethereum Foundation đặc biệt nói rằng ủng hộ cho STARKware, sử dụng Starks. Trên thực tế, Quỹ Ethereum Foundation đã trao cho STARKware khoản tài trợ trị giá 12 triệu đô la, thể hiện rõ ràng sự tận tâm của họ đối với công nghệ mới nổi.
Hơn nữa, trong khi tài liệu về STARK mờ nhạt so với SNARK, cộng đồng kỹ thuật gần đây đã phát triển một bộ tài nguyên lớn hơn cho những người muốn triển khai công nghệ tiên tiến.
Viết bởi: Mattison Asher, Coogan Brennan
Nguồn: Consensys