Dù muốn hay ghét nó, Twitter có lẽ sẽ không bao giờ ngừng tranh cãi về việc liệu "L2" hay Rollup là "kế thừa bảo mật".
Mặc dù hầu hết các cuộc tranh luận là những trận chiến ngữ nghĩa không thể nhận thấy, nhưng nếu bạn cố gắng thu hẹp lập luận, các điểm cơ bản rất có giá trị vì chúng chạm vào các câu hỏi cốt lõi về thời gian, địa điểm và lý do tại sao Rollup có ý nghĩa.
L2 có thể mở rộng có loại bỏ nhu cầu về L1 trên thị trường không? Có thể biến L1 như Solana thành L2 không?
Những cuộc tranh luận này chủ yếu tập trung vào các vấn đề an ninh. Thật không may, định nghĩa về "bảo mật" ở đây luôn rất khó nắm bắt. Chúng ta thường sử dụng thuật ngữ này một cách tình cờ và hầu hết mọi người biết đại khái những gì chúng ta đang nói, nhưng không hoàn toàn. Ở đây chúng tôi sẽ chia nhỏ bảo mật một cách chi tiết trên các kiến trúc khác nhau.
Định nghĩa từ thông dụng
Tổng hợp
Trước đây tôi đã sử dụng định nghĩa sau đây về Mustafa: "Rollup là một blockchain xuất bản các khối của nó sang một blockchain khác và kế thừa sự đồng thuận và tính khả dụng của dữ liệu (DA) của blockchain đó".
Sau đây là một định nghĩa tổng quát hơn được đưa ra bởi James Prestwich: "Rollup là một cách để chọn tham gia vào một cơ chế đồng thuận khác bằng cách tùy chỉnh các hàm chuyển đổi trạng thái và duy trì trạng thái siêu tập hợp."
Cả hai đều không yêu cầu cầu nối xác minh và khả năng xây dựng các cầu nối chuỗi chéo với các giả định tin cậy tối thiểu là một lợi ích chính của Rollup, nhưng phân tích chúng một cách riêng biệt là rất quan trọng.
Chúng ta có thể xem xét các tiêu chí tổng hợp sau:
Rollup là một hệ thống trạng thái (ví dụ: blockchain) có nguồn gốc bằng cách chạy chức năng chuyển đổi trạng thái tùy chỉnh (STF) trên đầu vào dữ liệu trên chuỗi chính (lớp DA).
Tất cả dữ liệu đầu vào (tức là dữ liệu giao dịch hoàn chỉnh hoặc sự khác biệt về trạng thái) được sử dụng để lấy trạng thái xác nhận cuối cùng của chuỗi từ xa (tức là Tổng hợp) được xác nhận trên chuỗi chính.
Vì trạng thái Rollup có nguồn gốc từ Hàm Chuyển đổi Trạng thái (STF) chạy trên dữ liệu trên chuỗi chính, tính hợp lệ của Bản tổng hợp phụ thuộc vào tính hợp lệ của chuỗi chính. Nút Rollup sau đó phải xác minh đầy đủ sự đồng thuận và tính hợp lệ của chuỗi chính (hoặc đưa ra giả định đa số trung thực về chuỗi chính);
Nút Rollup xác định trạng thái của Rollup trên kết quả đồng thuận chuỗi chính (chẳng hạn như chuỗi chính xác nhận thứ tự và tính khả dụng của các khối dữ liệu) bằng cách áp dụng hàm chuyển đổi trạng thái riêng (STF).
Cầu nối chuỗi chéo
Cầu nối chuỗi chéo là một hệ thống cho phép hai blockchain giao tiếp với nhau. Chuỗi A (chuỗi đích) cần tự tin rằng có điều gì đó đã xảy ra trên chuỗi B (chuỗi nguồn) và ngược lại. Lý tưởng nhất là chúng tôi muốn giao tiếp này là hai chiều, với các thuộc tính bảo mật tương quan chặt chẽ (ví dụ: độ tin cậy cao rằng thông điệp là hợp lệ, chuỗi nguồn sẽ không bị hoàn tác, v.v.).
Về cơ bản, cầu nối chuỗi chéo hoạt động như một "người quan sát" của một blockchain khác (giống như bất kỳ người dùng thông thường nào khác). Cầu nối chuỗi chéo thực hiện một quy tắc xác nhận nhất định theo đó nó bị thuyết phục về trạng thái của chuỗi được kết nối (ví dụ: có bao nhiêu khối Ethereum phải vượt qua để chấp nhận đầu vào chuyển).
Các cầu nối chuỗi chéo truyền thống thường chạy các nút ánh sáng xác thực đồng thuận trên chuỗi của chuỗi nguồn (tức là bất cứ điều gì chúng tin tưởng hầu hết các dấu hiệu đồng thuận);
Cầu nối chuỗi chéo có thể cung cấp các thuộc tính bảo mật mạnh hơn bằng cách hoạt động như các nút ánh sáng xác thực đầy đủ (tức là thêm Lấy mẫu sẵn sàng dữ liệu (DAS) + Tính hợp lệ / Bằng chứng thất bại). Ví dụ: trình xác thực của chuỗi có thể cần chạy trên tất cả các nút ánh sáng DAS kết nối chuỗi, đây là một giải pháp thay thế nhẹ hơn so với nút đầy đủ yêu cầu trình xác thực chạy chuỗi được kết nối;
Cầu nối chuỗi chéo rollup cũng có thể giữ lại hoạt động và sức đề kháng của chuỗi chính (vì Rollup phải chia sẻ sự đồng thuận của chuỗi chính);
Cầu nối từ chuỗi chính → Rollup
Hướng này rất đơn giản, vì nút Rollup xác minh đầy đủ chuỗi chính.
Các nút tổng hợp biết mọi thứ xảy ra trên chuỗi chính, vì vậy chúng biết khi nào các giao dịch bắc cầu chuỗi chéo xảy ra và nút đầy đủ Ethereum Rollup hiện tại cũng phải chạy nút đầy đủ cho chính lớp cơ sở Ethereum.
Lưu ý rằng các nút Rollup cũng có thể chạy một nút ánh sáng trình xác thực đầy đủ của chuỗi chính của chúng, nếu được hỗ trợ. Hãy xem xét một ví dụ giả định trong đó Ethereum đã thực hiện đầy đủ các nâng cấp sau:
Các khối thực thi Ethereum với bằng chứng về tính hợp lệ (nghiên cứu zkEVM ở lớp cơ sở đang diễn ra);
Ethereum đã triển khai DAS đầy đủ, vì vậy các nút có thể lấy mẫu DA;
Lớp thực thi Ethereum xuất bản dữ liệu của nó dưới dạng blob cho lớp dữ liệu, giống như bất kỳ bản tổng hợp nào khác trên Ethereum (ví dụ: dữ liệu lớp thực thi của Celestia sẽ được xuất bản lên lớp DA của nó, vì vậy các nút DAS sẽ kiểm tra tính khả dụng của dữ liệu Rollup và lớp thực thi riêng của Celestia);
Ethereum cung cấp đầy đủ bằng chứng về sự đồng thuận thay vì dựa vào các ủy ban đồng bộ hóa (ví dụ: thông qua việc tích hợp các trình xác nhận, tổng hợp chữ ký tốt hơn, bằng chứng đồng thuận ZK có thể, v.v.);
Bây giờ, giả sử bạn muốn chạy một nút đầy đủ cho bản tổng hợp dựa trên Ethereum, để tuân theo chuỗi tổng hợp hợp lệ, bạn phải hiểu chuỗi chính tắc của Ethereum, yêu cầu kiểm tra sự đồng thuận và tính hợp lệ của chính Ethereum:
Đồng thuận Ethereum - bất kỳ máy khách nút ánh sáng nào cũng có thể theo dõi sự đồng thuận được ký dưới dạng blockchain, tiêu đề khối;
Lớp thực thi riêng của Ethereum DA - Các nút tổng hợp lấy mẫu lớp DA của Ethereum, kiểm tra tính khả dụng của dữ liệu Rollup và dữ liệu lớp thực thi riêng của Ethereum (lưu ý rằng các nút DAS vẫn đưa ra một số giả định bổ sung về các nút đầy đủ, như chúng ta sẽ thấy sau);
Hiệu lực trạng thái riêng của Ethereum - với zkEVM, mỗi khối Ethereum đi kèm với một bằng chứng về tính hợp lệ;
Các nút tổng hợp phải kiểm tra tính hợp lệ trạng thái và DA của lớp thực thi riêng của Ethereum, vì đây là các điều kiện hợp lệ cho các khối Ethereum. Nút Rollup cần biết rằng nó không chỉ theo dõi Ethereum nơi sự đồng thuận đã được ký mà còn là một tiêu đề khối hợp lệ. Ví dụ: họ có thể vô tình theo dõi các khối Ethereum được ký đồng thuận nhưng không hợp lệ (ví dụ: nó tạo ra rất nhiều ETH).
Nếu lớp thực thi cơ bản tự xuất bản dữ liệu của nó lên lớp DA (giống như các bản tổng hợp khác) và thêm tính hợp lệ hoặc bằng chứng thất bại, thì nó sẽ trở thành một bản tổng hợp tích hợp.
Cầu nối từ Rollup → chuỗi chính
Hướng này rất phức tạp, vì chuỗi chính không biết trạng thái của Rollup và STF theo mặc định (tức là các nút Ethereum không cần chạy các nút Rollup). Để chuỗi chính tin vào trạng thái của bản tổng hợp, bạn có thể triển khai logic của bản tổng hợp trong hợp đồng thông minh được triển khai trên chuỗi chính (tức là hợp đồng cầu nối xác minh của bản tổng hợp). Hợp đồng thông minh này kiểm tra tính hợp lệ của trạng thái DA và Rollup.
Một lần nữa, cầu nối chuỗi chéo này là tùy chọn. Hợp đồng thông minh trên chuỗi chính được sử dụng để thuyết phục tất cả các nút chuỗi chính về tính hợp lệ của Rollup, cho phép giao tiếp hai chiều theo các giả định tin cậy tốt.
Bản tổng hợp, Bộ đồng xử lý và Ý định
Như đã thảo luận, Rollups lưu một số trạng thái của riêng chúng (trạng thái của Rollup) ngoài việc sở hữu trạng thái của chuỗi chính của chúng (ví dụ: Ethereum). Vì vậy, CoW Swap có trạng thái riêng không phải là một phần của trạng thái Ethereum không? Nếu có, thì nó có vẻ giống như một rollup. Nếu không, thì nó có thể là một "bộ đồng xử lý".
Tuy nhiên, ngay cả câu hỏi này cũng không đơn giản như vẻ ngoài của nó:
Thay vào đó, bạn có thể nghĩ rằng yếu tố phân biệt là sự bền bỉ của nhà nước:
Nếu CoW Swap cho phép những người tham gia cụ thể cung cấp cho người dùng xác nhận trước nhanh chóng (nhanh hơn thời gian khối của Ethereum) và hứa hẹn các đơn đặt hàng bao gồm các lô – vì quá trình xử lý hàng loạt Ethereum mất nhiều thời gian hơn hầu hết người dùng mong muốn, thì bây giờ nó có phải là một bản tổng hợp không?
Chris Goes đã đề cập đến chủ đề này trong bài nói chuyện của mình tại Hội nghị thượng đỉnh mô-đun, bắt đầu với một định nghĩa gần đúng về ý định: "cam kết của một hàm ưu tiên cho một không gian trạng thái hệ thống nhất định."
Lưu ý sự tương đồng giữa độ phân giải một phần (mục đích khớp) và sắp xếp tổng hợp. Nhà điều hành nhận được tin nhắn đã ký ngoài chuỗi của người dùng → xuất bản dữ liệu kết quả lên chuỗi chính.
Các ứng dụng dựa trên mục đích - các thay đổi trạng thái kết quả được giải quyết trên chuỗi (ví dụ: trong ví dụ CoW Swap, ứng dụng nằm trên chuỗi cơ bản, vì vậy các mã thông báo được trao đổi ở đó);
Ứng dụng tổng hợp - sử dụng dữ liệu được gửi đến chuỗi chính để tính toán các thay đổi trạng thái do Rollup tạo ra;
Kiến trúc tập trung vào mục đích và kiến trúc tập trung vào Rollup đạt được các mục tiêu tương tự từ các hướng ngược nhau. Cách tiếp cận tập trung vào mục đích giải quyết vấn đề này một cách rộng rãi từ quan điểm của người dùng và ứng dụng, và cách tiếp cận tập trung vào Rollup giải quyết vấn đề này một cách rộng rãi từ quan điểm của các blockchain khác nhau.
Ở đây, không quan trọng để thiết lập ranh giới phân biệt cụ thể. Hơn nữa, chúng tôi thấy rằng Rollup thực sự không khác nhiều so với các ứng dụng mà chúng tôi đã quen với kết hợp mục đích ngoài chuỗi!
Bạn dựa vào những người tham gia ngoài chuỗi (trình sắp xếp so với bộ giải / chất độn, v.v.) để có được một số đảm bảo yếu hơn, chẳng hạn như cung cấp khả năng thực thi tốt nhất và trải nghiệm người dùng tốt → xác định kết quả dựa trên dữ liệu được xuất bản cho chuỗi chính. Tuy nhiên, họ không giữ tiền của bạn trong sự giam giữ.
Khi tính toán ngoài chuỗi có thể kiểm chứng trở nên quan trọng hơn, ranh giới giữa hai có thể trở nên mờ:
Nếu bạn muốn người giải quyết ý định hoặc trình sắp xếp thứ tự tổng hợp ít đáng tin cậy hơn...
Blockchain mô-đun và blockchain nguyên khối
Các blockchain nguyên khối (hay còn gọi là blockchain tích hợp) thường được định nghĩa là các chuỗi tích hợp theo chiều dọc tất cả các chức năng cốt lõi, tức là đồng thuận, DA và thực thi. Họ chịu trách nhiệm hoàn toàn về sự an toàn của chính mình, và Solana và Cosmos Hub là những ví dụ điển hình.
Các lớp DA (như Ethereum và Celestia) thường được gọi là các blockchain "mô-đun" vì chúng thuê ngoài thực thi cho Rollup, nhưng điều này không hoàn toàn chính xác. Họ cũng chịu trách nhiệm độc lập về sự đồng thuận, DA và thực thi của chính họ.
Ngay cả việc thực hiện Celestia cũng sẽ bị hạn chế (ví dụ: chuyển nhượng, đặt cược, chuỗi chéo). Tương tự, nếu ai đó bắt đầu Rollup trên Solana, nó sẽ không trở thành một blockchain "mô-đun" một cách kỳ diệu.
Vì vậy, khi bạn nghe mọi người gọi các chuỗi như Ethereum hoặc Celestia là các blockchain "mô-đun", hãy nhận ra rằng đây là một sự khác biệt thực tế hơn là một kỹ thuật nghiêm ngặt. Cả hai thường tối ưu hóa kiến trúc của riêng mình để hỗ trợ Rollup. Các bản tổng hợp này dự kiến sẽ xử lý hầu hết việc thực hiện giao dịch trong phạm vi của chúng.
Ngay cả Rollup cũng không nhất thiết phải hoàn toàn là "mô-đun" – trình sắp xếp chuỗi Rollup có thể đồng ý về trình tự giao dịch, cung cấp DA và thực hiện các giao dịch trước khi chuỗi chính làm bất cứ điều gì. Đây là cách người dùng được xác nhận trước. Chuỗi chính sau đó cung cấp một cam kết "cuối cùng" khác, một lần nữa tuyên bố DA và sự đồng thuận về thứ tự các giao dịch của Rollup.
Bản tổng hợp và chuỗi tích hợp
Đối với mục đích của chúng tôi, sự khác biệt quan trọng hơn là "Rollup" hoặc "Non-Rollup". Trạng thái cuối cùng của chuỗi có bắt nguồn từ dữ liệu được xuất bản đến một chuỗi chính riêng biệt (tức là lớp DA) không?
Mặc dù ngày nay chúng ta liên kết DAS và tính hợp lệ / bằng chứng thất bại với các bản tổng hợp truyền thống, chúng ta nên lưu ý rằng đây là những khái niệm khác nhau về mặt logic. Về lý thuyết, bất kỳ "chuỗi tích hợp" nào (chẳng hạn như chuỗi ứng dụng Cosmos điển hình) có thể được nâng cấp để thêm DAS và bằng chứng về tính hợp lệ mà không phải xuất bản dữ liệu của nó lên các chuỗi chính bên ngoài khác như Ethereum. Nút sẽ lấy mẫu và kiểm tra chuỗi riêng biệt.
Vitalik nói về sự khác biệt này trong Endgame của mình:
Bạn có thể nhận thấy rằng một "blockchain lớn truyền thống" (chuỗi tích hợp) với DAS + tính hợp lệ / bằng chứng thất bại có thể trông giống như một "bản tổng hợp được lưu ý"! Tương tự, "một bản tổng hợp có thể mở rộng và chiếm ưu thế" có thể trở nên thành công đến mức nó chỉ đơn giản là hợp nhất với chuỗi chính của nó để phù hợp với bản tổng hợp đó.
Ranh giới của sự phân biệt trở nên mờ nhạt ở giới hạn.
Do đó, nếu bạn tin rằng hiệu quả / bằng chứng thất bại của DAS + là kết quả cuối cùng, thì "Rollup" theo một nghĩa nào đó là không thể tránh khỏi. Có một sự khác biệt hợp lệ giữa hai phương pháp trong sơ đồ trước:
"Rollups" hay còn gọi là "mô-đun" - xây dựng các chuỗi độc lập về mặt logic, xuất bản dữ liệu lên chuỗi chính của nó (lớp DA) và sử dụng lại sự đồng thuận của chuỗi chính;
"Blockchain tích hợp" hay còn gọi là "blockchain nguyên khối" - tích hợp mọi thứ vào một giao thức với sự đồng thuận riêng của nó, mà không cần xuất bản dữ liệu lên một chuỗi chính riêng biệt (ngay cả khi lớp DA và lớp thực thi là các phần riêng biệt về mặt logic của giao thức được chia sẻ theo một nghĩa nào đó);
Khi chúng ta nói về "Rollup" trong báo cáo này, chúng ta đang đề cập đến cái trước (tức là không phải là chuỗi tích hợp với DAS + tính hợp lệ / bằng chứng thất bại, có thể được gọi là Rollup tích hợp).
Mặc dù Rollup "truyền thống" không có độc quyền về DAS hoặc bằng chứng (tức là các blockchain lớn tích hợp có thể thêm chúng), lưu ý rằng chúng tôi đang bỏ qua rất nhiều chi tiết kỹ thuật ở đây và bạn không thể chỉ chọn Solana và quyết định "Ồ, tôi đoán chúng tôi sẽ thêm DAS ngay hôm nay".
Điều này đòi hỏi phải tái cấu trúc cơ bản giao thức để bắt đầu tiến gần hơn đến những gì chúng ta đang thấy Ethereum và Celestia đang làm:
Thay đổi cách mã hóa dữ liệu để hỗ trợ DAS sẽ tương đương với việc làm chậm quá trình mã hóa và lan truyền khối, bắt đầu tiến gần hơn đến lớp DA truyền thống:
Vì lý do này, chúng tôi thấy nhóm xây dựng như sau:
Các lớp DA chuyên dụng (ví dụ: Danksharding của Ethereum, Celestia, v.v.) - khối chậm + DAS;
Bộ giải trình tự dùng chung (ví dụ: Espresso, Astria hoặc thậm chí Solana) - thực sự chỉ là các lớp DA nhanh, không yêu cầu DAS;
Tuy nhiên, nếu bạn tách thời gian của các đoạn nhanh và DAS, chúng không nhất thiết phải tương thích. Ví dụ: bạn có thể tưởng tượng một chuỗi như Solana cung cấp hai đường dẫn khác nhau:
Đường dẫn nhanh - tiếp tục thực hiện các giao dịch và phổ biến dữ liệu nhanh nhất có thể (như hiện nay);
Đường dẫn chậm - mã hóa dữ liệu sau khi thực tế theo cách có thể thực hiện lấy mẫu không đồng bộ, cung cấp sự đảm bảo rằng các nút DAS hơi chậm so với sự đồng thuận;
Anatoly thảo luận trong podcast về cách Eclipse mang Ethereum, Celestia và Solana lại với nhau và từ đầu kia của quang phổ, bạn có thể tưởng tượng lớp DA thêm một đường dẫn nhanh hơn trước khi cung cấp dữ liệu để lấy mẫu:
Cung cấp hai đường dẫn trong cùng một giao thức lớp cơ sở có hiệu quả nội bộ hóa việc sắp xếp chia sẻ nhanh, cung cấp một thiết kế thú vị dựa trên Rollup. Lưu ý rằng tại thời điểm này đây vẫn là một ý tưởng rất thăm dò.
Xác nhận quy tắc
Với nền tảng đó, bây giờ chúng ta có thể bắt đầu phá vỡ các thuộc tính bảo mật của các kiến trúc khác nhau này.
Đầu tiên, các nút tương tác với bất kỳ blockchain nào bằng cách chạy "quy tắc xác nhận":
"Quy tắc xác nhận đề cập đến thuật toán được chạy bởi một nút để xuất ra liệu một khối có được xác nhận hay không. Trong trường hợp này, theo các giả định nhất định, chủ yếu liên quan đến việc đồng bộ hóa mạng và tỷ lệ cổ phần trung thực, khi các điều kiện này được đáp ứng, khối sẽ được đảm bảo rằng việc tổ chức lại sẽ không bao giờ xảy ra ".
Có thể có bất kỳ số lượng quy tắc xác nhận nào cho một chuỗi nhất định:
Bạn cần đợi bao nhiêu khối trước khi xác nhận giao dịch Bitcoin? 1 ? 6 ? 10 ?
Bạn có sử dụng LMD GHOST để xác nhận các khối dựa trên sổ cái có thể sử dụng Ethereum hay bạn đợi tiện ích cuối cùng (Casper FFG) xác nhận?
Bạn có chạy các nút đầy đủ xác minh trực tiếp từng khối hay chỉ các nút nhẹ kiểm tra ký đồng thuận?
Bạn vừa hỏi Infura?
Bởi vì mỗi quy tắc xác nhận có thể đưa ra các giả định rất khác nhau, chúng có thể có các thuộc tính bảo mật rất khác nhau ngay cả khi tương tác với cùng một chuỗi:
Sự phân biệt này là tinh tế nhưng quan trọng:
Bảo mật = Bảo mật + Hoạt động
Bây giờ chúng ta hãy đi sâu vào việc liệu Rollup có "kế thừa bảo mật" từ chuỗi chính của nó hay không.
Kế thừa, và có lẽ rõ ràng hơn, Rollup luôn "thuê" thay vì "thừa kế" bất cứ thứ gì trong chuỗi chính của nó, trả chi phí liên tục cho các tài nguyên tiêu thụ (DA) và một trong hai bên có thể chọn kết thúc mối quan hệ. Nhưng đó không phải là phần thú vị của vấn đề.
Bảo mật, từ bây giờ chúng tôi sẽ tập trung vào bảo mật. Bảo mật của một thuật toán bao gồm An toàn và Sống:
Bảo mật (sẽ không có gì xấu xảy ra), trạng thái cuối cùng được xác định bởi hai nút khỏe mạnh sẽ không bao giờ xung đột;
Liveness (những điều tốt đẹp cuối cùng sẽ xảy ra), tất cả các nút khỏe mạnh sẽ hoàn thành một trạng thái mới phản ánh các giao dịch được bao gồm trong một thời gian giới hạn;
Sử dụng framework tuyệt vời của Sreeram, chúng ta có thể chia nhỏ chúng thành năm thuộc tính hoạt động cùng nhau để đảm bảo các quy tắc xác nhận:
Hãy xem xét một ví dụ về chuỗi tích hợp giả định với DAS + tính hợp lệ / bằng chứng thất bại. Dữ liệu của nó không được công bố cho bất kỳ chuỗi chính bên ngoài nào khác. Để đơn giản, chúng tôi giả định hoàn tất ngay lập tức (ví dụ: Tendermint), vì vậy không có sự phân biệt có thể sử dụng được giữa sổ cái có sẵn và sổ cái cuối cùng (ví dụ: Gasper của Ethereum).
Chúng tôi sẽ xem xét ba quy tắc xác nhận có thể được sử dụng để theo dõi chuỗi bằng các loại nút khác nhau:
Nút ánh sáng xác thực đồng thuận - xác minh bằng chứng về sự đồng thuận (tức là tin tưởng sự đồng thuận đa số trung thực).
Nút ánh sáng xác thực đầy đủ - xác minh sự đồng thuận + kiểm tra DA (sử dụng DAS) + xác minh tính hợp lệ của trạng thái (sử dụng tính hợp lệ / bằng chứng thất bại);
Nút đầy đủ - đồng thuận xác minh + xác minh trực tiếp DA (tải xuống tất cả dữ liệu) và tính hợp lệ (thực hiện tất cả các giao dịch và tính toán trạng thái);
Xác nhận rằng quy tắc có thuộc tính bảo mật, chuỗi thì không
Một lần nữa, "chúng tôi nói một cách thông tục rằng một chuỗi là an toàn, nhưng trên thực tế nó là một quy tắc xác nhận gắn liền với thuộc tính bảo mật".
Hãy xem xét một số ví dụ.
Định lý CAP
Để làm nền tảng, định lý CAP cho chúng ta biết rằng không có sổ cái nào có thể thỏa mãn cả hai điều kiện này cùng một lúc:
Khả năng thích ứng (hay còn gọi là tính khả dụng động) - duy trì hoạt động với sự tham gia năng động (tức là nếu hầu hết các nút ngoại tuyến);
Tính cuối cùng (hay còn gọi là tính nhất quán) - giữ an ninh dưới các phân vùng mạng;
Các giao thức đồng thuận có xu hướng được chia thành hai phần, mỗi phần thỏa mãn một trong các điều kiện trên:
Các giao thức chuỗi dài nhất - các giao thức này (ví dụ: Đồng thuận Satoshi của Bitcoin) đảm bảo hoạt động ngay cả khi số lượng nút tham gia hoạt động có thể thay đổi (tức là chúng thích ứng), tuy nhiên chúng không an toàn (tức là không phải là cuối cùng) trong phân vùng mạng;
Các giao thức kiểu BFT - Các giao thức đồng thuận cổ điển (ví dụ: PBFT) đạt được tính cuối cùng nhưng không đạt được khả năng thích ứng;
Quy tắc xác nhận Bitcoin
Sự đồng thuận của Bitcoin không cung cấp bất kỳ kết thúc kinh tế cứng nào.
Các nút quan sát chuỗi dài nhất trong chế độ xem cục bộ của chúng và mỗi người dùng có thể tự do áp dụng bất kỳ quy tắc xác nhận nào họ thích (ví dụ: chấp nhận các khối với xác nhận >k). Tiêu chuẩn là đợi 6 khối được xác nhận, nhưng tùy thuộc vào bạn.
Đối với các giao dịch có giá trị cao hơn, việc chờ đợi lâu hơn là hợp lý. Có một sự đánh đổi giữa thời gian chờ đợi và an ninh, tức là khả năng tổ chức lại.
Quy tắc xác nhận Ethereum
Sự đồng thuận PoS của Ethereum (Gasper) thoạt nhìn có vẻ bỏ qua định lý CAP. Tuy nhiên, nó thực hiện hai thuộc tính này vì nó chứa hai sổ cái lồng nhau:
Sổ cái có sẵn động - nếu mạng không được phân vùng, nó an toàn và hoạt động với sự tham gia năng động;
Sổ cái tiền tố cuối cùng - luôn an toàn và bảo mật. Nếu mạng không được phân vùng và đủ các nút tham gia, nó vẫn hoạt động;
Gasper thuộc họ giao thức "ebb-and-flow" (còn được gọi là double ledger hoặc double confirmation rule). Thiết kế hai sổ cái nằm ngoài phạm vi của định lý CAP (tức là nó giả định một quy tắc xác nhận duy nhất). Khi mạng được phân vùng, sổ cái cuối cùng tụt lại phía sau sổ cái thích ứng, nhưng nó bắt kịp khi mạng được sửa chữa.
Điều này cho phép sự đánh đổi giữa khả năng thích ứng và tính cuối cùng được giải quyết ở cấp độ người dùng thay vì ở cấp độ toàn hệ thống. Đây là một đặc điểm của giao thức "chuỗi điểm kiểm tra dài nhất" được đề xuất bởi định lý CAP blockchain về khả năng thích ứng và tính cuối cùng mà người dùng có thể dựa vào. Các giao thức này cung cấp cho người dùng cá nhân sự lựa chọn giữa tính cuối cùng và khả năng thích ứng, thay vì áp đặt nó ở cấp độ hệ thống tổng thể.
Gasper phơi bày rõ ràng hai quy tắc xác nhận khác nhau, được ánh xạ đến hai sổ cái được đề cập ở trên:
Các quy tắc có sẵn động - khả năng thích ứng được đảm bảo. Tôn trọng tiêu đề khối của chuỗi dài nhất. LMD GHOST là một quy tắc lựa chọn ngã ba được sử dụng để xác định cây con nặng nhất;
Quy tắc hoàn thiện - Đảm bảo sự chắc chắn cuối cùng. Tôn trọng các khối được xác nhận bởi các tiện ích cuối cùng. Casper FFG là tiện ích cuối cùng áp dụng trên các quy tắc lựa chọn fork;
Như đã thảo luận trong bài báo:
"Các quy tắc thích ứng lạc quan hơn luôn xác nhận các khối được đánh dấu là hoàn thiện bởi các quy tắc bảo thủ hơn và có thể xác nhận nhiều khối hơn trong các mức độ tham gia thay đổi. Khách hàng (người dùng) chọn cục bộ giữa các quy tắc xác nhận dựa trên sở thích cá nhân, trong khi các thợ đào tuân theo các quy tắc đề xuất khối cố định phù hợp với hai quy tắc xác nhận này ".
Điều này cho phép tất cả các nút (trung thực) trong hệ thống:
Thực hiện theo một cơ chế đề xuất khối chung;
Tuy nhiên, các nút khác nhau có thể chọn các quy tắc xác nhận khác nhau;
Trình xác thực tiếp tục kéo dài chuỗi dài nhất (khai thác các khối mới ở độ cao ngày càng tăng), bất kể mức độ tham gia, nhưng chỉ khi có đủ sự tham gia, các điểm kiểm tra mới sẽ xuất hiện.
Chuỗi dài nhất (chứa điểm kiểm tra gần đây nhất) có thể xen kẽ giữa các chuỗi khác nhau (tức là lắp ráp lại các khối không hoàn chỉnh), nhưng điểm kiểm tra được đảm bảo nằm trên một chuỗi duy nhất bất kể điều kiện mạng (tức là tính cuối cùng).
Tính bảo mật của người dùng phụ thuộc vào các quy tắc xác nhận mà họ tuân theo. Có một sự đánh đổi giữa xác nhận khối nhanh và đảm bảo bảo mật mạnh mẽ hơn. Người dùng bán cà phê có thể thích hoạt động hơn bảo mật, nhưng người dùng bán du thuyền có thể thích bảo mật hơn hoạt động.
Các nút Ethereum cũng có thể áp dụng một số phương pháp phỏng đoán quy tắc xác nhận trung gian khác cho các mục đích thực tế. Thay vì sử dụng các khối k ngây thơ như một quy tắc xác nhận thích ứng, như Bitcoin, chúng ta có thể thêm các phỏng đoán khác bao gồm các giả định về đồng bộ hóa mạng và tính trung thực của trình xác thực.
Đây chính xác là những gì được đề xuất trong Quy tắc xác nhận giao thức đồng thuận Ethereum, đề xuất các quy tắc xác nhận với các thuộc tính sau:
Trong điều kiện lý tưởng - quy tắc sẽ xác nhận một khối mới ngay sau khe cắm của nó;
Trong các điều kiện mạng chính điển hình - quy tắc sẽ có thể xác nhận hầu hết các khối mới trong vòng một phút;
Quy tắc xác nhận này không thay thế cho sự cuối cùng của nền kinh tế. Thay vào đó, nó cung cấp heuristics hữu ích cho những người dùng tin rằng đồng bộ hóa mạng sẽ vẫn còn trong tương lai gần. Hãy so sánh hai:
Hãy xem xét một số ví dụ, chẳng hạn như nếu bạn bán du thuyền với giá 2,5 triệu đô la ETH, đây là một số quy tắc xác nhận có thể:
Nút đầy đủ + chờ kết quả cuối cùng - ngay cả phần lớn các trình xác thực độc hại cũng không thể lừa bạn chấp nhận các khối không hợp lệ (ví dụ: tạo ETH giả). Nếu họ trả cho bạn 2,5 triệu đô la ETH và sau đó cố gắng cơ cấu lại khối cuối cùng sau đó, họ sẽ phải chịu một chi phí rất lớn (ít nhất một phần ba vốn chủ sở hữu bị cắt giảm);
Nút đầy đủ + chờ chặn - hầu hết các trình xác thực độc hại vẫn không thể lừa bạn chấp nhận một khối không hợp lệ, tuy nhiên họ có thể gửi cho bạn 2,5 triệu đô la ETH trong một khối hợp lệ, để lại trên du thuyền và sau đó khối được tổ chức lại ngay lập tức, điều này có thể xảy ra nếu có đủ trọng lượng cổ phần hoặc điều kiện mạng kém, chúng không bị cắt giảm một cách trừng phạt;
Light Node Client – Các bảng đồng bộ hóa độc hại có thể nói dối bạn mà không bị phạt và người mua có thể rời đi trên du thuyền (lưu ý rằng ủy ban đồng bộ hóa này chỉ dành riêng cho Ethereum dưới dạng một tập hợp con của sự đồng thuận, các chuỗi PoS khác có hỗ trợ máy khách nút ánh sáng hiệu quả hơn có thể kiểm tra tất cả các phiếu đồng thuận với một số lượng nhỏ trình xác nhận);
MetaMask - Bạn chỉ cần tin tưởng Infura, người đã mua du thuyền từ bạn đã hứa với nhân viên Infura rằng họ có thể đi du thuyền vào cuối tuần, vì vậy họ đã nói dối bạn, bạn nghĩ rằng bạn đã nhận được 2.5 triệu đô la ETH, và sau đó bạn giao chìa khóa;
Rollup xác nhận các quy tắc
Như với bất kỳ chuỗi nào, các nút tương tác với Rollup bằng cách sử dụng các quy tắc xác nhận khác nhau. Các quy tắc xác nhận mạnh nhất của Rollup sẽ được hoàn thiện cùng với sự đồng thuận của chuỗi chính của nó. Trình tự tổng hợp có thể hiển thị các quy tắc xác nhận yếu hơn để có trải nghiệm người dùng tốt hơn (tức là cung cấp xác nhận trước nhanh chóng cho người dùng thiếu kiên nhẫn), nhưng người dùng cũng có thể đợi bảo mật đầy đủ của các quy tắc xác nhận chuỗi chính.
Một luồng giao dịch Rollup điển hình trông như thế này:
Người dùng gửi giao dịch cho trình sắp xếp;
Trình tự sắp xếp các giao dịch và xác nhận trước;
STF xác định nên được áp dụng cho các giao dịch được đặt hàng để tính trạng thái Tổng hợp mới;
Cam kết trạng thái tổng hợp cập nhật và dữ liệu giao dịch liên quan cuối cùng sẽ được phát hành cho chuỗi chính;
Sau khi dữ liệu giao dịch được công bố lên chuỗi chính:
Rollup Full Node - trực tiếp xác minh rằng trạng thái chuỗi được đề xuất là chính xác;
Các nút đèn tổng hợp (bao gồm cả cầu xác minh) - không thể được xác minh trực tiếp;
Các nhà quan sát khác nhau của cùng một Bản tổng hợp sử dụng các quy tắc xác nhận khác nhau, vì vậy họ hoàn thiện quan điểm của mình vào những thời điểm khác nhau:
Giả sử phát hành dữ liệu giao dịch hoàn chỉnh (không chỉ là sự khác biệt của nhà nước);
Như đã đề cập trước đó, các nút Rollup cũng phải chạy các nút đầy đủ của chuỗi chính hoặc các nút ánh sáng trình xác thực đầy đủ (hoặc sử dụng các nút ánh sáng xác thực đồng thuận để đưa ra các giả định đa số trung thực). Các nút ánh sáng tổng hợp có thể chạy dưới dạng phần mềm bổ sung hoặc ngầm trong nút chuỗi chính (tức là bản tổng hợp xác minh hợp đồng cầu nối chuỗi chéo trên chuỗi chính);
Người dùng cũng có thể xác nhận giao dịch nhanh hơn bằng cách tin tưởng trình sắp xếp để xác nhận trước, ngay cả trước khi liên kết chính nhận được dữ liệu. Nếu trình sắp xếp chuỗi hoạt động không chính xác, bảo mật có thể thất bại. Sau đó, khi dữ liệu nằm trên chuỗi chính (và bạn đã kiểm tra tính hợp lệ của DA +), chỉ có lỗi mainchain (chẳng hạn như tổ chức lại Ethereum) sẽ ảnh hưởng đến bảo mật của bạn.
Do đó, ngay cả những người đặt hàng tập trung cũng không thực sự làm giảm tính bảo mật của "Rollup". Bạn luôn nhận được bảo mật tuân thủ các quy tắc xác nhận bạn cần. Cho dù Rollup có thiết kế dựa trên sequencer hay thiết kế khác, bạn có thể sử dụng các quy tắc xác nhận tương tự (ví dụ: đợi chuỗi chính được hoàn tất và kiểm tra tính hợp lệ của Rollup). Giả sử thực hiện đúng (ví dụ: thực thi bao gồm giao dịch thông qua chuỗi chính), bạn có thể nhận được các thuộc tính bảo mật tương tự trong cùng một khung thời gian trong khi vẫn giữ nguyên các điều kiện khác.
Tương tự, bạn có thể tưởng tượng rằng các nhà sản xuất khối Ethereum L1 cung cấp xác nhận trước do thời gian khối chậm, điều này không làm cho "Ethereum" kém an toàn hơn. Bạn chỉ cần quyết định có nên sử dụng quy tắc xác nhận khác (kém an toàn hơn) hay không cho đến khi trình xác thực Ethereum hoàn tất bảo mật cao hơn.
Ý tưởng xác nhận trước rất phù hợp với logic của Gasper được mô tả bởi Vitalik:
Nguyên tắc chung là bạn muốn cung cấp "càng nhiều sự đồng thuận càng tốt" cho người dùng: nếu có > 2/3, thì chúng tôi đạt được sự đồng thuận một cách thường xuyên, nhưng nếu có < 2/3, thì không có lý do gì để trì hoãn mà không cung cấp bất cứ điều gì, bởi vì rõ ràng chuỗi sẽ tiếp tục phát triển mặc dù mức độ bảo mật tạm thời thấp hơn của khối mới. Nếu một ứng dụng không hài lòng với mức độ bảo mật thấp hơn, vui lòng bỏ qua các phần này cho đến khi chúng được hoàn thiện.
Đặt tất cả những điều này lại với nhau, khi tất cả các quy tắc xác nhận đồng ý về cùng một trạng thái của sổ cái cùng một lúc, chúng ta có một "khu vực nhất quán":
Xác nhận quy tắc - bảo mật và khả năng truy cập
Nếu quy tắc xác nhận của bạn là tin tưởng một trình sắp xếp duy nhất do SBF điều hành, thay vì trình sắp xếp chuỗi phi tập trung được tạo thành từ các trình xác thực uy tín nhất thế giới, thì bảo mật của bạn có thể tồi tệ hơn và lỗi hoạt động và tổ chức lại là lỗi bảo mật.
Ngoài ra, bạn có thể đợi các quy tắc xác nhận mạnh hơn (mainchain) có sẵn. Sau đó, tất cả những thứ khác đều bình đẳng, một trình sắp xếp thứ tự không đáng tin cậy sẽ không ảnh hưởng đến bảo mật của bạn. Nếu bạn đang bán cà phê, có lẽ bạn sẽ đi ngay lập tức, nhưng nếu bạn đang bán du thuyền, bạn sẽ cần kiểm tra kỹ xác nhận chuỗi chính.
Tuy nhiên, nếu mọi người thực sự sử dụng quy tắc xác nhận đó để bán du thuyền của họ, chúng ta không thể hoàn toàn bỏ qua mức độ an toàn thấp tiềm ẩn của quy tắc xác nhận "người ngẫu nhiên tin tưởng chạy một trình tự riêng biệt". Thiết kế chính xác dựa trên sự cân bằng về mức độ cam kết tiến bộ cần thiết trong thời gian nào cho một trường hợp sử dụng nhất định.
Một lần nữa, điều này chạm vào những lời chỉ trích thực sự về các blockchain thông lượng cao như Solana. Mọi người thực sự có thể sử dụng quy tắc xác nhận nào? Bạn có thể có điều kiện bảo mật tốt để chạy các nút đầy đủ của Solana, nhưng hầu hết mọi người có thể không có quyền truy cập vào quy tắc xác nhận đó (tức là tùy thuộc vào yêu cầu tài nguyên và / hoặc chi phí).
Xác minh trực tiếp (nghĩa là không chỉ tin tưởng đa số trung thực) là một thuộc tính cốt lõi của các hệ thống này. Vì vậy, đối với một quy tắc xác nhận nhất định, chúng tôi thực sự quan tâm đến hai khía cạnh - bảo mật và khả năng truy cập:
Trong một từ:
Người dùng tương tác với bất kỳ chuỗi nào thông qua các quy tắc xác nhận;
Một chuỗi có thể có bất kỳ số lượng quy tắc xác nhận nào;
Bảo mật là một thuộc tính của quy tắc xác nhận, không phải chính chuỗi;
Chúng tôi quan tâm đến tính bảo mật và khả năng tiếp cận của các quy tắc xác nhận cho một chuỗi nhất định;
Trên thực tế, khi chúng tôi nói rằng một chuỗi nhất định là an toàn, chúng tôi đang cố gắng thể hiện quan điểm rằng các quy tắc xác nhận liên quan của nó vừa an toàn vừa có thể truy cập được.
Rollups với bảo mật chuỗi tích hợp
1, chuỗi tích hợp với bằng chứng về tính hợp lệ của DAS +
Bây giờ chúng ta đang thấy rằng bảo mật liên quan đến DA và tính hợp lệ của trạng thái có thể được kiểm tra trực tiếp bằng mật mã (DAS + tính hợp lệ / bằng chứng thất bại) mà không cần đưa ra giả định mạnh mẽ về các nhà khai thác chuỗi. Bất kỳ giao thức nào về mặt kỹ thuật cũng có thể thực hiện những điều này. Các nút đầy đủ cũng có thể kiểm tra DA và tính hợp lệ của trạng thái mà không cần các giả định bên ngoài.
Bây giờ hãy tập trung vào các thuộc tính khác - hoạt động và khả năng chống tái tổ hợp. Như chúng ta đã thấy trước đó, những điều này có thể thất bại bất kể bạn chạy loại quy tắc xác nhận nào. Hãy xem xét một chuỗi tích hợp khác chứng minh tính cuối cùng của hiệu quả DAS + của ổ cắm đơn + PoS:
Chọn các quy tắc xác nhận mạnh mẽ đặc biệt hiệu quả đối với một tập hợp con các lỗi bảo mật, trong đó ngay cả hầu hết các trình xác thực độc hại cũng không thể lừa các nút đầy đủ hoặc các nút ánh sáng xác thực đầy đủ tin rằng:
Dữ liệu không có sẵn thực sự có sẵn;
hoặc chuyển đổi trạng thái không hợp lệ là hợp lệ;
Cho dù Ethereum có 1 trình xác thực hay vô số trình xác thực, tất cả các nút ít nhiều tin vào DA hoặc tính hợp lệ của khối, chúng được đảm bảo bằng cách kiểm tra. Các nút ánh sáng xác thực đầy đủ có thể được kiểm tra theo cách đơn giản hơn (nhưng lưu ý rằng DAS đưa ra một số giả định khác, chúng ta sẽ thảo luận sau).
Tuy nhiên, phần lớn các trình xác thực độc hại có thể ngăn sổ cái phát triển, kiểm duyệt bạn hoặc tổ chức lại chuỗi (lỗi xảy ra phụ thuộc vào quy tắc xác nhận). DAS + ZK sẽ không cứu bạn. Khả năng chống lại việc tổ chức lại và hoạt động luôn phụ thuộc ở một mức độ nào đó vào các thuộc tính cơ bản khác nhau của một chuỗi nhất định (ví dụ: các nhà khai thác đáng tin cậy, khuyến khích kinh tế, đồng thuận xã hội, v.v.).
Ít rõ ràng hơn, hoạt động và khả năng chống lại việc tổ chức lại vẫn là các thuộc tính của một quy tắc thừa nhận nhất định, vì mỗi nút phải chịu cùng một cuộc tấn công như trong bảng trên. Bất kể các quy tắc xác nhận ở đây, họ có cùng một đảm bảo.
Tuy nhiên, điều này trở nên rõ ràng một lần nữa khi bạn loại bỏ giả định cuối cùng một khe. Trong Gasper của Ethereum, tùy thuộc vào sổ cái bạn theo dõi (tức là sổ cái chuỗi dài nhất hoặc điểm kiểm tra có sẵn), bạn sẽ lại có các thuộc tính chống tổ chức lại và hoạt động khác nhau. Hầu hết các trình xác thực độc hại gây ra các lỗi bảo mật khác nhau tùy thuộc vào quy tắc xác nhận bạn chạy.
Trong mọi trường hợp, vấn đề là việc xây dựng cơ bản của chuỗi là rất quan trọng ở đây. Bạn cần các nhà khai thác mạnh mẽ, khuyến khích kinh tế và sự đồng thuận xã hội để giữ cho chuỗi hoạt động và chống lại việc tái cấu trúc. Ngoài ra, các giao thức đồng thuận sổ cái kép như Ethereum cung cấp cho người dùng sự linh hoạt có giá trị để tính toán tính khả dụng và tính cuối cùng theo nhu cầu của họ.
2, Bằng chứng tổng hợp sử dụng DAS + tính hợp lệ
Bây giờ hãy sửa đổi ví dụ này một chút:
Ví dụ trước - một chuỗi tích hợp với bằng chứng về tính hợp lệ của DAS +, hãy tưởng tượng lấy Solana ngày hôm nay, nhưng thêm bằng chứng về DAS +;
Ví dụ mới - Rollup được triển khai trên chuỗi chính bên ngoài (ví dụ: Ethereum) với bằng chứng về tính hợp lệ + DAS (lưu ý rằng Ethereum DAS chưa hoạt động), Rollup có bộ trình tự phi tập trung có thể đạt được sự đồng thuận với xác nhận trước nhanh chóng;
Bạn sẽ nhận thấy rằng Rollup có hai loại quy tắc xác nhận hoàn toàn riêng biệt cho các khung thời gian khác nhau (tức là cho dù bạn đang hoạt động dựa trên sự đồng thuận trước của trình sắp xếp hay chờ sự đồng thuận cuối cùng của chuỗi chính), bây giờ chúng ta hãy xem xét từng đường dẫn.
Đường dẫn nhanh - Trước sự đồng thuận chuỗi chính
Các nút tổng hợp có thể dựa vào xác nhận từ trình sắp xếp chuỗi (trước khi xuất bản lên chuỗi chính) và chúng tôi giả sử chúng có thể chạy các nút Tổng hợp sau:
Rollup Consensus Validator Light Node - Tin tưởng đa số trung thực trong sự đồng thuận của trình tự Rollup;
Rollup Full Validator Light Node - chạy DAS + trên nguồn cấp dữ liệu của trình sắp xếp để kiểm tra bằng chứng hợp lệ trước khi xuất bản bất cứ thứ gì lên Ethereum;
Rollup Full Node - Tải xuống tất cả dữ liệu từ nguồn cấp dữ liệu của trình sắp xếp và thực hiện tất cả các giao dịch để kiểm tra trực tiếp DA và tính hợp lệ;
Về mặt kỹ thuật, trình tự Rollup có thể tạo điều kiện cho DAS và cung cấp bằng chứng về tính hợp lệ trước khi xuất bản lên chuỗi chính, nhưng điều này không thực sự xảy ra. Các nút ánh sáng xác thực đầy đủ thường được thiết kế để kiểm tra chúng thông qua chuỗi chính, nhưng tôi giả định rằng các bằng chứng DAS + "sống" có thể được so sánh rõ ràng hơn với chuỗi tích hợp.
Bảng sau đây cho thấy những thay đổi so với ví dụ về chuỗi tích hợp:
Dựa vào trình tự Rollup cho hoạt động và chống tái tổ hợp, thay vì bộ trình xác thực của chuỗi tích hợp;
Chỉ xóa thuộc tính hoạt động cuối cùng, vì chỉ có khoảng thời gian trước khi đồng thuận chuỗi chính được xem ở đây (các thuộc tính hoạt động "cuối cùng" này sẽ tự sở hữu sau này trong tương lai);
Xóa được hiển thị bằng gạch ngang màu đỏ và các bổ sung được hiển thị bằng màu xanh lam:
Đường dẫn chậm - Chờ sự đồng thuận của chuỗi chính
Để tăng cường bảo mật, các nút có thể chờ sự đồng thuận từ chuỗi chính (ví dụ: Ethereum), đó là nơi nó phát huy tác dụng rõ ràng hơn, tức là các nút tổng hợp cũng nên chạy nút chuỗi chính:
Nút ánh sáng xác thực đồng thuận chuỗi chính - tin tưởng vào sự đồng thuận đa số trung thực của chuỗi chính;
Nút ánh sáng trình xác thực đầy đủ chuỗi chính - kiểm tra bằng chứng hợp lệ của chuỗi chính + chạy DAS trên chuỗi chính (bao gồm dữ liệu Rollup + dữ liệu chuỗi chính);
Mainchain full node - tải xuống tất cả dữ liệu mainchain (bao gồm kiểm tra dữ liệu rollup) + thực hiện tất cả các giao dịch mainchain để trực tiếp kiểm tra tính hợp lệ;
Lưu ý rằng tính hợp lệ trạng thái của Rollup có thể được xác minh thông qua hai đường dẫn khác nhau:
Bên ngoài chuỗi chính (chạy phần mềm nút Rollup bổ sung) - Rollup không yêu cầu chuỗi chính của nó để xác minh trạng thái hoặc STF của nó, không cần triển khai cầu xác minh, thay vào đó có thể kiểm tra bằng chứng Rollup bằng phương pháp khác (ví dụ: nhận bằng chứng Rollup qua p2p), yêu cầu chạy thêm phần mềm nút Rollup để xác minh bằng chứng (tức là các nút ánh sáng Rollup);
Bên trong chuỗi chính (triển khai nút Rollup bên trong chuỗi chính) - đây là tiêu chuẩn ngày nay, logic trình xác thực nút ánh sáng Rollup được triển khai trong chính chuỗi chính (tức là hợp đồng cầu nối tích hợp của Rollup), vì nút xác thực Rollup này chạy trong STF của chuỗi chính, xác thực STF của chuỗi chính cũng có nghĩa là xác minh STF của bản tổng hợp;
Nếu chúng ta nhận được một mainchain bằng chứng không có kiến thức (ví dụ: Ethereum L1 zkEVM) + tất cả các rollup chứng minh trạng thái của chúng bên trong chuỗi chính→ chúng ta sẽ có được tầm nhìn của Vitalik về bằng chứng về điểm kỳ dị. Bằng chứng không có kiến thức về việc xác thực Ethereum có nghĩa là xác thực tất cả các chuỗi khác và xác thực các nút triển khai nội bộ của chúng:
Để đơn giản, chúng tôi giả định ở đây rằng tính hợp lệ trạng thái của bản tổng hợp được xác minh trong chính chuỗi chính (ví dụ: bản tổng hợp có cầu nối tích hợp với chuỗi chính), vì vậy chúng tôi có thể bỏ qua việc chạy rõ ràng phần mềm nút tổng hợp bổ sung bên ngoài giao thức.
Các thay đổi từ bảng Fast Path Rollup trước đó như sau:
Điều này đạt được bằng cách mainchain buộc các giao dịch bao gồm hoặc áp đặt thay thế sequencer / prover, mà chúng tôi gọi là hoạt động "cuối cùng" ở đây, bởi vì theo quan điểm của Rollup, đó là một con đường chậm, nhưng từ quan điểm của chuỗi chính, đây có thể được coi là hoạt động "thời gian thực".
Rollup với blockchain tích hợp
Bây giờ chúng ta có thể thấy những thay đổi trong các thuộc tính bảo mật liên quan đến blockchain và Rollup tích hợp:
DA và hiệu lực trạng thái - Nếu được triển khai, bằng chứng hợp lệ DAS + có thể cung cấp các đảm bảo bảo mật hiện hành, bất kể chuỗi được tích hợp hay Rollup truyền thống. Trên thực tế, những công nghệ này ngày nay bị chi phối bởi Rollup;
Liveness &; Re-org Resistance - Các blockchain tích hợp chịu trách nhiệm cho những điều này một cách độc lập trên tất cả các kịch bản. Thay vào đó, Rollup cung cấp lựa chọn quy tắc xác nhận trong các khung thời gian khác nhau. Bạn có thể sử dụng các quy tắc xác nhận kém an toàn hơn (sự đồng thuận của trình tự tin cậy) để có được sự đảm bảo nhanh chóng hoặc chờ các quy tắc xác nhận an toàn hơn (chờ sự đồng thuận của chuỗi chính);
Hoạt động và khả năng chống tái tổ hợp
Các thuộc tính này không thể được đảm bảo bằng mật khẩu và thậm chí trên các quy tắc xác nhận (ví dụ: cho dù chạy nút đầy đủ hay nhẹ), bạn có thể dễ bị lỗi bảo mật.
Nếu nhà điều hành hoàn toàn mất kiểm soát, không có nút đầy đủ hoặc bằng chứng ZK nào có thể bảo vệ bạn khỏi các lỗi hoạt động hoặc tổ chức lại.
Những thuộc tính này đạt được thông qua các nhà khai thác mạnh mẽ và phi tập trung, cơ chế chống kiểm duyệt, sự đồng thuận có lợi cho hoạt động, "chi phí" tái cấu trúc cao, sự đồng thuận xã hội mạnh mẽ, v.v. So sánh khách quan những điều này thường là một thách thức.
Làm thế nào để bạn đo lường sự phân cấp của nhà điều hành và sự đồng thuận xã hội? Không có một câu trả lời đúng. Đây được cho là những khía cạnh khó thiết kế nhất và chúng thực sự rất độc đáo đối với một chuỗi nhất định.
Điều quan trọng, chúng tôi thấy rằng Rollup có thể ủy quyền chống tổ chức lại và hoạt động cho chuỗi chính và các quy tắc xác nhận được sử dụng trên Rollup có thể có các thuộc tính bảo mật giống như khi chúng đang chạy trên chuỗi chính trong cùng một khung thời gian.
Các chuỗi thậm chí có thể chọn thuộc tính nào để ủy quyền cho chuỗi nào và các loại kiến trúc "L2" khác nhau (chẳng hạn như validium, optimism và sidechains) có thể hấp thụ các tập hợp con khác nhau của các thuộc tính bảo mật. Chẳng hạn:
Chống tái cấu trúc - Rollup có thể ủy quyền chống tái cấu trúc cho Ethereum và các quy tắc lựa chọn fork của nó dựa trên những gì sự đồng thuận Ethereum xác nhận để chọn "chuỗi chuẩn". Nếu Ethereum tổ chức lại, Rollup cũng sẽ tổ chức lại.
Liveness - Tuy nhiên, nếu Rollup thiếu cơ chế bao gồm bắt buộc và thay thế nhà điều hành bắt buộc, người dùng Rollup vẫn không nhận được thuộc tính sống động của Ethereum;
Rollup cũng có thể cung cấp cho người dùng một lối thoát để thoát khỏi Rollup, nhưng vẫn giữ khả năng kiểm tra người dùng và ngăn chặn tiền gửi xâm nhập vào Rollup (đây là cách Loopring hoạt động, ví dụ). Nếu khoản tiền gửi vẫn chưa được xử lý sau một khoảng thời gian nhất định, người dùng có thể rút tiền bị khóa từ hợp đồng L1.
Điều này nhấn mạnh tầm quan trọng của các cơ chế như vậy.
Tính khả dụng của dữ liệu và tính hợp lệ của trạng thái
Không giống như hoạt động và chống tái tổ hợp, các nút có thể đảm bảo tính hợp lệ của DA và trạng thái mà không đưa ra bất kỳ giả định ngưỡng lớn nào (hoặc đánh đổi bảo mật giữa hai bên). Các nhà sản xuất khối đa số độc hại có thể gây ra lỗi hoạt động và tổ chức lại, nhưng chúng sẽ không gây ra lỗi DA hoặc tính hợp lệ cho các nút đầy đủ hoặc các nút ánh sáng trình xác thực đầy đủ.
Tuy nhiên, các nút ánh sáng xác thực đồng thuận tất nhiên bị ảnh hưởng bởi tính hợp lệ trạng thái của đa số trung thực và lỗi DA. Họ chỉ tin tất cả những gì sự đồng thuận nói. Đó là lý do tại sao DA và hiệu lực của tiểu bang là những gì làm cho các quy tắc xác nhận bảo mật có thể truy cập và thực sự hoạt động. Đây thường là sự khác biệt lớn về ý thức hệ giữa Rollups truyền thống và các blockchain lớn không chú trọng nhiều vào việc xác minh người dùng.
Theo thứ tự, đây thường là những cách ưa thích để cân bằng giữa bảo mật và khả năng truy cập:
Làm cho DAS và bằng chứng về hiệu quả có sẵn rộng rãi;
Nếu bạn không có DAS và / hoặc bằng chứng về tính hợp lệ, hãy làm cho các nút đầy đủ có thể truy cập rộng rãi (tức là yêu cầu tài nguyên thấp, dễ chạy, v.v.);
Nếu bạn không có DAS và / hoặc bằng chứng về tính hợp lệ và nút đầy đủ phần lớn không thể truy cập được, thì vui lòng làm cho nút ánh sáng trình xác thực đồng thuận có thể truy cập rộng rãi và có sự đồng thuận đa số trung thực đáng tin cậy;
Ghé thăm Infura;
Lưu ý rằng 2 (nút đầy đủ) thực sự là an toàn nhất. Xác minh ZK rất đơn giản, nhưng các nút DAS đưa ra một số giả định bổ sung mà các nút đầy đủ không có. Tuy nhiên, chúng cung cấp bảo mật gần giống như các nút đầy đủ và với các yêu cầu tài nguyên ở một phần nhỏ trong số đó, chúng có thể mở rộng.
Các nút đầy đủ chỉ cần tải xuống tất cả dữ liệu, vì vậy chúng chắc chắn 100%. Họ chỉ ký khối khi mọi thứ ở đó. Không có giả định nào được đưa ra về các bên bên ngoài.
Mục tiêu của DAS là đạt được bảo mật gần như tốt như các nút đầy đủ, trong khi với yêu cầu tài nguyên thấp hơn đáng kể (tức là quy mô cao hơn). Bài viết này về mức độ bảo mật tính khả dụng của dữ liệu nút ánh sáng bao gồm điều này.
Nói tóm lại, bạn thường đưa ra một số giả định xung quanh đồng bộ hóa mạng và liệu có đủ nút để xây dựng lại dữ liệu hay không. Nếu các nhà sản xuất khối thù địch ẩn bất kỳ dữ liệu nào, ngay cả một nhóm nhỏ các nút ánh sáng trung thực cũng có thể cùng nhau xây dựng lại các khối. Cũng có những giả định về tiết lộ cổ phần có chọn lọc, trong đó các nhà sản xuất khối thù địch có thể đánh lừa một số lượng nhỏ các nút ánh sáng riêng lẻ, nhưng không tập thể.
Các giả định "N-in-2" này (ví dụ: một thiểu số các nút trung thực có thể bảo mật DAS) rất có lợi liên quan đến giả định "N / 2" gần đúng điển hình (ví dụ: 51% nhà sản xuất khối có thể dẫn đến việc tổ chức lại). Vitalik có một giới thiệu tốt về điều này trong bài đăng của mình về mô hình tin cậy.
Nhìn chung, DA và hiệu quả nhà nước không được Rollup "ủy quyền" là hoạt động và kháng tái tổ hợp. DA và tính hợp lệ của trạng thái có thể được xác minh trực tiếp bởi người dùng, trong khi các thuộc tính khác phụ thuộc nhiều hơn vào những người tham gia đồng thuận của chuỗi và các ưu đãi của họ.
Xem lại ví dụ về việc xác thực bằng chứng Tổng hợp trước đó:
Xuất bản bằng chứng ZK của Rollup lên hợp đồng thông minh Ethereum, nơi bạn chạy một nút đầy đủ Ethereum và ngầm xác minh bằng chứng;
Gửi bằng chứng ZK về Rollup đến nút ánh sáng Rollup của tôi để xác minh bằng chứng trực tiếp;
Trong cả hai trường hợp, bạn có thể đảm bảo hiệu quả. Bất kể bạn kiểm tra nó ở đâu, bạn không thể xác định hiệu quả của nó. Ethereum không có hiệu quả thực sự "bắt buộc" như các nút Ethereum "buộc" chống tái cấu trúc hoặc các thuộc tính hoạt động. Chống tái cấu trúc và sức sống phần lớn phụ thuộc vào việc bạn nhận được chúng từ ai.
Hãy xem xét một bản tổng hợp dựa trên chuỗi lừa đảo:
Các quy tắc lựa chọn ngã ba của Rollup tuân theo đầu chuỗi→ Nếu chuỗi được tổ chức lại, Rollup cũng sẽ tổ chức lại;
Cơ chế bao gồm bắt buộc của Rollup và xóa trình tự được thực thi thông qua các hợp đồng bắc cầu chuỗi chéo trên chuỗi lừa đảo→ Nếu sổ cái của chuỗi lừa đảo dừng lại, thì sổ cái của bản tổng hợp cũng vậy. Nếu chuỗi lừa đảo muốn kiểm duyệt Bản tổng hợp của bạn, thì bạn sẽ bị kiểm duyệt;
Rollup có thể hiển thị các quy tắc xác nhận với các thuộc tính bảo mật giống như chuỗi chính của chúng, chúng có thể nhận được tối đa theo tốc độ đồng thuận chuỗi máy chủ của chúng (trên thực tế, nó thường sẽ chậm hơn, tùy thuộc vào tần suất Rollup được xuất bản lên chuỗi chính).
Bản tổng hợp cũng có thể cung cấp "đường dẫn hạnh phúc" với các quy tắc xác nhận thoải mái hơn (tức là trình sắp xếp) để có trải nghiệm người dùng tốt hơn, nhưng chúng vẫn giữ lại các giao dịch khôi phục trong trường hợp thất bại. Nếu bộ sắp xếp thứ tự của bạn dừng lại, bạn có thể tiếp tục di chuyển. Tuy nhiên, đây không phải là trường hợp nếu chuỗi của bạn hoàn toàn dựa vào bộ trình xác thực của riêng bạn (tức là như một chuỗi tích hợp).
Chọn chuỗi chính của Rollup một cách khôn ngoan có thể có tác động cụ thể đến các thuộc tính bảo mật. Nó đặc biệt có giá trị để tận dụng một backchain với hoạt động mạnh mẽ (tăng trưởng sổ cái + CR) và khả năng chống lại việc tổ chức lại.
Các giả định bảo mật khác nhau cho các khoảng thời gian khác nhau
Hãy xem xét một ví dụ đơn giản. Chain X đang quyết định xem nên triển khai dưới dạng Rollup trên chuỗi chính hiện có hay là blockchain tích hợp của riêng nó.
Rollup có các đặc điểm sau:
Thời gian khối 10 giây;
Các nút ánh sáng DAS được hỗ trợ
Có thể cung cấp các quy tắc xác nhận "Bảo mật cao" cho hoạt động và chống tổ chức lại (ví dụ: trình xác thực đáng tin cậy phi tập trung, v.v.);
Blockchain tích hợp có các đặc điểm sau:
Thời gian đầu ra khối là 1 giây;
Nút ánh sáng DAS và bằng chứng về tính hợp lệ có thể được triển khai, cho dù nó được khởi chạy dưới dạng blockchain tích hợp hay dưới dạng tổng hợp;
Nếu một bộ giải trình tự tập trung được triển khai - nó sẽ cung cấp các quy tắc xác nhận "an toàn thấp" về hoạt động và khả năng chống tái tổ hợp;
Nếu nó thực hiện sự đồng thuận phi tập trung của riêng mình (dưới dạng bộ trình tự Rollup được xác nhận trước hoặc dưới dạng bộ xác thực chuỗi tích hợp), nó sẽ cung cấp các quy tắc xác nhận "bảo mật trung bình" cho hoạt động và chống tổ chức lại;
Bảng sau đây trình bày trực quan đơn giản về các đảm bảo bảo mật tốt nhất mà người dùng có thể có trong các triển khai khác nhau (nghĩa là họ sử dụng các quy tắc xác nhận mạnh nhất hiện có). Cụ thể, chúng tôi tập trung ở đây vào hoạt động và khả năng chống tái tổ hợp (vì chúng tôi giả định rằng chuỗi sẽ chỉ đạt được bằng chứng DAS + về hiệu quả trong hai trường hợp này):
"Bảo mật tối thượng" của Rollup cao hơn "bảo mật thời gian thực" vì chuỗi chính không thể đảm bảo chúng tôi nhanh hơn thời gian khối của chính nó. Mặc dù bạn có thể kiểm tra xem các xác nhận trước của trình sắp xếp có phải là chuyển đổi trạng thái hợp lệ hay không, bạn không thể đảm bảo đầy đủ tính cuối cùng của chúng cho đến khi cuối cùng chúng đạt đến lớp DA.
Nhưng như chúng ta đã thấy, việc triển khai lên một mainchain mạnh mẽ theo kiểu rollup sẽ tăng cường bảo mật. Họ có thể thuê bảo mật với tốc độ của chuỗi chính của họ. Về cơ bản, không có cách nào để có được tất cả các thuộc tính bảo mật của chuỗi chính nhanh hơn sự đồng thuận của chính chuỗi chính.
Tuy nhiên, người dùng có xu hướng thiếu kiên nhẫn. Do đó, Rollup thường sẽ cung cấp xác nhận trước nhanh hơn, nhưng đảm bảo sẽ thấp hơn trong giai đoạn này. Rollup có thể chọn một thiết kế sequencer cân bằng:
Chức năng thực tế và hiệu quả. Ví dụ, các trình tự tập trung có thể cung cấp xác nhận trước nhanh chóng và giảm chi phí hoạt động;
Đảm bảo mạnh mẽ. Ví dụ: một tập hợp các trình tự phi tập trung đáng kinh ngạc có thể cung cấp hoạt động thời gian thực tốt hơn, nhưng với chi phí hoạt động và độ trễ cao hơn (trong trường hợp cực đoan nhất, bạn chỉ cần để lớp DA xử lý thứ tự của bản tổng hợp, chọn không hiển thị đường dẫn nhanh hơn);
Thật thú vị, bạn có thể lập luận rằng các bản tổng hợp đặt hàng L1 ít hoạt động hơn các trình tự tập trung, tùy thuộc vào thang thời gian của bạn. Cho đến nay, chúng ta đã nói về hoạt động, bao gồm nó trong một số loại khái niệm "thời gian hữu hạn". Tuy nhiên, điều này hoàn toàn tương đối và chủ quan. Liên quan đến cái gì? Mất bao nhiêu thời gian?
Bản tổng hợp tuần tự L1 thuần túy sẽ chỉ được bao gồm ở tốc độ của các khối L1 (ví dụ: 10 giây) và bạn không đảm bảo hoạt động giữa các khối này khi thế giới xung quanh bạn thay đổi. Vì vậy, nó phụ thuộc vào điểm chuẩn của bạn:
Nếu baseline = hoạt động bên trong Rollup, L1 tuần tự Rollup có thể cung cấp hoạt động tốt hơn. Không ai khác trong chuỗi nên được hứa hẹn cho đến khi chuỗi chính được xác nhận, vì vậy tất cả các bạn đều bình đẳng;
Nếu đường cơ sở = hoạt động bên ngoài Rollup - Rollup với sơ tuyển mềm có thể cung cấp hoạt động tốt hơn. Xác nhận trước chỉ là một tùy chọn miễn phí và bạn vẫn quay trở lại đảm bảo chuỗi chính ở tốc độ của chuỗi chính, nhưng bạn có thể nhận được đảm bảo yếu hơn trong thời gian chờ đợi. Nếu bạn không tin tưởng họ, chỉ cần đợi xác nhận chuỗi chính. Thế giới không đóng băng giữa các khối Ethereum và đối với nhiều ứng dụng, giá cũ giữa các khối dài có thể không thể chấp nhận được;
Nếu bạn cố gắng thực hiện một bản tổng hợp dựa trên "thực" mà không có xác nhận trước, thậm chí có thể xác nhận trước sẽ xảy ra. Đối với những người tham gia, chẳng hạn như các nhà xây dựng và xác thực Ethereum, có một động lực tài chính để họ tự thực hiện cam kết này. Đây chính xác là lý do tại sao có cuộc thảo luận về cách các nhà xây dựng Ethereum và các bên liên quan đang cố gắng cung cấp xác nhận trước nhanh chóng ở lớp cơ sở.
Đây là một lưu ý quan trọng cuối cùng. Giả sử rằng người dùng Rollup có thể quay trở lại cùng mức độ hoạt động với chuỗi chính, giả sử bạn có thể buộc đưa vào hoàn toàn ở tốc độ của khối chuỗi chính (ví dụ: nếu người đặt hàng Rollup đang xem xét bạn, bạn có thể buộc các giao dịch được đưa vào khối Ethereum tiếp theo của chuỗi chính).
Trong thực tế, thường có một độ trễ ngắn. Nếu bạn cho phép đưa vào bắt buộc ngay lập tức, bạn có nguy cơ phơi bày các MEV kiểm duyệt có lợi cùng với các phức tạp khác. Tuy nhiên, một số thiết kế có thể cung cấp đảm bảo hoạt động gần thời gian thực từ chuỗi chính (ví dụ: có lẽ ở tốc độ của một số khối chuỗi chính thay vì một khối).
Bất kể khoảng thời gian chính xác, hoạt động cuối cùng của việc hấp thụ chuỗi chính là rất mạnh và sử dụng chuỗi chính mạnh làm cơ chế phối hợp cung cấp các mối đe dọa đáng tin cậy và quyền thoát. Chỉ riêng việc phơi bày mối đe dọa đáng tin cậy này khiến cho rất khó có khả năng cần thiết để ngăn chặn hành vi độc hại ngay từ đầu.
Ví dụ: nếu người dùng có một cơ chế đáng tin cậy để buộc thoát hoặc thậm chí buộc phải loại bỏ nhà điều hành, thì trình tự Rollup tập trung không thể tự ý trích tiền thuê từ người dùng và khóa nó lại. Đây là một lĩnh vực chung được thảo luận trong Chris Goes trong bài nói chuyện của anh ấy về MEV Conversion, Cost Edge và Slow Gaming.
Tất nhiên, hoạt động bất ngờ cũng có thể xảy ra, trong trường hợp đó, đường dẫn sao lưu này một lần nữa có thể rất có giá trị.
Bằng chứng không bảo vệ chuỗi, nhưng bảo vệ người dùng
Sau tất cả những điều này, chúng ta có thể thấy rằng đối với một quy tắc xác nhận nhất định, hóa ra việc bảo vệ các "người quan sát" (người dùng) khác nhau của Rollup sẽ chính xác hơn là bảo vệ chính "Bản tổng hợp". Tính bảo mật của "Rollup" không tồn tại như một biện pháp cụ thể duy nhất.
Đảm bảo sự an toàn của người quan sát tất nhiên là điều quan trọng nhất, bởi vì tất cả chúng ta đều là người quan sát chuỗi! Chuỗi này là bất cứ điều gì các nhà quan sát của nó nói. Nếu bạn không thể quan sát nó một cách an toàn, bạn phải tin tưởng người khác (chẳng hạn như người xác minh) để cho bạn biết "sự thật" về nó. Nhưng chúng tôi không muốn tin tưởng, chúng tôi muốn xác minh→ chúng tôi muốn bằng chứng.
Để hiểu tại sao điều quan trọng là phải phân biệt giữa "bằng chứng chuỗi" và "người quan sát chuỗi bằng chứng", hãy xem xét những điều sau:
Nút ánh sáng - Các nút ánh sáng tổng hợp an toàn hơn nếu có bằng chứng, chúng không phải tin tưởng vào tính hợp lệ của lời nói của bất kỳ ai;
Nút đầy đủ - nếu có bằng chứng, tính bảo mật của nút đầy đủ của Rollup sẽ không tăng hoặc giảm, bạn có thể bắt đầu Rollup ("tổng hợp bi quan") mà không cần cầu nối tích hợp hoặc thậm chí bất kỳ bằng chứng nào, nếu bạn bắt đầu gửi bằng chứng về tính hợp lệ, tính bảo mật của nút đầy đủ sẽ không tăng hoặc giảm;
Đã được chứng minh bổ sung bảo mật cho các nhà quan sát chuỗi (tức là các nút ánh sáng) có tính hợp lệ không thể được kiểm tra trực tiếp. Chúng tôi không muốn người dùng phải chạy các full node mạnh mẽ, vì vậy những bằng chứng này rất quan trọng.
Chứng thực bảo mật cầu nối Rollup
Cầu xác minh của Rollup là một người quan sát cực kỳ quan trọng! Bằng chứng đảm bảo an toàn cho cây cầu!
Như với bất kỳ nút ánh sáng điển hình nào, cầu không thể kiểm tra trực tiếp tính hợp lệ của Rollup. Chúng tôi không tin vào đa số trung thực, nhưng bảo vệ cầu nối bằng bằng chứng. Giao thức đồng thuận cho cơ sở dữ liệu A (lớp DA) sắp xếp các blob dữ liệu và sau đó xác minh rằng cầu nối kiểm tra độc lập tính hợp lệ của bản cập nhật tương ứng cho cơ sở dữ liệu B (Rollup):
Cây cầu là một người quan sát một chuỗi khác và mỗi tài sản mà nó đúc luôn mang giả định bảo mật của các quy tắc xác nhận của cây cầu tương ứng. Tính bảo mật của các quy tắc xác nhận của nó có thể có ý nghĩa trên phạm vi rộng. Đó là lý do tại sao việc xây dựng các cầu nối an toàn là rất quan trọng (hoặc lý tưởng nhất là giảm nhu cầu về rất nhiều cầu nối bằng cách mở rộng quy mô thực thi chuỗi đơn hơn nữa ngay từ đầu).
Nếu bạn chạy các nút đầy đủ cho chuỗi, các bên độc hại không thể lừa bạn chấp nhận chuyển đổi trạng thái không hợp lệ. Tuy nhiên, nếu bên độc hại có các quy tắc xác nhận khác nhau, nó vẫn có thể giả mạo cầu nối. Nếu bạn nắm giữ tài sản thế chấp trong cầu nối, thì tiền của bạn có thể không được hỗ trợ. Theo nghĩa này, lỗi bảo mật của cây cầu giả mạo là "truyền nhiễm".
Hãy xem xét một kịch bản giả định cũ về Terra:
Terra có bộ trình xác thực riêng, mã thông báo gốc của nó là LUNA và UST gốc có thể được phát hành;
Osmosis có bộ xác thực riêng và mã thông báo gốc của nó là OSMO.
Chúng tôi có một cầu nối Terra ←→ Osmosis IBC tiêu chuẩn, nơi mỗi bên chạy nút ánh sáng xác thực đồng thuận của chuỗi kia (tức là mỗi bên của cầu phụ thuộc vào đa số trung thực của bộ xác thực của chuỗi kia);
Bạn chạy nút đầy đủ của riêng bạn cho mỗi chuỗi với tư cách là người dùng;
Chúng tôi đề cập đến UST trên cầu thẩm thấu qua IBC là osmoUST;
Chúng tôi gọi OSMO trên Terra bắc cầu qua IBC là terraOSMO;
Bạn sở hữu terraOSMO trên Terra;
Bạn đang làm LP trong một nhóm osmoUST / OSMO trên Osmosis;
Với sự sụp đổ của Terra, giá của LUNA giảm mạnh và cuối cùng, lợi nhuận của tập hợp các trình xác thực về mặt lý thuyết trở nên độc hại sẽ vượt quá giá trị của LUNA được đặt cọc và trình xác thực Terra có thể ký các khối không hợp lệ và thực hiện như sau:
Đúc UST giả → chuỗi chéo để thẩm thấu để đúc osmoUST, sử dụng nó để làm cạn kiệt tất cả các cặp giao dịch osmoUST (ví dụ: lấy tất cả OSMO ra khỏi bể osmoUST / OSMO;
Đúc terraOSMO giả → chuỗi chéo để thẩm thấu để rút tất cả tài sản thế chấp OSMO gốc bị khóa trên Osmosis hỗ trợ terraOSMO, tất cả các terraOSMO còn lại trên Terra bây giờ sẽ không còn được hỗ trợ;
Vâng, bảo mật không thành công ở đây:
Nút đầy đủ (tôi) - nút đầy đủ của tôi nhận ra các khối Terra là không hợp lệ và từ chối chúng, trình xác thực Terra không thể đánh cắp các vị trí terraOSMO hoặc osmoUST / OSMO LP của tôi;
Light node (cầu) - bridge chỉ kiểm tra xem sự đồng thuận của Terra có được ký trên khối hay không (không kiểm tra chuyển đổi trạng thái hợp lệ) để nó không từ chối chúng, trình xác thực Terra có thể đánh cắp tài sản thế chấp OSMO hỗ trợ terraOSMO của tôi và rút tất cả OSMO khỏi nhóm osmoUST / OSMO (để lại một loạt osmoUST vô giá trị);
Cây cầu sử dụng các quy tắc thừa nhận với các giả định tin cậy mạnh mẽ hơn.
Trình xác thực Terra không thể đánh cắp một lượng lớn tài sản của chính Terra từ các nút đầy đủ (chúng sẽ không bị lừa dối), chúng sẽ từ chối các khối này. Tuy nhiên, trình xác thực có thể lừa trình xác thực đồng thuận vào các máy khách nhẹ (bao gồm cả cầu nối), đó là lý do tại sao lỗi đồng thuận ảnh hưởng đến tài sản chuỗi chéo.
Lưu ý rằng điều quan trọng là các lỗi này không "lây nhiễm" phần còn lại của chuỗi, tức là lỗi "lây nhiễm" các tài sản thẩm thấu tiếp xúc với tuyến cầu Terra, nhưng không có lỗi bảo mật trong chính chuỗi thẩm thấu.
Tuy nhiên, rõ ràng chúng tôi muốn kết nối mọi thứ (nói chung, giao tiếp chuỗi chéo), sẽ rất tệ nếu giới hạn bản thân sử dụng tài sản gốc trên chuỗi chính của chúng, chúng tôi cần chuỗi để giao tiếp an toàn và bắc cầu qua chuỗi.
Như một thử nghiệm tưởng tượng, giải pháp đơn giản nhất là để mỗi người dùng chạy các nút đầy đủ của mỗi chuỗi, bao gồm chính cầu nối chuỗi chéo. Hãy nhớ rằng chúng ta đã thấy một số cầu nối full-node được nhúng một chiều:
Các bản tổng hợp Ethereum hiện yêu cầu các nút của chúng chạy các nút đầy đủ của Ethereum và các bản tổng hợp này chia sẻ sự đồng thuận của Ethereum;
Namada (một chuỗi Tendermint riêng biệt, không phải chuỗi Rollup) sẽ yêu cầu các nút của nó chạy các nút đầy đủ của Ethereum, tuy nhiên Namada không đồng ý với sự đồng thuận của Ethereum (tức là nó không xuất bản dữ liệu lên Ethereum hoặc lấy trạng thái của nó dựa trên đó);
Điều này hoạt động cho các nút đầy đủ của Ethereum, nhưng điều này rõ ràng không mở rộng. Bạn không thể bắt đầu có mỗi chuỗi Cosmos chỉ cần chạy các nút đầy đủ cho mọi chuỗi Cosmos khác. Các cầu nối nút đầy đủ hai chiều này không mở rộng quy mô, chúng chỉ làm tăng yêu cầu phần cứng.
May mắn thay, có một tùy chọn có thể mở rộng hơn. Chúng ta có thể triển khai các cầu nối để xác minh đầy đủ tính hợp lệ của trạng thái và DA của một chuỗi khác (ngoài việc vẫn kiểm tra sự đồng thuận).
Hiệu lực nhà nước - Mặc dù IBC hiện đang được sử dụng với bằng chứng đồng thuận truyền thống, nhưng nó có thể được sửa đổi để thêm bằng chứng về tính hợp lệ cho các chuỗi kết nối và bây giờ các cầu nối không bị giả mạo bởi các chuyển đổi trạng thái không hợp lệ. Điều này sẽ ngăn chặn chính xác những gì cuộc tấn công được mô tả trước đó và nếu cây cầu có thể xác minh tính hợp lệ của quá trình chuyển đổi trạng thái, nó sẽ từ chối khối của trình xác thực Terra là không hợp lệ.
Điều này trông rất giống với cách cầu nối Rollup trên Ethereum kiểm tra các bằng chứng Rollup, ngoại trừ việc nó cũng có thể là hai chiều.
DA - Ngoài ra, một chuỗi có thể yêu cầu các nút của nó chạy các nút ánh sáng DAS kết nối chuỗi. Ví dụ: bạn có thể có hai chuỗi Cosmos yêu cầu trình xác thực riêng của chúng để chạy các nút ánh sáng DAS của chuỗi khác (nếu mỗi chuỗi triển khai các máy khách ánh sáng DAS, hiện không được hỗ trợ). Khi điều này được thực hiện, mỗi chuỗi giờ đây có thể biết tính hợp lệ và DA của nhau mà không cần phải chạy các nút đầy đủ.
Đối với Rollup, theo định nghĩa, bạn sở hữu tất cả dữ liệu trên chuỗi chính, vì vậy cầu nối ở đó có thể truy cập nó. Mặt khác, các nút cuộn chạy các nút mainchain.
Chuỗi phụ thuộc và độc lập
Chúng ta hãy xem xét lại năm thuộc tính bảo mật của chúng ta, bây giờ trong bối cảnh quan sát cầu xác minh Rollup của Rollup trên Ethereum:
Tăng trưởng sổ cái - Trình xác thực Ethereum có thể buộc sổ cái của Rollup tiếp tục phát triển (ví dụ: buộc các giao dịch bao gồm);
Chống kiểm duyệt - Trình xác thực Ethereum có thể buộc các nhà khai thác của Rollup không kiểm duyệt vô thời hạn (ví dụ: buộc bao gồm giao dịch hoặc thay thế trình tự);
Chống tái cấu trúc - Chống tái cấu trúc của Rollup có liên quan đến Ethereum. Nếu Ethereum tổ chức lại, thì tất cả các bản tổng hợp trên Ethereum sẽ được tập hợp lại;
Tính khả dụng của dữ liệu - DA của Rollup được đảm bảo vì Rollup theo định nghĩa có nguồn gốc từ dữ liệu được xác nhận bởi sự đồng thuận chuỗi chính (nơi đặt hợp đồng Rollup), Rollup và chuỗi chính chia sẻ sự đồng thuận hợp nhất, DA là điều kiện hợp lệ của chính Ethereum, vì vậy nếu dữ liệu không có sẵn, thì bản thân khối Ethereum không hợp lệ. Cầu nối có thể truy cập dữ liệu trên chuỗi chính mà không cần thêm các giả định tin cậy;
Hiệu lực trạng thái - hợp đồng sẽ kiểm tra bằng chứng hợp lệ của quá trình chuyển đổi trạng thái Tổng hợp (hoặc đợi cửa sổ thử thách vượt qua), điều này chứng minh rằng bản cập nhật trạng thái được khai báo là kết quả hợp lệ của việc áp dụng STF của Bản tổng hợp trên dữ liệu tương ứng được xác nhận trên chuỗi chính;
Lưu ý rằng tính bảo mật của cầu nối không chỉ được tối đa hóa bởi các quy tắc xác nhận siêu mạnh cho các chuỗi bổ sung (ví dụ: cầu nối trình xác thực đầy đủ với chuỗi có bộ xác thực siêu đáng tin cậy). Nếu cầu nối có các giả định bảo mật giống như chuỗi chính, bạn có thể nhận được sự bảo mật cao nhất khi các tài sản gốc chuỗi chéo.
Vitalik cung cấp một ví dụ minh họa hữu ích:
"Bạn chuyển 100 ETH đến một cây cầu bắc qua Solana và nhận được 100 Solana-WETH, và Ethereum bị tấn công 51%. Kẻ tấn công gửi một loạt ETH của họ vào Solana-WETH và sau đó tiếp tục giao dịch ở phía Ethereum ngay sau khi phía Solana xác nhận. Hợp đồng Solana-WETH không còn được hỗ trợ đầy đủ và có thể 100 Solana-WETH của bạn hiện chỉ có giá trị 60 ETH. Ngay cả với một cây cầu dựa trên ZK-SNARK hoàn hảo xác nhận đầy đủ sự đồng thuận, nó vẫn dễ bị tấn công 51% như thế này.
Do đó, việc giữ tài sản gốc Ethereum trên Ethereum hoặc tài sản gốc Solana trên Solana luôn an toàn hơn là giữ tài sản gốc Ethereum trên tài sản gốc Solana hoặc Solana trên Ethereum. Trong bối cảnh này, "Ethereum" không chỉ đề cập đến chuỗi cơ bản mà còn đề cập đến bất kỳ L2 thích hợp nào được xây dựng trên đó.
Nếu Ethereum bị tấn công và phục hồi 51%, Arbitrum và Optimism cũng sẽ phục hồi, vì vậy ngay cả khi Ethereum bị tấn công bởi 51%, các ứng dụng "cross-rollup" lưu trạng thái trên Arbitrum và Optimism được đảm bảo vẫn nhất quán. Nếu Ethereum không bị tấn công 51%, sẽ không có cách nào để thực hiện cuộc tấn công 51% vào Arbitrum và Optimism, tương ứng. Do đó, việc nắm giữ tài sản do Lạc quan dựa trên Arbitrum phát hành vẫn hoàn toàn an toàn.
Bạn có thể thay thế Solana bằng bất kỳ chuỗi nào bạn muốn - ngay cả một chuỗi giả định nơi bạn vượt qua trình xác thực Ethereum về độ tin cậy và về cơ bản, mọi giả định bảo mật đều bổ sung khi bạn nói về tài sản chuỗi chéo với sổ cái hồ sơ của chúng (ví dụ: ETH từ Ethereum) và luôn có khả năng tổ chức lại chuỗi được kết nối hoặc thất bại hoạt động.
Tuy nhiên, các chuỗi có sự đồng thuận hợp nhất (tức là các bản tổng hợp chia sẻ sự đồng thuận của chuỗi chính của chúng) có thể bỏ qua các giả định bảo mật bổ sung này. Các cầu nối chuỗi chéo giữa các khu vực khác nhau này có thể có cùng hoạt động cuối cùng và các đặc tính chống tái tổ hợp như chính chuỗi chính. Sự đồng thuận chung giảm thiểu các giả định tin cậy chuỗi chéo trong vùng bảo mật được chia sẻ đó.
Các giả định bảo mật hợp lý là tùy thuộc vào bạn. Trên thực tế, chưa có sự thất bại đồng thuận tương tự giữa các chuỗi lớn. Điều này sẽ rõ ràng và tốn kém, nhưng nó có thể là một giả định mạnh mẽ hơn về việc kết nối các chuỗi yếu hơn.
Ngoài ra còn có một số nhược điểm để ràng buộc chuỗi Rollup với chuỗi chính. Hãy so sánh hai kịch bản chuỗi chéo, trong cả hai trường hợp, chúng ta có hai chuỗi sử dụng cầu nối chuỗi chéo trình xác thực đầy đủ hai chiều:
Phụ thuộc - chuỗi từ xa (tức là Rollup) chia sẻ sự đồng thuận của chuỗi chính (tức là lớp DA) và lấy trạng thái riêng từ dữ liệu trên chuỗi chính, chuỗi từ xa phải phân nhánh với chuỗi chính và xác định tính cuối cùng của nó dựa trên chuỗi chính;
Độc lập - Các chuỗi này có sự đồng thuận độc lập riêng, chúng không lấy được trạng thái riêng dựa trên dữ liệu trên các chuỗi khác. Chúng không chia sẻ mối quan hệ chuỗi từ xa (tức là Rollup) ←→ chuỗi chính (tức là lớp DA). Họ không tập hợp lại với nhau và không phụ thuộc vào hoạt động của nhau;
Thật thú vị, đây là cả tốt và xấu:
Xấu - Tổ chức lại chuỗi của bạn với các chuỗi khác hoặc gặp lỗi hoạt động thoạt nhìn có vẻ như là một nhược điểm, tại sao chuỗi của tôi gặp sự cố vì chuỗi của bạn bị hỏng?
Tốt - nếu sự phân kỳ này gây ra các vấn đề nghiêm trọng trên chuỗi của bạn, đây thực sự là một lợi ích quan trọng (ví dụ: nếu bạn có một số lượng lớn tài sản chuỗi chéo từ chuỗi nguồn, thì nó sẽ được tổ chức lại từ quan điểm của cầu nối chuỗi chéo của bạn, để lại tài sản thế chấp không được hỗ trợ), chuỗi và cầu nối chuỗi chéo của nó cần phải nhất quán với nhau;
Tương tự như vậy, khóa cửa và tìm kiếm tiền thuê quá mức có tác động tích cực và tiêu cực tiềm ẩn, làm nổi bật lý do tại sao một lớp cơ sở trung lập và chống kiểm duyệt rất quan trọng:
Tốt - Một mainchain tốt bảo vệ người dùng Rollup khỏi các nhà khai thác Rollup ép quá nhiều giá trị ra khỏi họ, thực thi các đặc quyền thoát;
Xấu - Các backchain xấu có thể tùy tiện tăng giá và trích xuất giá trị đó từ Rollup và chính người dùng của nó;
Bằng chứng đệ trình + chạy DAS theo cả hai hướng thay vì chia sẻ một chuỗi chính chung cũng có một số điểm không hiệu quả:
Bạn không muốn yêu cầu nút của mình chạy một loạt các nút ánh sáng DAS của các chuỗi khác và phải thêm các chuỗi mới theo cách thủ công, chạy DAS trên một lớp DA được chia sẻ lớn sẽ hiệu quả hơn nhiều;
Việc mỗi chuỗi xác minh tính hợp lệ cho nhiều chuỗi khác nhau là không hiệu quả, tuy nhiên, về mặt lý thuyết có thể tổng hợp bằng chứng giữa nhiều chuỗi để toàn bộ cụm chuỗi chỉ cần công bố một bằng chứng cho chuỗi;
Có những sự đánh đổi và lợi ích ở đây, nhưng cũng nên nhớ rằng có một con đường phụ thuộc rất lớn vào vị trí của các tài sản thú vị và nếu bạn muốn sử dụng một loạt các tài sản gốc Ethereum (bao gồm cả những tài sản trong Bản tổng hợp của nó), bạn nên root chuỗi của mình trong Ethereum và các cầu nối chuỗi chéo của nó.
Kết luận
"Rollups inheritance security" là một cách viết tắt tốt, nhưng hãy nhớ đây là những điểm chính mà chúng tôi thực sự muốn nói:
Rollup trả tiền thuê cho chuỗi chính của nó, chẳng hạn như Ethereum, cho các tài nguyên mà nó tiêu thụ (DA);
Rollup có thể hiển thị các quy tắc xác nhận với các thuộc tính bảo mật lên đến chuỗi chính (tức là người dùng có thể nhận được các đảm bảo bảo mật giống như khi hoạt động trên chính chuỗi chính);
Người dùng có được các thuộc tính bảo mật chuỗi chính này với tốc độ đồng thuận chuỗi chính;
Nếu người dùng Rollup muốn nhanh hơn xác nhận được cung cấp bởi chuỗi chính, họ có thể sử dụng các quy tắc xác nhận, đưa ra các giả định bảo mật tạm thời bổ sung;
Người quan sát (tức là người dùng) tương tác với Rollup thông qua các quy tắc xác nhận và cầu nối xác minh với giả định tin cậy ít nhất là một người quan sát (tùy chọn nhưng rất có giá trị) như vậy;
Bây giờ, hãy xem xét các lợi ích của việc triển khai Rollup trên chuỗi tích hợp:
An toàn cho người dùng - Cho dù bạn có muốn triển khai bất kỳ cầu nối chuỗi chéo nào hay không, Rollups có thể thuê DA từ chuỗi chính của nó và lấy lại sự đồng thuận của nó, cho phép Rollup hiển thị các quy tắc xác nhận phù hợp với chuỗi chính cho người dùng mà không cần phải đạt được sự đồng thuận của riêng mình;
Bảo mật chuỗi chéo - Rollup có thể xây dựng chuỗi chéo trong miền bảo mật được chia sẻ của chuỗi chính (tức là chính chuỗi chính và Bản tổng hợp của nó) và các thuộc tính bảo mật của nó có thể so sánh với hoạt động trên chính chuỗi chính;
Chúng ta sẽ thấy rằng đây thực sự là hai mặt của cùng một đồng tiền và Rollup chỉ cho phép chuỗi cung cấp các quy tắc xác nhận và bảo mật của nó có thể đạt đến tính bảo mật của chuỗi chính. Cả cầu nối chuỗi chéo và người dùng bình thường đều là người quan sát chuỗi với các quy tắc thừa nhận nhất định. Những cây cầu có lẽ là "người quan sát" quan trọng nhất trong các chuỗi này vì an ninh của chúng có ý nghĩa rộng lớn.
Khi chúng tôi cố gắng tạo ra một hệ thống an toàn, chúng tôi cần quan tâm đến tính bảo mật của các quy tắc xác nhận nhất định cũng như khả năng truy cập của chúng. Nếu hầu hết các nhà quan sát (người dùng) tương tác với các chuỗi này nằm ngoài tầm với, thì các quy tắc xác nhận bảo mật không giúp ích gì nhiều.
Mặc dù ngày nay chúng ta liên kết DAS và bằng chứng về tính hợp lệ với Rollup, nhưng chúng là những khái niệm riêng biệt về mặt logic. Bất kỳ chuỗi nào cũng có thể tích hợp các công nghệ này và sự khác biệt giữa bản tổng hợp là gì hoặc không phải là bản tổng hợp bắt đầu bị phá vỡ ở cuối trò chơi (tức là đối với một bản tổng hợp tích hợp duy nhất, nó có thể có các lớp DA và thực thi riêng biệt một cách hợp lý trong một giao thức).
Tuy nhiên, các lớp "tổng hợp truyền thống" và DA rõ ràng thống trị các công nghệ xác minh và mở rộng quy mô này ngày nay.
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
20.000 từ: Cuộc tranh luận bảo mật Rollups
Rollups có kế thừa bảo mật không?
Ban đầu được viết bởi Jon Charbonneau
Ban đầu được biên soạn bởi Frank, Foresight News
Giới thiệu
Dù muốn hay ghét nó, Twitter có lẽ sẽ không bao giờ ngừng tranh cãi về việc liệu "L2" hay Rollup là "kế thừa bảo mật".
Mặc dù hầu hết các cuộc tranh luận là những trận chiến ngữ nghĩa không thể nhận thấy, nhưng nếu bạn cố gắng thu hẹp lập luận, các điểm cơ bản rất có giá trị vì chúng chạm vào các câu hỏi cốt lõi về thời gian, địa điểm và lý do tại sao Rollup có ý nghĩa.
L2 có thể mở rộng có loại bỏ nhu cầu về L1 trên thị trường không? Có thể biến L1 như Solana thành L2 không?
Những cuộc tranh luận này chủ yếu tập trung vào các vấn đề an ninh. Thật không may, định nghĩa về "bảo mật" ở đây luôn rất khó nắm bắt. Chúng ta thường sử dụng thuật ngữ này một cách tình cờ và hầu hết mọi người biết đại khái những gì chúng ta đang nói, nhưng không hoàn toàn. Ở đây chúng tôi sẽ chia nhỏ bảo mật một cách chi tiết trên các kiến trúc khác nhau.
Định nghĩa từ thông dụng
Tổng hợp
Trước đây tôi đã sử dụng định nghĩa sau đây về Mustafa: "Rollup là một blockchain xuất bản các khối của nó sang một blockchain khác và kế thừa sự đồng thuận và tính khả dụng của dữ liệu (DA) của blockchain đó".
Sau đây là một định nghĩa tổng quát hơn được đưa ra bởi James Prestwich: "Rollup là một cách để chọn tham gia vào một cơ chế đồng thuận khác bằng cách tùy chỉnh các hàm chuyển đổi trạng thái và duy trì trạng thái siêu tập hợp."
Cả hai đều không yêu cầu cầu nối xác minh và khả năng xây dựng các cầu nối chuỗi chéo với các giả định tin cậy tối thiểu là một lợi ích chính của Rollup, nhưng phân tích chúng một cách riêng biệt là rất quan trọng.
Chúng ta có thể xem xét các tiêu chí tổng hợp sau:
Nút Rollup xác định trạng thái của Rollup trên kết quả đồng thuận chuỗi chính (chẳng hạn như chuỗi chính xác nhận thứ tự và tính khả dụng của các khối dữ liệu) bằng cách áp dụng hàm chuyển đổi trạng thái riêng (STF).
Cầu nối chuỗi chéo
Cầu nối chuỗi chéo là một hệ thống cho phép hai blockchain giao tiếp với nhau. Chuỗi A (chuỗi đích) cần tự tin rằng có điều gì đó đã xảy ra trên chuỗi B (chuỗi nguồn) và ngược lại. Lý tưởng nhất là chúng tôi muốn giao tiếp này là hai chiều, với các thuộc tính bảo mật tương quan chặt chẽ (ví dụ: độ tin cậy cao rằng thông điệp là hợp lệ, chuỗi nguồn sẽ không bị hoàn tác, v.v.).
Về cơ bản, cầu nối chuỗi chéo hoạt động như một "người quan sát" của một blockchain khác (giống như bất kỳ người dùng thông thường nào khác). Cầu nối chuỗi chéo thực hiện một quy tắc xác nhận nhất định theo đó nó bị thuyết phục về trạng thái của chuỗi được kết nối (ví dụ: có bao nhiêu khối Ethereum phải vượt qua để chấp nhận đầu vào chuyển).
Cầu nối từ chuỗi chính → Rollup
Hướng này rất đơn giản, vì nút Rollup xác minh đầy đủ chuỗi chính.
Các nút tổng hợp biết mọi thứ xảy ra trên chuỗi chính, vì vậy chúng biết khi nào các giao dịch bắc cầu chuỗi chéo xảy ra và nút đầy đủ Ethereum Rollup hiện tại cũng phải chạy nút đầy đủ cho chính lớp cơ sở Ethereum.
Lưu ý rằng các nút Rollup cũng có thể chạy một nút ánh sáng trình xác thực đầy đủ của chuỗi chính của chúng, nếu được hỗ trợ. Hãy xem xét một ví dụ giả định trong đó Ethereum đã thực hiện đầy đủ các nâng cấp sau:
Bây giờ, giả sử bạn muốn chạy một nút đầy đủ cho bản tổng hợp dựa trên Ethereum, để tuân theo chuỗi tổng hợp hợp lệ, bạn phải hiểu chuỗi chính tắc của Ethereum, yêu cầu kiểm tra sự đồng thuận và tính hợp lệ của chính Ethereum:
Các nút tổng hợp phải kiểm tra tính hợp lệ trạng thái và DA của lớp thực thi riêng của Ethereum, vì đây là các điều kiện hợp lệ cho các khối Ethereum. Nút Rollup cần biết rằng nó không chỉ theo dõi Ethereum nơi sự đồng thuận đã được ký mà còn là một tiêu đề khối hợp lệ. Ví dụ: họ có thể vô tình theo dõi các khối Ethereum được ký đồng thuận nhưng không hợp lệ (ví dụ: nó tạo ra rất nhiều ETH).
Nếu lớp thực thi cơ bản tự xuất bản dữ liệu của nó lên lớp DA (giống như các bản tổng hợp khác) và thêm tính hợp lệ hoặc bằng chứng thất bại, thì nó sẽ trở thành một bản tổng hợp tích hợp.
Cầu nối từ Rollup → chuỗi chính
Hướng này rất phức tạp, vì chuỗi chính không biết trạng thái của Rollup và STF theo mặc định (tức là các nút Ethereum không cần chạy các nút Rollup). Để chuỗi chính tin vào trạng thái của bản tổng hợp, bạn có thể triển khai logic của bản tổng hợp trong hợp đồng thông minh được triển khai trên chuỗi chính (tức là hợp đồng cầu nối xác minh của bản tổng hợp). Hợp đồng thông minh này kiểm tra tính hợp lệ của trạng thái DA và Rollup.
Một lần nữa, cầu nối chuỗi chéo này là tùy chọn. Hợp đồng thông minh trên chuỗi chính được sử dụng để thuyết phục tất cả các nút chuỗi chính về tính hợp lệ của Rollup, cho phép giao tiếp hai chiều theo các giả định tin cậy tốt.
Bản tổng hợp, Bộ đồng xử lý và Ý định
Như đã thảo luận, Rollups lưu một số trạng thái của riêng chúng (trạng thái của Rollup) ngoài việc sở hữu trạng thái của chuỗi chính của chúng (ví dụ: Ethereum). Vì vậy, CoW Swap có trạng thái riêng không phải là một phần của trạng thái Ethereum không? Nếu có, thì nó có vẻ giống như một rollup. Nếu không, thì nó có thể là một "bộ đồng xử lý".
Tuy nhiên, ngay cả câu hỏi này cũng không đơn giản như vẻ ngoài của nó:
Thay vào đó, bạn có thể nghĩ rằng yếu tố phân biệt là sự bền bỉ của nhà nước:
Nếu CoW Swap cho phép những người tham gia cụ thể cung cấp cho người dùng xác nhận trước nhanh chóng (nhanh hơn thời gian khối của Ethereum) và hứa hẹn các đơn đặt hàng bao gồm các lô – vì quá trình xử lý hàng loạt Ethereum mất nhiều thời gian hơn hầu hết người dùng mong muốn, thì bây giờ nó có phải là một bản tổng hợp không?
Chris Goes đã đề cập đến chủ đề này trong bài nói chuyện của mình tại Hội nghị thượng đỉnh mô-đun, bắt đầu với một định nghĩa gần đúng về ý định: "cam kết của một hàm ưu tiên cho một không gian trạng thái hệ thống nhất định."
Lưu ý sự tương đồng giữa độ phân giải một phần (mục đích khớp) và sắp xếp tổng hợp. Nhà điều hành nhận được tin nhắn đã ký ngoài chuỗi của người dùng → xuất bản dữ liệu kết quả lên chuỗi chính.
Kiến trúc tập trung vào mục đích và kiến trúc tập trung vào Rollup đạt được các mục tiêu tương tự từ các hướng ngược nhau. Cách tiếp cận tập trung vào mục đích giải quyết vấn đề này một cách rộng rãi từ quan điểm của người dùng và ứng dụng, và cách tiếp cận tập trung vào Rollup giải quyết vấn đề này một cách rộng rãi từ quan điểm của các blockchain khác nhau.
Ở đây, không quan trọng để thiết lập ranh giới phân biệt cụ thể. Hơn nữa, chúng tôi thấy rằng Rollup thực sự không khác nhiều so với các ứng dụng mà chúng tôi đã quen với kết hợp mục đích ngoài chuỗi!
Bạn dựa vào những người tham gia ngoài chuỗi (trình sắp xếp so với bộ giải / chất độn, v.v.) để có được một số đảm bảo yếu hơn, chẳng hạn như cung cấp khả năng thực thi tốt nhất và trải nghiệm người dùng tốt → xác định kết quả dựa trên dữ liệu được xuất bản cho chuỗi chính. Tuy nhiên, họ không giữ tiền của bạn trong sự giam giữ.
Khi tính toán ngoài chuỗi có thể kiểm chứng trở nên quan trọng hơn, ranh giới giữa hai có thể trở nên mờ:
Nếu bạn muốn người giải quyết ý định hoặc trình sắp xếp thứ tự tổng hợp ít đáng tin cậy hơn...
Blockchain mô-đun và blockchain nguyên khối
Các blockchain nguyên khối (hay còn gọi là blockchain tích hợp) thường được định nghĩa là các chuỗi tích hợp theo chiều dọc tất cả các chức năng cốt lõi, tức là đồng thuận, DA và thực thi. Họ chịu trách nhiệm hoàn toàn về sự an toàn của chính mình, và Solana và Cosmos Hub là những ví dụ điển hình.
Các lớp DA (như Ethereum và Celestia) thường được gọi là các blockchain "mô-đun" vì chúng thuê ngoài thực thi cho Rollup, nhưng điều này không hoàn toàn chính xác. Họ cũng chịu trách nhiệm độc lập về sự đồng thuận, DA và thực thi của chính họ.
Ngay cả việc thực hiện Celestia cũng sẽ bị hạn chế (ví dụ: chuyển nhượng, đặt cược, chuỗi chéo). Tương tự, nếu ai đó bắt đầu Rollup trên Solana, nó sẽ không trở thành một blockchain "mô-đun" một cách kỳ diệu.
Vì vậy, khi bạn nghe mọi người gọi các chuỗi như Ethereum hoặc Celestia là các blockchain "mô-đun", hãy nhận ra rằng đây là một sự khác biệt thực tế hơn là một kỹ thuật nghiêm ngặt. Cả hai thường tối ưu hóa kiến trúc của riêng mình để hỗ trợ Rollup. Các bản tổng hợp này dự kiến sẽ xử lý hầu hết việc thực hiện giao dịch trong phạm vi của chúng.
Ngay cả Rollup cũng không nhất thiết phải hoàn toàn là "mô-đun" – trình sắp xếp chuỗi Rollup có thể đồng ý về trình tự giao dịch, cung cấp DA và thực hiện các giao dịch trước khi chuỗi chính làm bất cứ điều gì. Đây là cách người dùng được xác nhận trước. Chuỗi chính sau đó cung cấp một cam kết "cuối cùng" khác, một lần nữa tuyên bố DA và sự đồng thuận về thứ tự các giao dịch của Rollup.
Bản tổng hợp và chuỗi tích hợp
Đối với mục đích của chúng tôi, sự khác biệt quan trọng hơn là "Rollup" hoặc "Non-Rollup". Trạng thái cuối cùng của chuỗi có bắt nguồn từ dữ liệu được xuất bản đến một chuỗi chính riêng biệt (tức là lớp DA) không?
Mặc dù ngày nay chúng ta liên kết DAS và tính hợp lệ / bằng chứng thất bại với các bản tổng hợp truyền thống, chúng ta nên lưu ý rằng đây là những khái niệm khác nhau về mặt logic. Về lý thuyết, bất kỳ "chuỗi tích hợp" nào (chẳng hạn như chuỗi ứng dụng Cosmos điển hình) có thể được nâng cấp để thêm DAS và bằng chứng về tính hợp lệ mà không phải xuất bản dữ liệu của nó lên các chuỗi chính bên ngoài khác như Ethereum. Nút sẽ lấy mẫu và kiểm tra chuỗi riêng biệt.
Vitalik nói về sự khác biệt này trong Endgame của mình:
Bạn có thể nhận thấy rằng một "blockchain lớn truyền thống" (chuỗi tích hợp) với DAS + tính hợp lệ / bằng chứng thất bại có thể trông giống như một "bản tổng hợp được lưu ý"! Tương tự, "một bản tổng hợp có thể mở rộng và chiếm ưu thế" có thể trở nên thành công đến mức nó chỉ đơn giản là hợp nhất với chuỗi chính của nó để phù hợp với bản tổng hợp đó.
Ranh giới của sự phân biệt trở nên mờ nhạt ở giới hạn.
Do đó, nếu bạn tin rằng hiệu quả / bằng chứng thất bại của DAS + là kết quả cuối cùng, thì "Rollup" theo một nghĩa nào đó là không thể tránh khỏi. Có một sự khác biệt hợp lệ giữa hai phương pháp trong sơ đồ trước:
Khi chúng ta nói về "Rollup" trong báo cáo này, chúng ta đang đề cập đến cái trước (tức là không phải là chuỗi tích hợp với DAS + tính hợp lệ / bằng chứng thất bại, có thể được gọi là Rollup tích hợp).
Mặc dù Rollup "truyền thống" không có độc quyền về DAS hoặc bằng chứng (tức là các blockchain lớn tích hợp có thể thêm chúng), lưu ý rằng chúng tôi đang bỏ qua rất nhiều chi tiết kỹ thuật ở đây và bạn không thể chỉ chọn Solana và quyết định "Ồ, tôi đoán chúng tôi sẽ thêm DAS ngay hôm nay".
Điều này đòi hỏi phải tái cấu trúc cơ bản giao thức để bắt đầu tiến gần hơn đến những gì chúng ta đang thấy Ethereum và Celestia đang làm:
Thay đổi cách mã hóa dữ liệu để hỗ trợ DAS sẽ tương đương với việc làm chậm quá trình mã hóa và lan truyền khối, bắt đầu tiến gần hơn đến lớp DA truyền thống:
Vì lý do này, chúng tôi thấy nhóm xây dựng như sau:
Tuy nhiên, nếu bạn tách thời gian của các đoạn nhanh và DAS, chúng không nhất thiết phải tương thích. Ví dụ: bạn có thể tưởng tượng một chuỗi như Solana cung cấp hai đường dẫn khác nhau:
Anatoly thảo luận trong podcast về cách Eclipse mang Ethereum, Celestia và Solana lại với nhau và từ đầu kia của quang phổ, bạn có thể tưởng tượng lớp DA thêm một đường dẫn nhanh hơn trước khi cung cấp dữ liệu để lấy mẫu:
Cung cấp hai đường dẫn trong cùng một giao thức lớp cơ sở có hiệu quả nội bộ hóa việc sắp xếp chia sẻ nhanh, cung cấp một thiết kế thú vị dựa trên Rollup. Lưu ý rằng tại thời điểm này đây vẫn là một ý tưởng rất thăm dò.
Xác nhận quy tắc
Với nền tảng đó, bây giờ chúng ta có thể bắt đầu phá vỡ các thuộc tính bảo mật của các kiến trúc khác nhau này.
Đầu tiên, các nút tương tác với bất kỳ blockchain nào bằng cách chạy "quy tắc xác nhận":
"Quy tắc xác nhận đề cập đến thuật toán được chạy bởi một nút để xuất ra liệu một khối có được xác nhận hay không. Trong trường hợp này, theo các giả định nhất định, chủ yếu liên quan đến việc đồng bộ hóa mạng và tỷ lệ cổ phần trung thực, khi các điều kiện này được đáp ứng, khối sẽ được đảm bảo rằng việc tổ chức lại sẽ không bao giờ xảy ra ".
Có thể có bất kỳ số lượng quy tắc xác nhận nào cho một chuỗi nhất định:
Bởi vì mỗi quy tắc xác nhận có thể đưa ra các giả định rất khác nhau, chúng có thể có các thuộc tính bảo mật rất khác nhau ngay cả khi tương tác với cùng một chuỗi:
Sự phân biệt này là tinh tế nhưng quan trọng:
Bảo mật = Bảo mật + Hoạt động
Bây giờ chúng ta hãy đi sâu vào việc liệu Rollup có "kế thừa bảo mật" từ chuỗi chính của nó hay không.
Kế thừa, và có lẽ rõ ràng hơn, Rollup luôn "thuê" thay vì "thừa kế" bất cứ thứ gì trong chuỗi chính của nó, trả chi phí liên tục cho các tài nguyên tiêu thụ (DA) và một trong hai bên có thể chọn kết thúc mối quan hệ. Nhưng đó không phải là phần thú vị của vấn đề.
Bảo mật, từ bây giờ chúng tôi sẽ tập trung vào bảo mật. Bảo mật của một thuật toán bao gồm An toàn và Sống:
Sử dụng framework tuyệt vời của Sreeram, chúng ta có thể chia nhỏ chúng thành năm thuộc tính hoạt động cùng nhau để đảm bảo các quy tắc xác nhận:
Hãy xem xét một ví dụ về chuỗi tích hợp giả định với DAS + tính hợp lệ / bằng chứng thất bại. Dữ liệu của nó không được công bố cho bất kỳ chuỗi chính bên ngoài nào khác. Để đơn giản, chúng tôi giả định hoàn tất ngay lập tức (ví dụ: Tendermint), vì vậy không có sự phân biệt có thể sử dụng được giữa sổ cái có sẵn và sổ cái cuối cùng (ví dụ: Gasper của Ethereum).
Chúng tôi sẽ xem xét ba quy tắc xác nhận có thể được sử dụng để theo dõi chuỗi bằng các loại nút khác nhau:
Xác nhận rằng quy tắc có thuộc tính bảo mật, chuỗi thì không
Một lần nữa, "chúng tôi nói một cách thông tục rằng một chuỗi là an toàn, nhưng trên thực tế nó là một quy tắc xác nhận gắn liền với thuộc tính bảo mật".
Hãy xem xét một số ví dụ.
Định lý CAP
Để làm nền tảng, định lý CAP cho chúng ta biết rằng không có sổ cái nào có thể thỏa mãn cả hai điều kiện này cùng một lúc:
Khả năng thích ứng (hay còn gọi là tính khả dụng động) - duy trì hoạt động với sự tham gia năng động (tức là nếu hầu hết các nút ngoại tuyến); Tính cuối cùng (hay còn gọi là tính nhất quán) - giữ an ninh dưới các phân vùng mạng;
Các giao thức đồng thuận có xu hướng được chia thành hai phần, mỗi phần thỏa mãn một trong các điều kiện trên:
Quy tắc xác nhận Bitcoin
Sự đồng thuận của Bitcoin không cung cấp bất kỳ kết thúc kinh tế cứng nào.
Các nút quan sát chuỗi dài nhất trong chế độ xem cục bộ của chúng và mỗi người dùng có thể tự do áp dụng bất kỳ quy tắc xác nhận nào họ thích (ví dụ: chấp nhận các khối với xác nhận >k). Tiêu chuẩn là đợi 6 khối được xác nhận, nhưng tùy thuộc vào bạn.
Đối với các giao dịch có giá trị cao hơn, việc chờ đợi lâu hơn là hợp lý. Có một sự đánh đổi giữa thời gian chờ đợi và an ninh, tức là khả năng tổ chức lại.
Quy tắc xác nhận Ethereum
Sự đồng thuận PoS của Ethereum (Gasper) thoạt nhìn có vẻ bỏ qua định lý CAP. Tuy nhiên, nó thực hiện hai thuộc tính này vì nó chứa hai sổ cái lồng nhau:
Gasper thuộc họ giao thức "ebb-and-flow" (còn được gọi là double ledger hoặc double confirmation rule). Thiết kế hai sổ cái nằm ngoài phạm vi của định lý CAP (tức là nó giả định một quy tắc xác nhận duy nhất). Khi mạng được phân vùng, sổ cái cuối cùng tụt lại phía sau sổ cái thích ứng, nhưng nó bắt kịp khi mạng được sửa chữa.
Điều này cho phép sự đánh đổi giữa khả năng thích ứng và tính cuối cùng được giải quyết ở cấp độ người dùng thay vì ở cấp độ toàn hệ thống. Đây là một đặc điểm của giao thức "chuỗi điểm kiểm tra dài nhất" được đề xuất bởi định lý CAP blockchain về khả năng thích ứng và tính cuối cùng mà người dùng có thể dựa vào. Các giao thức này cung cấp cho người dùng cá nhân sự lựa chọn giữa tính cuối cùng và khả năng thích ứng, thay vì áp đặt nó ở cấp độ hệ thống tổng thể.
Gasper phơi bày rõ ràng hai quy tắc xác nhận khác nhau, được ánh xạ đến hai sổ cái được đề cập ở trên:
Như đã thảo luận trong bài báo:
"Các quy tắc thích ứng lạc quan hơn luôn xác nhận các khối được đánh dấu là hoàn thiện bởi các quy tắc bảo thủ hơn và có thể xác nhận nhiều khối hơn trong các mức độ tham gia thay đổi. Khách hàng (người dùng) chọn cục bộ giữa các quy tắc xác nhận dựa trên sở thích cá nhân, trong khi các thợ đào tuân theo các quy tắc đề xuất khối cố định phù hợp với hai quy tắc xác nhận này ".
Điều này cho phép tất cả các nút (trung thực) trong hệ thống:
Trình xác thực tiếp tục kéo dài chuỗi dài nhất (khai thác các khối mới ở độ cao ngày càng tăng), bất kể mức độ tham gia, nhưng chỉ khi có đủ sự tham gia, các điểm kiểm tra mới sẽ xuất hiện.
Chuỗi dài nhất (chứa điểm kiểm tra gần đây nhất) có thể xen kẽ giữa các chuỗi khác nhau (tức là lắp ráp lại các khối không hoàn chỉnh), nhưng điểm kiểm tra được đảm bảo nằm trên một chuỗi duy nhất bất kể điều kiện mạng (tức là tính cuối cùng).
Tính bảo mật của người dùng phụ thuộc vào các quy tắc xác nhận mà họ tuân theo. Có một sự đánh đổi giữa xác nhận khối nhanh và đảm bảo bảo mật mạnh mẽ hơn. Người dùng bán cà phê có thể thích hoạt động hơn bảo mật, nhưng người dùng bán du thuyền có thể thích bảo mật hơn hoạt động.
Các nút Ethereum cũng có thể áp dụng một số phương pháp phỏng đoán quy tắc xác nhận trung gian khác cho các mục đích thực tế. Thay vì sử dụng các khối k ngây thơ như một quy tắc xác nhận thích ứng, như Bitcoin, chúng ta có thể thêm các phỏng đoán khác bao gồm các giả định về đồng bộ hóa mạng và tính trung thực của trình xác thực.
Đây chính xác là những gì được đề xuất trong Quy tắc xác nhận giao thức đồng thuận Ethereum, đề xuất các quy tắc xác nhận với các thuộc tính sau:
Quy tắc xác nhận này không thay thế cho sự cuối cùng của nền kinh tế. Thay vào đó, nó cung cấp heuristics hữu ích cho những người dùng tin rằng đồng bộ hóa mạng sẽ vẫn còn trong tương lai gần. Hãy so sánh hai:
Hãy xem xét một số ví dụ, chẳng hạn như nếu bạn bán du thuyền với giá 2,5 triệu đô la ETH, đây là một số quy tắc xác nhận có thể:
Rollup xác nhận các quy tắc
Như với bất kỳ chuỗi nào, các nút tương tác với Rollup bằng cách sử dụng các quy tắc xác nhận khác nhau. Các quy tắc xác nhận mạnh nhất của Rollup sẽ được hoàn thiện cùng với sự đồng thuận của chuỗi chính của nó. Trình tự tổng hợp có thể hiển thị các quy tắc xác nhận yếu hơn để có trải nghiệm người dùng tốt hơn (tức là cung cấp xác nhận trước nhanh chóng cho người dùng thiếu kiên nhẫn), nhưng người dùng cũng có thể đợi bảo mật đầy đủ của các quy tắc xác nhận chuỗi chính.
Một luồng giao dịch Rollup điển hình trông như thế này:
Sau khi dữ liệu giao dịch được công bố lên chuỗi chính:
Người dùng cũng có thể xác nhận giao dịch nhanh hơn bằng cách tin tưởng trình sắp xếp để xác nhận trước, ngay cả trước khi liên kết chính nhận được dữ liệu. Nếu trình sắp xếp chuỗi hoạt động không chính xác, bảo mật có thể thất bại. Sau đó, khi dữ liệu nằm trên chuỗi chính (và bạn đã kiểm tra tính hợp lệ của DA +), chỉ có lỗi mainchain (chẳng hạn như tổ chức lại Ethereum) sẽ ảnh hưởng đến bảo mật của bạn.
Do đó, ngay cả những người đặt hàng tập trung cũng không thực sự làm giảm tính bảo mật của "Rollup". Bạn luôn nhận được bảo mật tuân thủ các quy tắc xác nhận bạn cần. Cho dù Rollup có thiết kế dựa trên sequencer hay thiết kế khác, bạn có thể sử dụng các quy tắc xác nhận tương tự (ví dụ: đợi chuỗi chính được hoàn tất và kiểm tra tính hợp lệ của Rollup). Giả sử thực hiện đúng (ví dụ: thực thi bao gồm giao dịch thông qua chuỗi chính), bạn có thể nhận được các thuộc tính bảo mật tương tự trong cùng một khung thời gian trong khi vẫn giữ nguyên các điều kiện khác.
Tương tự, bạn có thể tưởng tượng rằng các nhà sản xuất khối Ethereum L1 cung cấp xác nhận trước do thời gian khối chậm, điều này không làm cho "Ethereum" kém an toàn hơn. Bạn chỉ cần quyết định có nên sử dụng quy tắc xác nhận khác (kém an toàn hơn) hay không cho đến khi trình xác thực Ethereum hoàn tất bảo mật cao hơn.
Ý tưởng xác nhận trước rất phù hợp với logic của Gasper được mô tả bởi Vitalik:
Nguyên tắc chung là bạn muốn cung cấp "càng nhiều sự đồng thuận càng tốt" cho người dùng: nếu có > 2/3, thì chúng tôi đạt được sự đồng thuận một cách thường xuyên, nhưng nếu có < 2/3, thì không có lý do gì để trì hoãn mà không cung cấp bất cứ điều gì, bởi vì rõ ràng chuỗi sẽ tiếp tục phát triển mặc dù mức độ bảo mật tạm thời thấp hơn của khối mới. Nếu một ứng dụng không hài lòng với mức độ bảo mật thấp hơn, vui lòng bỏ qua các phần này cho đến khi chúng được hoàn thiện.
Đặt tất cả những điều này lại với nhau, khi tất cả các quy tắc xác nhận đồng ý về cùng một trạng thái của sổ cái cùng một lúc, chúng ta có một "khu vực nhất quán":
Xác nhận quy tắc - bảo mật và khả năng truy cập
Nếu quy tắc xác nhận của bạn là tin tưởng một trình sắp xếp duy nhất do SBF điều hành, thay vì trình sắp xếp chuỗi phi tập trung được tạo thành từ các trình xác thực uy tín nhất thế giới, thì bảo mật của bạn có thể tồi tệ hơn và lỗi hoạt động và tổ chức lại là lỗi bảo mật.
Ngoài ra, bạn có thể đợi các quy tắc xác nhận mạnh hơn (mainchain) có sẵn. Sau đó, tất cả những thứ khác đều bình đẳng, một trình sắp xếp thứ tự không đáng tin cậy sẽ không ảnh hưởng đến bảo mật của bạn. Nếu bạn đang bán cà phê, có lẽ bạn sẽ đi ngay lập tức, nhưng nếu bạn đang bán du thuyền, bạn sẽ cần kiểm tra kỹ xác nhận chuỗi chính.
Tuy nhiên, nếu mọi người thực sự sử dụng quy tắc xác nhận đó để bán du thuyền của họ, chúng ta không thể hoàn toàn bỏ qua mức độ an toàn thấp tiềm ẩn của quy tắc xác nhận "người ngẫu nhiên tin tưởng chạy một trình tự riêng biệt". Thiết kế chính xác dựa trên sự cân bằng về mức độ cam kết tiến bộ cần thiết trong thời gian nào cho một trường hợp sử dụng nhất định.
Một lần nữa, điều này chạm vào những lời chỉ trích thực sự về các blockchain thông lượng cao như Solana. Mọi người thực sự có thể sử dụng quy tắc xác nhận nào? Bạn có thể có điều kiện bảo mật tốt để chạy các nút đầy đủ của Solana, nhưng hầu hết mọi người có thể không có quyền truy cập vào quy tắc xác nhận đó (tức là tùy thuộc vào yêu cầu tài nguyên và / hoặc chi phí).
Xác minh trực tiếp (nghĩa là không chỉ tin tưởng đa số trung thực) là một thuộc tính cốt lõi của các hệ thống này. Vì vậy, đối với một quy tắc xác nhận nhất định, chúng tôi thực sự quan tâm đến hai khía cạnh - bảo mật và khả năng truy cập:
Trong một từ:
Trên thực tế, khi chúng tôi nói rằng một chuỗi nhất định là an toàn, chúng tôi đang cố gắng thể hiện quan điểm rằng các quy tắc xác nhận liên quan của nó vừa an toàn vừa có thể truy cập được.
Rollups với bảo mật chuỗi tích hợp
1, chuỗi tích hợp với bằng chứng về tính hợp lệ của DAS +
Bây giờ chúng ta đang thấy rằng bảo mật liên quan đến DA và tính hợp lệ của trạng thái có thể được kiểm tra trực tiếp bằng mật mã (DAS + tính hợp lệ / bằng chứng thất bại) mà không cần đưa ra giả định mạnh mẽ về các nhà khai thác chuỗi. Bất kỳ giao thức nào về mặt kỹ thuật cũng có thể thực hiện những điều này. Các nút đầy đủ cũng có thể kiểm tra DA và tính hợp lệ của trạng thái mà không cần các giả định bên ngoài.
Bây giờ hãy tập trung vào các thuộc tính khác - hoạt động và khả năng chống tái tổ hợp. Như chúng ta đã thấy trước đó, những điều này có thể thất bại bất kể bạn chạy loại quy tắc xác nhận nào. Hãy xem xét một chuỗi tích hợp khác chứng minh tính cuối cùng của hiệu quả DAS + của ổ cắm đơn + PoS:
Chọn các quy tắc xác nhận mạnh mẽ đặc biệt hiệu quả đối với một tập hợp con các lỗi bảo mật, trong đó ngay cả hầu hết các trình xác thực độc hại cũng không thể lừa các nút đầy đủ hoặc các nút ánh sáng xác thực đầy đủ tin rằng:
Cho dù Ethereum có 1 trình xác thực hay vô số trình xác thực, tất cả các nút ít nhiều tin vào DA hoặc tính hợp lệ của khối, chúng được đảm bảo bằng cách kiểm tra. Các nút ánh sáng xác thực đầy đủ có thể được kiểm tra theo cách đơn giản hơn (nhưng lưu ý rằng DAS đưa ra một số giả định khác, chúng ta sẽ thảo luận sau).
Tuy nhiên, phần lớn các trình xác thực độc hại có thể ngăn sổ cái phát triển, kiểm duyệt bạn hoặc tổ chức lại chuỗi (lỗi xảy ra phụ thuộc vào quy tắc xác nhận). DAS + ZK sẽ không cứu bạn. Khả năng chống lại việc tổ chức lại và hoạt động luôn phụ thuộc ở một mức độ nào đó vào các thuộc tính cơ bản khác nhau của một chuỗi nhất định (ví dụ: các nhà khai thác đáng tin cậy, khuyến khích kinh tế, đồng thuận xã hội, v.v.).
Ít rõ ràng hơn, hoạt động và khả năng chống lại việc tổ chức lại vẫn là các thuộc tính của một quy tắc thừa nhận nhất định, vì mỗi nút phải chịu cùng một cuộc tấn công như trong bảng trên. Bất kể các quy tắc xác nhận ở đây, họ có cùng một đảm bảo.
Tuy nhiên, điều này trở nên rõ ràng một lần nữa khi bạn loại bỏ giả định cuối cùng một khe. Trong Gasper của Ethereum, tùy thuộc vào sổ cái bạn theo dõi (tức là sổ cái chuỗi dài nhất hoặc điểm kiểm tra có sẵn), bạn sẽ lại có các thuộc tính chống tổ chức lại và hoạt động khác nhau. Hầu hết các trình xác thực độc hại gây ra các lỗi bảo mật khác nhau tùy thuộc vào quy tắc xác nhận bạn chạy.
Trong mọi trường hợp, vấn đề là việc xây dựng cơ bản của chuỗi là rất quan trọng ở đây. Bạn cần các nhà khai thác mạnh mẽ, khuyến khích kinh tế và sự đồng thuận xã hội để giữ cho chuỗi hoạt động và chống lại việc tái cấu trúc. Ngoài ra, các giao thức đồng thuận sổ cái kép như Ethereum cung cấp cho người dùng sự linh hoạt có giá trị để tính toán tính khả dụng và tính cuối cùng theo nhu cầu của họ.
2, Bằng chứng tổng hợp sử dụng DAS + tính hợp lệ
Bây giờ hãy sửa đổi ví dụ này một chút:
Bạn sẽ nhận thấy rằng Rollup có hai loại quy tắc xác nhận hoàn toàn riêng biệt cho các khung thời gian khác nhau (tức là cho dù bạn đang hoạt động dựa trên sự đồng thuận trước của trình sắp xếp hay chờ sự đồng thuận cuối cùng của chuỗi chính), bây giờ chúng ta hãy xem xét từng đường dẫn.
Đường dẫn nhanh - Trước sự đồng thuận chuỗi chính
Các nút tổng hợp có thể dựa vào xác nhận từ trình sắp xếp chuỗi (trước khi xuất bản lên chuỗi chính) và chúng tôi giả sử chúng có thể chạy các nút Tổng hợp sau:
Về mặt kỹ thuật, trình tự Rollup có thể tạo điều kiện cho DAS và cung cấp bằng chứng về tính hợp lệ trước khi xuất bản lên chuỗi chính, nhưng điều này không thực sự xảy ra. Các nút ánh sáng xác thực đầy đủ thường được thiết kế để kiểm tra chúng thông qua chuỗi chính, nhưng tôi giả định rằng các bằng chứng DAS + "sống" có thể được so sánh rõ ràng hơn với chuỗi tích hợp.
Bảng sau đây cho thấy những thay đổi so với ví dụ về chuỗi tích hợp:
Xóa được hiển thị bằng gạch ngang màu đỏ và các bổ sung được hiển thị bằng màu xanh lam:
Đường dẫn chậm - Chờ sự đồng thuận của chuỗi chính
Để tăng cường bảo mật, các nút có thể chờ sự đồng thuận từ chuỗi chính (ví dụ: Ethereum), đó là nơi nó phát huy tác dụng rõ ràng hơn, tức là các nút tổng hợp cũng nên chạy nút chuỗi chính:
Nếu chúng ta nhận được một mainchain bằng chứng không có kiến thức (ví dụ: Ethereum L1 zkEVM) + tất cả các rollup chứng minh trạng thái của chúng bên trong chuỗi chính→ chúng ta sẽ có được tầm nhìn của Vitalik về bằng chứng về điểm kỳ dị. Bằng chứng không có kiến thức về việc xác thực Ethereum có nghĩa là xác thực tất cả các chuỗi khác và xác thực các nút triển khai nội bộ của chúng:
Để đơn giản, chúng tôi giả định ở đây rằng tính hợp lệ trạng thái của bản tổng hợp được xác minh trong chính chuỗi chính (ví dụ: bản tổng hợp có cầu nối tích hợp với chuỗi chính), vì vậy chúng tôi có thể bỏ qua việc chạy rõ ràng phần mềm nút tổng hợp bổ sung bên ngoài giao thức.
Các thay đổi từ bảng Fast Path Rollup trước đó như sau:
Điều này đạt được bằng cách mainchain buộc các giao dịch bao gồm hoặc áp đặt thay thế sequencer / prover, mà chúng tôi gọi là hoạt động "cuối cùng" ở đây, bởi vì theo quan điểm của Rollup, đó là một con đường chậm, nhưng từ quan điểm của chuỗi chính, đây có thể được coi là hoạt động "thời gian thực".
Rollup với blockchain tích hợp
Bây giờ chúng ta có thể thấy những thay đổi trong các thuộc tính bảo mật liên quan đến blockchain và Rollup tích hợp:
Hoạt động và khả năng chống tái tổ hợp
Các thuộc tính này không thể được đảm bảo bằng mật khẩu và thậm chí trên các quy tắc xác nhận (ví dụ: cho dù chạy nút đầy đủ hay nhẹ), bạn có thể dễ bị lỗi bảo mật.
Nếu nhà điều hành hoàn toàn mất kiểm soát, không có nút đầy đủ hoặc bằng chứng ZK nào có thể bảo vệ bạn khỏi các lỗi hoạt động hoặc tổ chức lại.
Những thuộc tính này đạt được thông qua các nhà khai thác mạnh mẽ và phi tập trung, cơ chế chống kiểm duyệt, sự đồng thuận có lợi cho hoạt động, "chi phí" tái cấu trúc cao, sự đồng thuận xã hội mạnh mẽ, v.v. So sánh khách quan những điều này thường là một thách thức.
Làm thế nào để bạn đo lường sự phân cấp của nhà điều hành và sự đồng thuận xã hội? Không có một câu trả lời đúng. Đây được cho là những khía cạnh khó thiết kế nhất và chúng thực sự rất độc đáo đối với một chuỗi nhất định.
Điều quan trọng, chúng tôi thấy rằng Rollup có thể ủy quyền chống tổ chức lại và hoạt động cho chuỗi chính và các quy tắc xác nhận được sử dụng trên Rollup có thể có các thuộc tính bảo mật giống như khi chúng đang chạy trên chuỗi chính trong cùng một khung thời gian.
Các chuỗi thậm chí có thể chọn thuộc tính nào để ủy quyền cho chuỗi nào và các loại kiến trúc "L2" khác nhau (chẳng hạn như validium, optimism và sidechains) có thể hấp thụ các tập hợp con khác nhau của các thuộc tính bảo mật. Chẳng hạn:
Chống tái cấu trúc - Rollup có thể ủy quyền chống tái cấu trúc cho Ethereum và các quy tắc lựa chọn fork của nó dựa trên những gì sự đồng thuận Ethereum xác nhận để chọn "chuỗi chuẩn". Nếu Ethereum tổ chức lại, Rollup cũng sẽ tổ chức lại.
Rollup cũng có thể cung cấp cho người dùng một lối thoát để thoát khỏi Rollup, nhưng vẫn giữ khả năng kiểm tra người dùng và ngăn chặn tiền gửi xâm nhập vào Rollup (đây là cách Loopring hoạt động, ví dụ). Nếu khoản tiền gửi vẫn chưa được xử lý sau một khoảng thời gian nhất định, người dùng có thể rút tiền bị khóa từ hợp đồng L1.
Điều này nhấn mạnh tầm quan trọng của các cơ chế như vậy.
Tính khả dụng của dữ liệu và tính hợp lệ của trạng thái
Không giống như hoạt động và chống tái tổ hợp, các nút có thể đảm bảo tính hợp lệ của DA và trạng thái mà không đưa ra bất kỳ giả định ngưỡng lớn nào (hoặc đánh đổi bảo mật giữa hai bên). Các nhà sản xuất khối đa số độc hại có thể gây ra lỗi hoạt động và tổ chức lại, nhưng chúng sẽ không gây ra lỗi DA hoặc tính hợp lệ cho các nút đầy đủ hoặc các nút ánh sáng trình xác thực đầy đủ.
Tuy nhiên, các nút ánh sáng xác thực đồng thuận tất nhiên bị ảnh hưởng bởi tính hợp lệ trạng thái của đa số trung thực và lỗi DA. Họ chỉ tin tất cả những gì sự đồng thuận nói. Đó là lý do tại sao DA và hiệu lực của tiểu bang là những gì làm cho các quy tắc xác nhận bảo mật có thể truy cập và thực sự hoạt động. Đây thường là sự khác biệt lớn về ý thức hệ giữa Rollups truyền thống và các blockchain lớn không chú trọng nhiều vào việc xác minh người dùng.
Theo thứ tự, đây thường là những cách ưa thích để cân bằng giữa bảo mật và khả năng truy cập:
Lưu ý rằng 2 (nút đầy đủ) thực sự là an toàn nhất. Xác minh ZK rất đơn giản, nhưng các nút DAS đưa ra một số giả định bổ sung mà các nút đầy đủ không có. Tuy nhiên, chúng cung cấp bảo mật gần giống như các nút đầy đủ và với các yêu cầu tài nguyên ở một phần nhỏ trong số đó, chúng có thể mở rộng.
Các nút đầy đủ chỉ cần tải xuống tất cả dữ liệu, vì vậy chúng chắc chắn 100%. Họ chỉ ký khối khi mọi thứ ở đó. Không có giả định nào được đưa ra về các bên bên ngoài.
Mục tiêu của DAS là đạt được bảo mật gần như tốt như các nút đầy đủ, trong khi với yêu cầu tài nguyên thấp hơn đáng kể (tức là quy mô cao hơn). Bài viết này về mức độ bảo mật tính khả dụng của dữ liệu nút ánh sáng bao gồm điều này.
Nói tóm lại, bạn thường đưa ra một số giả định xung quanh đồng bộ hóa mạng và liệu có đủ nút để xây dựng lại dữ liệu hay không. Nếu các nhà sản xuất khối thù địch ẩn bất kỳ dữ liệu nào, ngay cả một nhóm nhỏ các nút ánh sáng trung thực cũng có thể cùng nhau xây dựng lại các khối. Cũng có những giả định về tiết lộ cổ phần có chọn lọc, trong đó các nhà sản xuất khối thù địch có thể đánh lừa một số lượng nhỏ các nút ánh sáng riêng lẻ, nhưng không tập thể.
Các giả định "N-in-2" này (ví dụ: một thiểu số các nút trung thực có thể bảo mật DAS) rất có lợi liên quan đến giả định "N / 2" gần đúng điển hình (ví dụ: 51% nhà sản xuất khối có thể dẫn đến việc tổ chức lại). Vitalik có một giới thiệu tốt về điều này trong bài đăng của mình về mô hình tin cậy.
Nhìn chung, DA và hiệu quả nhà nước không được Rollup "ủy quyền" là hoạt động và kháng tái tổ hợp. DA và tính hợp lệ của trạng thái có thể được xác minh trực tiếp bởi người dùng, trong khi các thuộc tính khác phụ thuộc nhiều hơn vào những người tham gia đồng thuận của chuỗi và các ưu đãi của họ.
Xem lại ví dụ về việc xác thực bằng chứng Tổng hợp trước đó:
Trong cả hai trường hợp, bạn có thể đảm bảo hiệu quả. Bất kể bạn kiểm tra nó ở đâu, bạn không thể xác định hiệu quả của nó. Ethereum không có hiệu quả thực sự "bắt buộc" như các nút Ethereum "buộc" chống tái cấu trúc hoặc các thuộc tính hoạt động. Chống tái cấu trúc và sức sống phần lớn phụ thuộc vào việc bạn nhận được chúng từ ai.
Hãy xem xét một bản tổng hợp dựa trên chuỗi lừa đảo:
Rollup có thể hiển thị các quy tắc xác nhận với các thuộc tính bảo mật giống như chuỗi chính của chúng, chúng có thể nhận được tối đa theo tốc độ đồng thuận chuỗi máy chủ của chúng (trên thực tế, nó thường sẽ chậm hơn, tùy thuộc vào tần suất Rollup được xuất bản lên chuỗi chính).
Bản tổng hợp cũng có thể cung cấp "đường dẫn hạnh phúc" với các quy tắc xác nhận thoải mái hơn (tức là trình sắp xếp) để có trải nghiệm người dùng tốt hơn, nhưng chúng vẫn giữ lại các giao dịch khôi phục trong trường hợp thất bại. Nếu bộ sắp xếp thứ tự của bạn dừng lại, bạn có thể tiếp tục di chuyển. Tuy nhiên, đây không phải là trường hợp nếu chuỗi của bạn hoàn toàn dựa vào bộ trình xác thực của riêng bạn (tức là như một chuỗi tích hợp).
Chọn chuỗi chính của Rollup một cách khôn ngoan có thể có tác động cụ thể đến các thuộc tính bảo mật. Nó đặc biệt có giá trị để tận dụng một backchain với hoạt động mạnh mẽ (tăng trưởng sổ cái + CR) và khả năng chống lại việc tổ chức lại.
Các giả định bảo mật khác nhau cho các khoảng thời gian khác nhau
Hãy xem xét một ví dụ đơn giản. Chain X đang quyết định xem nên triển khai dưới dạng Rollup trên chuỗi chính hiện có hay là blockchain tích hợp của riêng nó.
Rollup có các đặc điểm sau:
Blockchain tích hợp có các đặc điểm sau:
Bảng sau đây trình bày trực quan đơn giản về các đảm bảo bảo mật tốt nhất mà người dùng có thể có trong các triển khai khác nhau (nghĩa là họ sử dụng các quy tắc xác nhận mạnh nhất hiện có). Cụ thể, chúng tôi tập trung ở đây vào hoạt động và khả năng chống tái tổ hợp (vì chúng tôi giả định rằng chuỗi sẽ chỉ đạt được bằng chứng DAS + về hiệu quả trong hai trường hợp này):
"Bảo mật tối thượng" của Rollup cao hơn "bảo mật thời gian thực" vì chuỗi chính không thể đảm bảo chúng tôi nhanh hơn thời gian khối của chính nó. Mặc dù bạn có thể kiểm tra xem các xác nhận trước của trình sắp xếp có phải là chuyển đổi trạng thái hợp lệ hay không, bạn không thể đảm bảo đầy đủ tính cuối cùng của chúng cho đến khi cuối cùng chúng đạt đến lớp DA.
Nhưng như chúng ta đã thấy, việc triển khai lên một mainchain mạnh mẽ theo kiểu rollup sẽ tăng cường bảo mật. Họ có thể thuê bảo mật với tốc độ của chuỗi chính của họ. Về cơ bản, không có cách nào để có được tất cả các thuộc tính bảo mật của chuỗi chính nhanh hơn sự đồng thuận của chính chuỗi chính.
Tuy nhiên, người dùng có xu hướng thiếu kiên nhẫn. Do đó, Rollup thường sẽ cung cấp xác nhận trước nhanh hơn, nhưng đảm bảo sẽ thấp hơn trong giai đoạn này. Rollup có thể chọn một thiết kế sequencer cân bằng:
Thật thú vị, bạn có thể lập luận rằng các bản tổng hợp đặt hàng L1 ít hoạt động hơn các trình tự tập trung, tùy thuộc vào thang thời gian của bạn. Cho đến nay, chúng ta đã nói về hoạt động, bao gồm nó trong một số loại khái niệm "thời gian hữu hạn". Tuy nhiên, điều này hoàn toàn tương đối và chủ quan. Liên quan đến cái gì? Mất bao nhiêu thời gian?
Bản tổng hợp tuần tự L1 thuần túy sẽ chỉ được bao gồm ở tốc độ của các khối L1 (ví dụ: 10 giây) và bạn không đảm bảo hoạt động giữa các khối này khi thế giới xung quanh bạn thay đổi. Vì vậy, nó phụ thuộc vào điểm chuẩn của bạn:
Nếu bạn cố gắng thực hiện một bản tổng hợp dựa trên "thực" mà không có xác nhận trước, thậm chí có thể xác nhận trước sẽ xảy ra. Đối với những người tham gia, chẳng hạn như các nhà xây dựng và xác thực Ethereum, có một động lực tài chính để họ tự thực hiện cam kết này. Đây chính xác là lý do tại sao có cuộc thảo luận về cách các nhà xây dựng Ethereum và các bên liên quan đang cố gắng cung cấp xác nhận trước nhanh chóng ở lớp cơ sở.
Đây là một lưu ý quan trọng cuối cùng. Giả sử rằng người dùng Rollup có thể quay trở lại cùng mức độ hoạt động với chuỗi chính, giả sử bạn có thể buộc đưa vào hoàn toàn ở tốc độ của khối chuỗi chính (ví dụ: nếu người đặt hàng Rollup đang xem xét bạn, bạn có thể buộc các giao dịch được đưa vào khối Ethereum tiếp theo của chuỗi chính).
Trong thực tế, thường có một độ trễ ngắn. Nếu bạn cho phép đưa vào bắt buộc ngay lập tức, bạn có nguy cơ phơi bày các MEV kiểm duyệt có lợi cùng với các phức tạp khác. Tuy nhiên, một số thiết kế có thể cung cấp đảm bảo hoạt động gần thời gian thực từ chuỗi chính (ví dụ: có lẽ ở tốc độ của một số khối chuỗi chính thay vì một khối).
Bất kể khoảng thời gian chính xác, hoạt động cuối cùng của việc hấp thụ chuỗi chính là rất mạnh và sử dụng chuỗi chính mạnh làm cơ chế phối hợp cung cấp các mối đe dọa đáng tin cậy và quyền thoát. Chỉ riêng việc phơi bày mối đe dọa đáng tin cậy này khiến cho rất khó có khả năng cần thiết để ngăn chặn hành vi độc hại ngay từ đầu.
Ví dụ: nếu người dùng có một cơ chế đáng tin cậy để buộc thoát hoặc thậm chí buộc phải loại bỏ nhà điều hành, thì trình tự Rollup tập trung không thể tự ý trích tiền thuê từ người dùng và khóa nó lại. Đây là một lĩnh vực chung được thảo luận trong Chris Goes trong bài nói chuyện của anh ấy về MEV Conversion, Cost Edge và Slow Gaming.
Tất nhiên, hoạt động bất ngờ cũng có thể xảy ra, trong trường hợp đó, đường dẫn sao lưu này một lần nữa có thể rất có giá trị.
Bằng chứng không bảo vệ chuỗi, nhưng bảo vệ người dùng
Sau tất cả những điều này, chúng ta có thể thấy rằng đối với một quy tắc xác nhận nhất định, hóa ra việc bảo vệ các "người quan sát" (người dùng) khác nhau của Rollup sẽ chính xác hơn là bảo vệ chính "Bản tổng hợp". Tính bảo mật của "Rollup" không tồn tại như một biện pháp cụ thể duy nhất.
Đảm bảo sự an toàn của người quan sát tất nhiên là điều quan trọng nhất, bởi vì tất cả chúng ta đều là người quan sát chuỗi! Chuỗi này là bất cứ điều gì các nhà quan sát của nó nói. Nếu bạn không thể quan sát nó một cách an toàn, bạn phải tin tưởng người khác (chẳng hạn như người xác minh) để cho bạn biết "sự thật" về nó. Nhưng chúng tôi không muốn tin tưởng, chúng tôi muốn xác minh→ chúng tôi muốn bằng chứng.
Để hiểu tại sao điều quan trọng là phải phân biệt giữa "bằng chứng chuỗi" và "người quan sát chuỗi bằng chứng", hãy xem xét những điều sau:
Đã được chứng minh bổ sung bảo mật cho các nhà quan sát chuỗi (tức là các nút ánh sáng) có tính hợp lệ không thể được kiểm tra trực tiếp. Chúng tôi không muốn người dùng phải chạy các full node mạnh mẽ, vì vậy những bằng chứng này rất quan trọng.
Chứng thực bảo mật cầu nối Rollup
Cầu xác minh của Rollup là một người quan sát cực kỳ quan trọng! Bằng chứng đảm bảo an toàn cho cây cầu!
Như với bất kỳ nút ánh sáng điển hình nào, cầu không thể kiểm tra trực tiếp tính hợp lệ của Rollup. Chúng tôi không tin vào đa số trung thực, nhưng bảo vệ cầu nối bằng bằng chứng. Giao thức đồng thuận cho cơ sở dữ liệu A (lớp DA) sắp xếp các blob dữ liệu và sau đó xác minh rằng cầu nối kiểm tra độc lập tính hợp lệ của bản cập nhật tương ứng cho cơ sở dữ liệu B (Rollup):
Cây cầu là một người quan sát một chuỗi khác và mỗi tài sản mà nó đúc luôn mang giả định bảo mật của các quy tắc xác nhận của cây cầu tương ứng. Tính bảo mật của các quy tắc xác nhận của nó có thể có ý nghĩa trên phạm vi rộng. Đó là lý do tại sao việc xây dựng các cầu nối an toàn là rất quan trọng (hoặc lý tưởng nhất là giảm nhu cầu về rất nhiều cầu nối bằng cách mở rộng quy mô thực thi chuỗi đơn hơn nữa ngay từ đầu).
Nếu bạn chạy các nút đầy đủ cho chuỗi, các bên độc hại không thể lừa bạn chấp nhận chuyển đổi trạng thái không hợp lệ. Tuy nhiên, nếu bên độc hại có các quy tắc xác nhận khác nhau, nó vẫn có thể giả mạo cầu nối. Nếu bạn nắm giữ tài sản thế chấp trong cầu nối, thì tiền của bạn có thể không được hỗ trợ. Theo nghĩa này, lỗi bảo mật của cây cầu giả mạo là "truyền nhiễm".
Hãy xem xét một kịch bản giả định cũ về Terra:
Với sự sụp đổ của Terra, giá của LUNA giảm mạnh và cuối cùng, lợi nhuận của tập hợp các trình xác thực về mặt lý thuyết trở nên độc hại sẽ vượt quá giá trị của LUNA được đặt cọc và trình xác thực Terra có thể ký các khối không hợp lệ và thực hiện như sau:
Cây cầu sử dụng các quy tắc thừa nhận với các giả định tin cậy mạnh mẽ hơn.
Trình xác thực Terra không thể đánh cắp một lượng lớn tài sản của chính Terra từ các nút đầy đủ (chúng sẽ không bị lừa dối), chúng sẽ từ chối các khối này. Tuy nhiên, trình xác thực có thể lừa trình xác thực đồng thuận vào các máy khách nhẹ (bao gồm cả cầu nối), đó là lý do tại sao lỗi đồng thuận ảnh hưởng đến tài sản chuỗi chéo.
Lưu ý rằng điều quan trọng là các lỗi này không "lây nhiễm" phần còn lại của chuỗi, tức là lỗi "lây nhiễm" các tài sản thẩm thấu tiếp xúc với tuyến cầu Terra, nhưng không có lỗi bảo mật trong chính chuỗi thẩm thấu.
Tuy nhiên, rõ ràng chúng tôi muốn kết nối mọi thứ (nói chung, giao tiếp chuỗi chéo), sẽ rất tệ nếu giới hạn bản thân sử dụng tài sản gốc trên chuỗi chính của chúng, chúng tôi cần chuỗi để giao tiếp an toàn và bắc cầu qua chuỗi.
Như một thử nghiệm tưởng tượng, giải pháp đơn giản nhất là để mỗi người dùng chạy các nút đầy đủ của mỗi chuỗi, bao gồm chính cầu nối chuỗi chéo. Hãy nhớ rằng chúng ta đã thấy một số cầu nối full-node được nhúng một chiều:
Điều này hoạt động cho các nút đầy đủ của Ethereum, nhưng điều này rõ ràng không mở rộng. Bạn không thể bắt đầu có mỗi chuỗi Cosmos chỉ cần chạy các nút đầy đủ cho mọi chuỗi Cosmos khác. Các cầu nối nút đầy đủ hai chiều này không mở rộng quy mô, chúng chỉ làm tăng yêu cầu phần cứng.
May mắn thay, có một tùy chọn có thể mở rộng hơn. Chúng ta có thể triển khai các cầu nối để xác minh đầy đủ tính hợp lệ của trạng thái và DA của một chuỗi khác (ngoài việc vẫn kiểm tra sự đồng thuận).
Hiệu lực nhà nước - Mặc dù IBC hiện đang được sử dụng với bằng chứng đồng thuận truyền thống, nhưng nó có thể được sửa đổi để thêm bằng chứng về tính hợp lệ cho các chuỗi kết nối và bây giờ các cầu nối không bị giả mạo bởi các chuyển đổi trạng thái không hợp lệ. Điều này sẽ ngăn chặn chính xác những gì cuộc tấn công được mô tả trước đó và nếu cây cầu có thể xác minh tính hợp lệ của quá trình chuyển đổi trạng thái, nó sẽ từ chối khối của trình xác thực Terra là không hợp lệ.
Điều này trông rất giống với cách cầu nối Rollup trên Ethereum kiểm tra các bằng chứng Rollup, ngoại trừ việc nó cũng có thể là hai chiều.
DA - Ngoài ra, một chuỗi có thể yêu cầu các nút của nó chạy các nút ánh sáng DAS kết nối chuỗi. Ví dụ: bạn có thể có hai chuỗi Cosmos yêu cầu trình xác thực riêng của chúng để chạy các nút ánh sáng DAS của chuỗi khác (nếu mỗi chuỗi triển khai các máy khách ánh sáng DAS, hiện không được hỗ trợ). Khi điều này được thực hiện, mỗi chuỗi giờ đây có thể biết tính hợp lệ và DA của nhau mà không cần phải chạy các nút đầy đủ.
Đối với Rollup, theo định nghĩa, bạn sở hữu tất cả dữ liệu trên chuỗi chính, vì vậy cầu nối ở đó có thể truy cập nó. Mặt khác, các nút cuộn chạy các nút mainchain.
Chuỗi phụ thuộc và độc lập
Chúng ta hãy xem xét lại năm thuộc tính bảo mật của chúng ta, bây giờ trong bối cảnh quan sát cầu xác minh Rollup của Rollup trên Ethereum:
Lưu ý rằng tính bảo mật của cầu nối không chỉ được tối đa hóa bởi các quy tắc xác nhận siêu mạnh cho các chuỗi bổ sung (ví dụ: cầu nối trình xác thực đầy đủ với chuỗi có bộ xác thực siêu đáng tin cậy). Nếu cầu nối có các giả định bảo mật giống như chuỗi chính, bạn có thể nhận được sự bảo mật cao nhất khi các tài sản gốc chuỗi chéo.
Vitalik cung cấp một ví dụ minh họa hữu ích:
"Bạn chuyển 100 ETH đến một cây cầu bắc qua Solana và nhận được 100 Solana-WETH, và Ethereum bị tấn công 51%. Kẻ tấn công gửi một loạt ETH của họ vào Solana-WETH và sau đó tiếp tục giao dịch ở phía Ethereum ngay sau khi phía Solana xác nhận. Hợp đồng Solana-WETH không còn được hỗ trợ đầy đủ và có thể 100 Solana-WETH của bạn hiện chỉ có giá trị 60 ETH. Ngay cả với một cây cầu dựa trên ZK-SNARK hoàn hảo xác nhận đầy đủ sự đồng thuận, nó vẫn dễ bị tấn công 51% như thế này.
Do đó, việc giữ tài sản gốc Ethereum trên Ethereum hoặc tài sản gốc Solana trên Solana luôn an toàn hơn là giữ tài sản gốc Ethereum trên tài sản gốc Solana hoặc Solana trên Ethereum. Trong bối cảnh này, "Ethereum" không chỉ đề cập đến chuỗi cơ bản mà còn đề cập đến bất kỳ L2 thích hợp nào được xây dựng trên đó.
Nếu Ethereum bị tấn công và phục hồi 51%, Arbitrum và Optimism cũng sẽ phục hồi, vì vậy ngay cả khi Ethereum bị tấn công bởi 51%, các ứng dụng "cross-rollup" lưu trạng thái trên Arbitrum và Optimism được đảm bảo vẫn nhất quán. Nếu Ethereum không bị tấn công 51%, sẽ không có cách nào để thực hiện cuộc tấn công 51% vào Arbitrum và Optimism, tương ứng. Do đó, việc nắm giữ tài sản do Lạc quan dựa trên Arbitrum phát hành vẫn hoàn toàn an toàn.
Bạn có thể thay thế Solana bằng bất kỳ chuỗi nào bạn muốn - ngay cả một chuỗi giả định nơi bạn vượt qua trình xác thực Ethereum về độ tin cậy và về cơ bản, mọi giả định bảo mật đều bổ sung khi bạn nói về tài sản chuỗi chéo với sổ cái hồ sơ của chúng (ví dụ: ETH từ Ethereum) và luôn có khả năng tổ chức lại chuỗi được kết nối hoặc thất bại hoạt động.
Tuy nhiên, các chuỗi có sự đồng thuận hợp nhất (tức là các bản tổng hợp chia sẻ sự đồng thuận của chuỗi chính của chúng) có thể bỏ qua các giả định bảo mật bổ sung này. Các cầu nối chuỗi chéo giữa các khu vực khác nhau này có thể có cùng hoạt động cuối cùng và các đặc tính chống tái tổ hợp như chính chuỗi chính. Sự đồng thuận chung giảm thiểu các giả định tin cậy chuỗi chéo trong vùng bảo mật được chia sẻ đó.
Các giả định bảo mật hợp lý là tùy thuộc vào bạn. Trên thực tế, chưa có sự thất bại đồng thuận tương tự giữa các chuỗi lớn. Điều này sẽ rõ ràng và tốn kém, nhưng nó có thể là một giả định mạnh mẽ hơn về việc kết nối các chuỗi yếu hơn.
Ngoài ra còn có một số nhược điểm để ràng buộc chuỗi Rollup với chuỗi chính. Hãy so sánh hai kịch bản chuỗi chéo, trong cả hai trường hợp, chúng ta có hai chuỗi sử dụng cầu nối chuỗi chéo trình xác thực đầy đủ hai chiều:
Tương tự như vậy, khóa cửa và tìm kiếm tiền thuê quá mức có tác động tích cực và tiêu cực tiềm ẩn, làm nổi bật lý do tại sao một lớp cơ sở trung lập và chống kiểm duyệt rất quan trọng:
Có những sự đánh đổi và lợi ích ở đây, nhưng cũng nên nhớ rằng có một con đường phụ thuộc rất lớn vào vị trí của các tài sản thú vị và nếu bạn muốn sử dụng một loạt các tài sản gốc Ethereum (bao gồm cả những tài sản trong Bản tổng hợp của nó), bạn nên root chuỗi của mình trong Ethereum và các cầu nối chuỗi chéo của nó.
Kết luận
"Rollups inheritance security" là một cách viết tắt tốt, nhưng hãy nhớ đây là những điểm chính mà chúng tôi thực sự muốn nói:
Bây giờ, hãy xem xét các lợi ích của việc triển khai Rollup trên chuỗi tích hợp:
An toàn cho người dùng - Cho dù bạn có muốn triển khai bất kỳ cầu nối chuỗi chéo nào hay không, Rollups có thể thuê DA từ chuỗi chính của nó và lấy lại sự đồng thuận của nó, cho phép Rollup hiển thị các quy tắc xác nhận phù hợp với chuỗi chính cho người dùng mà không cần phải đạt được sự đồng thuận của riêng mình;
Bảo mật chuỗi chéo - Rollup có thể xây dựng chuỗi chéo trong miền bảo mật được chia sẻ của chuỗi chính (tức là chính chuỗi chính và Bản tổng hợp của nó) và các thuộc tính bảo mật của nó có thể so sánh với hoạt động trên chính chuỗi chính;
Chúng ta sẽ thấy rằng đây thực sự là hai mặt của cùng một đồng tiền và Rollup chỉ cho phép chuỗi cung cấp các quy tắc xác nhận và bảo mật của nó có thể đạt đến tính bảo mật của chuỗi chính. Cả cầu nối chuỗi chéo và người dùng bình thường đều là người quan sát chuỗi với các quy tắc thừa nhận nhất định. Những cây cầu có lẽ là "người quan sát" quan trọng nhất trong các chuỗi này vì an ninh của chúng có ý nghĩa rộng lớn.
Khi chúng tôi cố gắng tạo ra một hệ thống an toàn, chúng tôi cần quan tâm đến tính bảo mật của các quy tắc xác nhận nhất định cũng như khả năng truy cập của chúng. Nếu hầu hết các nhà quan sát (người dùng) tương tác với các chuỗi này nằm ngoài tầm với, thì các quy tắc xác nhận bảo mật không giúp ích gì nhiều.
Mặc dù ngày nay chúng ta liên kết DAS và bằng chứng về tính hợp lệ với Rollup, nhưng chúng là những khái niệm riêng biệt về mặt logic. Bất kỳ chuỗi nào cũng có thể tích hợp các công nghệ này và sự khác biệt giữa bản tổng hợp là gì hoặc không phải là bản tổng hợp bắt đầu bị phá vỡ ở cuối trò chơi (tức là đối với một bản tổng hợp tích hợp duy nhất, nó có thể có các lớp DA và thực thi riêng biệt một cách hợp lý trong một giao thức).
Tuy nhiên, các lớp "tổng hợp truyền thống" và DA rõ ràng thống trị các công nghệ xác minh và mở rộng quy mô này ngày nay.