Giới thiệu: Kể từ khi Solana dần dần suy tàn và OP phát hành Mã thông báo, Layer2 và Rollup dường như đã trở thành thiên đường mới cho vô số học viên Web3. Khi thị trường gấu tiếp tục lan rộng, FTX bị loại khỏi cuộc chơi và Multicoin chịu tổn thất nặng nề, các đối thủ của Ethereum đã dần lụi tàn ở giai đoạn Web3 và họ liên tục mất tự tin để cạnh tranh với ETH. Ngày càng có nhiều người bắt đầu coi Rollup là cốt lõi của một vòng tường thuật mới, và ngày càng có nhiều dự án mọc lên trên L2 như nấm sau mưa.
Nhưng tất cả những điều này là “sự thịnh vượng giả tạo” hay là “bong bóng có thể vỡ bất cứ lúc nào”? Rollup và L2 có thực sự tốt như hầu hết mọi người khẳng định không? Nó có thực sự an toàn như mọi người vẫn nghĩ? Chưa kể nhiều OP Rollup không có bằng chứng gian lận, những rủi ro bảo mật của **Rollups là gì? **
Lấy cảm hứng từ "Khả năng nâng cấp của Ethereum L2" do L2BEAT phát hành gần đây, bài viết này tập trung vào các rủi ro ủy quyền và đa chữ ký đằng sau nâng cấp Rollup (nâng cấp ngay hợp đồng Rollup, lấy đi tài sản của người dùng) và những lời sáo rỗng trước đây về Rollup.
Mô tả ngắn gọn về nguyên tắc Rollup
Sơ lược về nguyên lý hoạt động của Rollup:
**Ethereum Rollup = một bộ hợp đồng trên các nút riêng của mạng Lớp 1 + Lớp 2. **
Nhóm các nút mạng lớp 2 có thể được chia thành nhiều loại vai trò, trong đó quan trọng nhất là bộ giải trình tự (Sequencer). Nó nhận các yêu cầu giao dịch xảy ra trên Layer2, xác định thứ tự thực hiện của chúng, sau đó đóng gói chuỗi giao dịch thành một lô (Batch), được gửi đến hợp đồng của dự án Rollup trên Layer1 (sau đây gọi chung là hợp đồng Rollup).
Nút đầy đủ của Layer2 có thể trực tiếp lấy chuỗi giao dịch từ trình sắp xếp thứ tự hoặc đọc lô giao dịch (Batch) do trình sắp xếp thứ tự gửi tới Lớp1, nhưng lớp sau có độ chắc chắn cuối cùng (không thể thay đổi) cao hơn lớp trước. Thông thường, khi một loạt giao dịch được gửi đến Lớp 1 bởi trình sắp xếp thứ tự, thứ tự của lô giao dịch không thể thay đổi (miễn là không có khôi phục khối trong Ethereum, chuỗi giao dịch của Rollup sẽ không thay đổi).
Vì việc thực hiện giao dịch sẽ thay đổi trạng thái của sổ cái chuỗi khối, nên ngoài thứ tự giao dịch, nút đầy đủ Lớp 2 cũng cần đồng bộ hóa trạng thái của sổ cái với trình sắp xếp thứ tự, để đảm bảo tính nhất quán.
Do đó, trình sắp xếp thứ tự không chỉ cần truyền các lô giao dịch tới hợp đồng Rollup của Lớp 1 mà còn truyền kết quả cập nhật trạng thái (Stateroot/State diff) sau khi thực hiện giao dịch cho Lớp 1.
Không khó để thấy rằng L1 (Ethereum) thực sự hoạt động như một bảng thông báo cho các nút L2, phi tập trung hơn, không tin cậy và an toàn hơn nhiều so với mạng riêng của L2. Đối với các nút đầy đủ L2, miễn là chúng có được chuỗi giao dịch Rollup trên L1 + Stateroot ban đầu, chúng có thể khôi phục sổ cái chuỗi khối L2 và tính toán Stateroot mới nhất. Nếu Stateroot được tính toán bởi chính nút đầy đủ L2 không phù hợp với Stateroot được xuất bản bởi trình sắp xếp thứ tự lên L1, điều đó có nghĩa là trình sắp xếp thứ tự đã gian lận.
Trường hợp giả định trực quan nhất là: Trình sắp xếp thứ tự của L2 có thể đánh cắp tài sản của người dùng. Ví dụ: nó có thể giả mạo một số giao dịch không nên xảy ra không (ps: chuyển một số Mã thông báo của người dùng L2 đến địa chỉ của toán tử trình tự, sau đó chuyển các Mã thông báo này sang L1). Loại câu hỏi này có thể được rút gọn thành: Phải làm gì sau khi trình sắp xếp thứ tự xuất bản dữ liệu giao dịch sai hoặc Stateroot sai? **
Đối với rủi ro gian lận của trình sắp xếp thứ tự, các loại Rollup khác nhau có các biện pháp đối phó khác nhau. Tổng số lạc quan (Optimistic Rollup) cho phép các nút đầy đủ L2 cung cấp bằng chứng gian lận (Fraud Proof), chứng minh rằng dữ liệu được trình tự giải phóng trong L1 có lỗi. Ví dụ: Arbitrum đã thiết lập danh sách trắng nút, cho phép các nút L2 trong danh sách trắng đưa ra bằng chứng gian lận.
Ngoài ra, khi xem xét rằng hầu hết các sàn giao dịch và các bên dự án cầu nối chuỗi chéo riêng tư sẽ chạy các nút đầy đủ L2, có thể tìm thấy lỗi ngay lập tức và tỷ lệ thành công của hầu hết các trình tự Rollup đánh cắp tiền về cơ bản là 0 (vì cuối cùng nó cần phải được rút ra, nó vẫn cần được hoàn thành trên sàn giao dịch hoặc số tiền bị đánh cắp có thể được chuyển sang L1 và sau đó tìm cách khác).
(Bộ tổng hợp trong hình thực chất là một trình sắp xếp thứ tự)
Nhưng đối với Chủ nghĩa lạc quan không có bằng chứng gian lận, trình sắp xếp chuỗi có thể đánh cắp tiền thông qua hợp đồng cầu nối chuỗi chéo của chính Rollup. Ví dụ: nhà điều hành trình sắp xếp thứ tự có thể giả mạo hướng dẫn giao dịch, chuyển tài sản của người khác trong L2 đến địa chỉ của chính họ, sau đó chuyển số tiền bị đánh cắp sang L1 thông qua hợp đồng cầu nối tích hợp của Rollup. Do không có bằng chứng gian lận nên nút đầy đủ của OP không thể thách thức giao dịch sai, vì vậy về lý thuyết, trình sắp xếp thứ tự của OP có thể đánh cắp tài sản của người dùng trong L2 (miễn là nó thực sự muốn làm như vậy).
Giải pháp cho loại vấn đề này là "đồng thuận xã hội" (được giám sát bởi dư luận như các thành viên cộng đồng và phương tiện truyền thông xã hội), hoặc **dựa vào xác nhận tín dụng chính thức của OP. **
Thật thú vị, một sàn giao dịch gần đây đã giảm độ trễ cho người dùng Arbitrum và Optimism khi chuyển tiền sang sàn giao dịch (từ 100 khối L2 xuống 1 khối L2), điều này thực sự là để tin tưởng rằng trình sắp xếp thứ tự của ARB và OP sẽ không làm điều ác** (theo mặc định, chúng là các máy chủ tập trung với sự chứng thực chính thức)**.
Không giống như Rollup lạc quan, ngoài việc dựa vào các nút đầy đủ L2, ZK Rollup giải quyết vấn đề gian lận trình sắp xếp thứ tự thông qua Bằng chứng xác thực (thường bị nhầm lẫn với Bằng chứng ZK). Có một nút được gọi là Prover trong mạng ZK Rollup, được thiết kế để tạo bằng chứng hợp lệ cho các lô giao dịch do trình sắp xếp thứ tự đưa ra. Đồng thời, có một hợp đồng (thường được gọi là Người xác minh) trên L1 xác minh cụ thể chứng chỉ hợp lệ, miễn là lô giao dịch và chứng chỉ tương ứng với Stateroot/State diff vượt qua xác minh của hợp đồng Người xác minh, nó sẽ được hoàn thiện (Finalized). Cầu chính thức của ZK Rollup sẽ chỉ phát hành các giao dịch rút tiền được xác minh bằng chứng chỉ hợp lệ, rõ ràng là đáng tin cậy hơn nhiều so với Optimism.
Về lý thuyết, tính bảo mật của OP Rollup được đảm bảo bởi các nút đầy đủ L2 (ít nhất một nút trung thực có thể đưa ra bằng chứng gian lận). Tính bảo mật của ZK Rollup được đảm bảo bởi hợp đồng Người xác minh trên L1 (giao dịch cuối cùng được xác nhận bởi nút L1). Nhìn bề ngoài, tất cả họ đều có thể "kế thừa tính bảo mật của L1" (với sự trợ giúp của L1 để hoàn thành xác nhận/thanh toán cuối cùng của giao dịch), và những người theo chủ nghĩa tối đa Ethereum thậm chí còn gọi nó là "tương đương với tính bảo mật của L1" (phù hợp với kết quả giao dịch cuối cùng của L1), nhưng tình hình thực tế không phải như vậy, hoặc thậm chí còn khác xa với nó.
Những điểm "sáo rỗng" đó
Trước hết, tốc độ tạo bằng chứng hợp lệ của ZK Rollup cực kỳ chậm, trình sắp xếp chuỗi có thể thực hiện hàng nghìn giao dịch trong 1 giây, nhưng có thể mất tối đa vài giờ để tạo Bằng chứng cho hàng nghìn giao dịch này. Nhưng vấn đề này cũng dễ giải quyết, ZKR chính thống về cơ bản phân chia nhiệm vụ tạo Bằng chứng và gửi nó đến các nút Chứng minh khác nhau để xử lý song song nhằm tăng đáng kể tốc độ tạo Bằng chứng.
Thứ hai, cần xem xét độ trễ của các nút L2 xuất bản dữ liệu trong L1. Bởi vì mỗi lần trình sắp xếp thứ tự hoặc Trình chứng minh gửi dữ liệu đến L1, sẽ có một chi phí cố định (giống như một container được tiêu thụ cho mỗi lô hàng). Xuất bản dữ liệu thường xuyên trên L1 sẽ không hiệu quả về chi phí hoặc thậm chí là thua lỗ, do đó trình sắp xếp thứ tự và Trình chứng minh sẽ giảm thiểu tần suất xuất bản dữ liệu trên L1, sau đó đóng gói và phát hành một lượng lớn dữ liệu cùng một lúc.
Nói cách khác, khi số lượng người dùng không đủ và số lượng giao dịch được khởi tạo không đủ, trình sắp xếp thứ tự sẽ trì hoãn việc phát hành dữ liệu cho L1. Ví dụ: khi có ít người dùng vào năm ngoái, Optimism chỉ gửi một lô giao dịch đến L1 cứ sau nửa giờ. Giờ đây, do số lượng người dùng tăng lên nên vấn đề này đã được giải quyết một cách hiệu quả. Khác với OP, Starknet đã áp dụng phương pháp giảm tần suất phát hành khác biệt của Trạng thái để giảm chi phí dữ liệu, điều này làm cho độ trễ xác nhận giao dịch cuối cùng của Starknet kéo dài đến 7-8 giờ.
Ngoài ra, hầu hết các Bản tổng hợp ZK thường "tổng hợp nhiều bằng chứng và gửi chúng đến L1 cùng một lúc" để giảm thêm chi phí. Điều đó có nghĩa là, Prover sẽ không gửi đến L1 ngay sau khi tạo Bằng chứng mà đợi nhiều Bằng chứng được tạo, tổng hợp chúng lại với nhau rồi gửi đến hợp đồng Người xác minh của L1. (Thực tế, quy trình tổng hợp các Bằng chứng là sử dụng một Bằng chứng để bao gồm các bước tính toán được tạo ra bằng cách xác minh nhiều Bằng chứng)
Hậu quả của việc này là tần suất phát hành Bằng chứng giảm hơn nữa và độ trễ từ khi bắt đầu giao dịch đến xác nhận cuối cùng càng kéo dài hơn.
Theo trình khám phá khối, thời gian trễ xác nhận giao dịch của **Polygon ZKEVM là khoảng 30-50 phút, còn Starknet và Zksync Era là hơn 7 giờ. **Rõ ràng đây chỉ là "kế thừa một phần bảo mật của L1", khác xa với "bảo mật tương đương với L1" mà những người ủng hộ Ethereum nói.
Tất nhiên, những vấn đề trên đều có thể được giải quyết bằng tiến bộ công nghệ, và sẽ thành hiện thực trong tương lai không xa. Ví dụ: nhiều bên tham gia dự án đang phát triển phần cứng hiệu suất cao để giảm thời gian tạo bằng chứng hợp lệ; Chủ nghĩa lạc quan cũng hứa hẹn sẽ sớm phát hành hệ thống chống gian lận; Giải pháp Danksharding của Ethereum sẽ giảm chi phí dữ liệu Rollup hàng chục lần hoặc thậm chí cao hơn, có thể giải quyết hiệu quả các vấn đề được liệt kê ở trên.
Bài toán “nhân trị” khó giải
Giống như các dự án ứng dụng như DeFi, hoạt động của mạng Rollup phụ thuộc vào các hợp đồng có liên quan trên L1 và các hợp đồng này là "có thể nâng cấp", nghĩa là một số mã có thể được thay thế (hầu hết Rollup sử dụng hợp đồng proxy) và có thể được thực hiện ngay lập tức dưới sự ủy quyền của ủy ban bảo mật hoặc đa chữ ký. Hãy để tôi nói về kết luận trước: **Rollup có thể nhanh chóng thay đổi mã hợp đồng trên L1 thông qua ủy ban bảo mật hoặc đa chữ ký do một số người kiểm soát, sau đó đánh cắp tài sản của người dùng. **
Trước hết là “tại sao cần nâng cấp hợp đồng Rollup” và “nâng cấp như thế nào”. Mã hợp đồng trên Ethereum không thể thay đổi sau khi triển khai, nhưng Rollup chắc chắn có nhiều lỗi khác nhau trong quá trình phát triển, có thể dẫn đến kết quả sai; đồng thời, Rollup cũng thường xuyên lặp lại sản phẩm và các chức năng mới cần được bổ sung thường xuyên; trong trường hợp nghiêm trọng hơn, có thể có tin tặc tấn công hợp đồng Rollup, vì vậy hợp đồng Rollup cần được nâng cấp, điều này thường đạt được thông qua hợp đồng proxy.
Hợp đồng proxy thực sự là một phương pháp thường được sử dụng trong phát triển hợp đồng Ethereum, nhằm tách dữ liệu của hợp đồng khỏi logic nghiệp vụ và lưu trữ chúng trong các hợp đồng khác nhau. Dữ liệu (các biến trạng thái) được lưu trữ trong các hợp đồng proxy và logic nghiệp vụ (các chức năng) được lưu trữ trong các hợp đồng logic. Hợp đồng ủy nhiệm (Proxy) giao phó quá trình thực hiện chức năng cho hợp đồng logic (Implementation) thông qua delegatecall, sau đó trả kết quả cuối cùng cho bên gọi (Caller).
Để nâng cấp hợp đồng ở chế độ proxy, bạn chỉ cần trỏ hợp đồng proxy sang hợp đồng logic mới (viết lại địa chỉ của hợp đồng logic được lưu trong hợp đồng proxy). **Hầu hết các dự án Rollup đã áp dụng phương pháp nâng cấp hợp đồng này, phương pháp này có thể được mô tả là đơn giản và thô sơ. **
Không khó để tưởng tượng rằng Hợp đồng của Rollup có thể được nâng cấp thực sự là một tiếng sét lớn: nếu hợp đồng được nâng cấp có chứa mã độc hại, chẳng hạn như sửa đổi các điều kiện giải phóng rút tiền của hợp đồng Bridge tích hợp trong Rollup hoặc sửa đổi các điều kiện của hợp đồng Người xác minh để xác định tính hợp lệ và chứng minh tính đúng đắn, trình sắp xếp chuỗi có thể đánh cắp tiền (nguyên tắc đã được đề cập trước đó).
Nhưng vấn đề là hợp đồng Rollup không được phép nâng cấp, lý do rất rõ ràng. Nhìn chung, phần lớn Rollup sẽ quyết định có nâng cấp hợp đồng Rollup thông qua quản trị DAO, ủy ban bảo mật hoặc ủy quyền đa chữ ký hay không. Ngoài ra, khóa thời gian Timelock sẽ được sử dụng để đặt khoảng thời gian trễ cho việc nâng cấp hợp đồng.
Xem xét rằng hầu hết các đề xuất DAO đều có quy trình thực hiện tự động (được triển khai thông qua hợp đồng trên chuỗi), ngay cả khi hợp đồng được nâng cấp, trước tiên phải có đủ phiếu bầu và sau đó hoạt động nâng cấp hợp đồng sẽ chỉ được thực hiện sau độ trễ do Khóa thời gian chỉ định (thường là nhiều ngày). Nếu ai đó muốn tham gia nâng cấp hợp đồng độc hại, họ cần phải vượt qua sự quản lý của DAO thông qua các cuộc tấn công quản trị (chẳng hạn như các cuộc tấn công quản trị xảy ra trên Tornado Cash), nhưng chi phí để làm như vậy rất cao và trước tiên họ phải có đủ Mã thông báo, điều này sẽ không thành công trong các trường hợp bình thường. Ngay cả khi cuộc tấn công quản trị thành công, do thời gian khóa, người dùng sẽ có đủ thời gian để rút tài sản khỏi L2 và **Các quan chức của Rollup sẽ có đủ thời gian để thực hiện các biện pháp khẩn cấp. **
Có vẻ như khóa thời gian là vũ khí ma thuật chống lại các bản nâng cấp hợp đồng độc hại. Nhưng vấn đề là cái gọi là "các biện pháp khẩn cấp mà các quan chức Rollup có thể thực hiện" đang thực sự bỏ qua việc quản lý DAO và khóa thời gian, đồng thời ngay lập tức nâng cấp hợp đồng Rollup thông qua ủy quyền đa chữ ký hoặc ủy ban bảo mật. Xem xét rằng Rollup chính thống hiện tại lưu trữ hàng tỷ đô la tài sản của người dùng, việc "nâng cấp hợp đồng ngay lập tức" được ủy ban bảo mật và đa chữ ký ủy quyền là biện pháp khẩn cấp cuối cùng, nhưng nó cũng là thanh kiếm Damocles treo lơ lửng trên đầu tất cả người dùng.
Rõ ràng đây là vấn đề tối đa hóa niềm tin: bạn cần tin tưởng rằng các quan chức Rollup sẽ không có ý định đánh cắp tài sản của bạn. Nếu bạn xem xét nó từ quan điểm của Trustless (quan điểm của Nick Szabo), **tất cả các Rollup được kiểm soát bởi các ủy ban bảo mật và đa chữ ký đều không an toàn. **Emin Gun Sirer, người sáng lập Avalanche, Anatoly, người sáng lập Solana và Justin Bons, vết đen mặt trời nổi tiếng, đều đã nhấn mạnh loại vấn đề này.
Rolllup nào được thao tác bởi nhiều chữ ký/ủy ban?
Theo báo cáo "Khả năng nâng cấp của Ethereum L2" được phát hành bởi tổ chức nghiên cứu L2 nổi tiếng L2 BEAT và trang web trực quan hóa dữ liệu L2BEAT, **Arbitrum, Optimism, Loopring (Loopring), ZKSync Lite, ZkSync Era, Starknet, Polygon ZKEVM và các Rollup chính thống khác đều có các hợp đồng nâng cấp đa chữ ký hoặc được ủy quyền ủy quyền và có thể bỏ qua các hạn chế khóa thời gian. **
Mặc dù dYdX có địa chỉ EOA có thể bỏ qua hợp đồng nâng cấp quản trị DAO, nhưng nó bị giới hạn bởi khóa thời gian (chậm trễ ít nhất 2 ngày). Immutable X có thời gian trễ nâng cấp hợp đồng là 14 ngày.Do đó, theo L2BEAT, **dYdX và Immutable X kém tin cậy hơn so với các Rollup chính thống khác đã ra mắt mạng chính. **
** Vậy làm thế nào để giảm thiểu rủi ro tin cậy do đa chữ ký và ủy ban bảo mật mang lại? **Câu trả lời thực sự tương tự với sự cố Multichain: nó có thể được quy cho vấn đề chống phù thủy. Phải đảm bảo rằng các ủy ban/đa chữ ký được kiểm soát bởi nhiều thực thể khác nhau, không có mức độ lợi ích chồng chéo cao và rủi ro thông đồng thấp. Hiện tại, có vẻ như không có cách nào tốt ngoài việc tăng cường sự trưởng thành của quản trị phi tập trung của DAO và mời những người nổi tiếng hoặc tổ chức nổi tiếng và có uy tín tham gia vào ủy ban/đa chữ ký. Kịch bản trên dường như đã phổ biến ở các nền dân chủ trong thế giới thực.
Tất nhiên, cũng có thể hạn chế hành vi nâng cấp hợp đồng do đa chữ ký/ủy ban quản lý thông qua khóa thời gian, tuy nhiên điều này cần cân nhắc trên nhiều yếu tố, vì mục đích của đa chữ ký/ủy ban là xử lý nhanh một số tình huống khẩn cấp, đồng thời nếu bên dự án Rollup không có quyết tâm vững chắc về vấn đề thiếu tin cậy thì vấn đề này sẽ không thể giải quyết được.
Do đó, mặc dù các dự án Rollup khác nhau có thể đảm bảo tính bảo mật cho tài sản của người dùng hầu hết thời gian thông qua thiết kế cơ chế tinh vi, xác suất xảy ra sự kiện thiên nga đen trong Rollup không phải là không do sự tồn tại của nhiều chữ ký và ủy ban. Ngay cả khi xác suất thông đồng giữa nhiều chữ ký và thành viên ủy ban chỉ là 1 trên 10.000, thì khi xem xét giá trị tài sản dưới sự giám sát của L2 (giả định là 10 tỷ đô la Mỹ), rủi ro đối với tài sản của người dùng L2 vẫn cao tới 1 triệu đô la Mỹ mỗi ngày. Nhắc lại sự cố Multichain, nó thực sự rùng rợn.
Vì vậy, cá nhân tôi nghĩ rằng, như Polynya đã nói trước đây, hầu hết các khoản tiền trong hệ sinh thái Ethereum sẽ vẫn có xu hướng lưu thông và khóa ở L1 thay vì L2 và hệ sinh thái Rollup sẽ không thể thu được phần lớn giá trị trong hệ sinh thái Ethereum về lâu dài. Đối với các nhà đầu tư lớn và cá voi, mạng chính Ethereum rõ ràng là một nơi phù hợp và đáng tin cậy hơn để huy động vốn so với L2. Do đó, nhiều người đã cân nhắc "liệu sự gia tăng của L2 có dẫn đến sự đào ngũ của L1 hay không", trên thực tế, họ đã có câu trả lời.
Như Keigo Higashino đã nói trong cuốn sách của mình, trái tim con người khó nắm bắt hơn, khó hiểu hơn, phức tạp hơn và khó thay đổi hơn nhiều so với các công thức toán học. Nhiều thứ không thể được giải quyết bằng các biện pháp kỹ thuật thuần túy, nhưng bất kỳ yếu tố nào liên quan đến "bản chất con người" sẽ luôn là vấn đề khó kiểm soát nhất, khó đoán nhất và nghiêm trọng nhất trên thế giới. Ở đây, xin chúng ta hãy ghi nhớ câu kinh điển trên bia mộ của Kant:
"Có hai điều luôn vây quanh tâm trí tôi, và càng nghĩ về chúng, chúng càng gợi lên trong tôi nhiều điều kinh ngạc và sợ hãi: quy luật đạo đức bên trong và bầu trời đầy sao trên cao."
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.
Rủi ro niềm tin lớn nhất của Rollup: vấn đề "quy tắc của con người" không thể bỏ qua
Tác giả: Liên kết, Geek Web3
Giới thiệu: Kể từ khi Solana dần dần suy tàn và OP phát hành Mã thông báo, Layer2 và Rollup dường như đã trở thành thiên đường mới cho vô số học viên Web3. Khi thị trường gấu tiếp tục lan rộng, FTX bị loại khỏi cuộc chơi và Multicoin chịu tổn thất nặng nề, các đối thủ của Ethereum đã dần lụi tàn ở giai đoạn Web3 và họ liên tục mất tự tin để cạnh tranh với ETH. Ngày càng có nhiều người bắt đầu coi Rollup là cốt lõi của một vòng tường thuật mới, và ngày càng có nhiều dự án mọc lên trên L2 như nấm sau mưa.
Nhưng tất cả những điều này là “sự thịnh vượng giả tạo” hay là “bong bóng có thể vỡ bất cứ lúc nào”? Rollup và L2 có thực sự tốt như hầu hết mọi người khẳng định không? Nó có thực sự an toàn như mọi người vẫn nghĩ? Chưa kể nhiều OP Rollup không có bằng chứng gian lận, những rủi ro bảo mật của **Rollups là gì? **
Lấy cảm hứng từ "Khả năng nâng cấp của Ethereum L2" do L2BEAT phát hành gần đây, bài viết này tập trung vào các rủi ro ủy quyền và đa chữ ký đằng sau nâng cấp Rollup (nâng cấp ngay hợp đồng Rollup, lấy đi tài sản của người dùng) và những lời sáo rỗng trước đây về Rollup.
Mô tả ngắn gọn về nguyên tắc Rollup
Sơ lược về nguyên lý hoạt động của Rollup:
**Ethereum Rollup = một bộ hợp đồng trên các nút riêng của mạng Lớp 1 + Lớp 2. **
Nhóm các nút mạng lớp 2 có thể được chia thành nhiều loại vai trò, trong đó quan trọng nhất là bộ giải trình tự (Sequencer). Nó nhận các yêu cầu giao dịch xảy ra trên Layer2, xác định thứ tự thực hiện của chúng, sau đó đóng gói chuỗi giao dịch thành một lô (Batch), được gửi đến hợp đồng của dự án Rollup trên Layer1 (sau đây gọi chung là hợp đồng Rollup).
Nút đầy đủ của Layer2 có thể trực tiếp lấy chuỗi giao dịch từ trình sắp xếp thứ tự hoặc đọc lô giao dịch (Batch) do trình sắp xếp thứ tự gửi tới Lớp1, nhưng lớp sau có độ chắc chắn cuối cùng (không thể thay đổi) cao hơn lớp trước. Thông thường, khi một loạt giao dịch được gửi đến Lớp 1 bởi trình sắp xếp thứ tự, thứ tự của lô giao dịch không thể thay đổi (miễn là không có khôi phục khối trong Ethereum, chuỗi giao dịch của Rollup sẽ không thay đổi).
Vì việc thực hiện giao dịch sẽ thay đổi trạng thái của sổ cái chuỗi khối, nên ngoài thứ tự giao dịch, nút đầy đủ Lớp 2 cũng cần đồng bộ hóa trạng thái của sổ cái với trình sắp xếp thứ tự, để đảm bảo tính nhất quán.
Do đó, trình sắp xếp thứ tự không chỉ cần truyền các lô giao dịch tới hợp đồng Rollup của Lớp 1 mà còn truyền kết quả cập nhật trạng thái (Stateroot/State diff) sau khi thực hiện giao dịch cho Lớp 1.
Không khó để thấy rằng L1 (Ethereum) thực sự hoạt động như một bảng thông báo cho các nút L2, phi tập trung hơn, không tin cậy và an toàn hơn nhiều so với mạng riêng của L2. Đối với các nút đầy đủ L2, miễn là chúng có được chuỗi giao dịch Rollup trên L1 + Stateroot ban đầu, chúng có thể khôi phục sổ cái chuỗi khối L2 và tính toán Stateroot mới nhất. Nếu Stateroot được tính toán bởi chính nút đầy đủ L2 không phù hợp với Stateroot được xuất bản bởi trình sắp xếp thứ tự lên L1, điều đó có nghĩa là trình sắp xếp thứ tự đã gian lận.
Trường hợp giả định trực quan nhất là: Trình sắp xếp thứ tự của L2 có thể đánh cắp tài sản của người dùng. Ví dụ: nó có thể giả mạo một số giao dịch không nên xảy ra không (ps: chuyển một số Mã thông báo của người dùng L2 đến địa chỉ của toán tử trình tự, sau đó chuyển các Mã thông báo này sang L1). Loại câu hỏi này có thể được rút gọn thành: Phải làm gì sau khi trình sắp xếp thứ tự xuất bản dữ liệu giao dịch sai hoặc Stateroot sai? **
Đối với rủi ro gian lận của trình sắp xếp thứ tự, các loại Rollup khác nhau có các biện pháp đối phó khác nhau. Tổng số lạc quan (Optimistic Rollup) cho phép các nút đầy đủ L2 cung cấp bằng chứng gian lận (Fraud Proof), chứng minh rằng dữ liệu được trình tự giải phóng trong L1 có lỗi. Ví dụ: Arbitrum đã thiết lập danh sách trắng nút, cho phép các nút L2 trong danh sách trắng đưa ra bằng chứng gian lận.
Ngoài ra, khi xem xét rằng hầu hết các sàn giao dịch và các bên dự án cầu nối chuỗi chéo riêng tư sẽ chạy các nút đầy đủ L2, có thể tìm thấy lỗi ngay lập tức và tỷ lệ thành công của hầu hết các trình tự Rollup đánh cắp tiền về cơ bản là 0 (vì cuối cùng nó cần phải được rút ra, nó vẫn cần được hoàn thành trên sàn giao dịch hoặc số tiền bị đánh cắp có thể được chuyển sang L1 và sau đó tìm cách khác).
Nhưng đối với Chủ nghĩa lạc quan không có bằng chứng gian lận, trình sắp xếp chuỗi có thể đánh cắp tiền thông qua hợp đồng cầu nối chuỗi chéo của chính Rollup. Ví dụ: nhà điều hành trình sắp xếp thứ tự có thể giả mạo hướng dẫn giao dịch, chuyển tài sản của người khác trong L2 đến địa chỉ của chính họ, sau đó chuyển số tiền bị đánh cắp sang L1 thông qua hợp đồng cầu nối tích hợp của Rollup. Do không có bằng chứng gian lận nên nút đầy đủ của OP không thể thách thức giao dịch sai, vì vậy về lý thuyết, trình sắp xếp thứ tự của OP có thể đánh cắp tài sản của người dùng trong L2 (miễn là nó thực sự muốn làm như vậy).
Giải pháp cho loại vấn đề này là "đồng thuận xã hội" (được giám sát bởi dư luận như các thành viên cộng đồng và phương tiện truyền thông xã hội), hoặc **dựa vào xác nhận tín dụng chính thức của OP. **
Thật thú vị, một sàn giao dịch gần đây đã giảm độ trễ cho người dùng Arbitrum và Optimism khi chuyển tiền sang sàn giao dịch (từ 100 khối L2 xuống 1 khối L2), điều này thực sự là để tin tưởng rằng trình sắp xếp thứ tự của ARB và OP sẽ không làm điều ác** (theo mặc định, chúng là các máy chủ tập trung với sự chứng thực chính thức)**.
Không giống như Rollup lạc quan, ngoài việc dựa vào các nút đầy đủ L2, ZK Rollup giải quyết vấn đề gian lận trình sắp xếp thứ tự thông qua Bằng chứng xác thực (thường bị nhầm lẫn với Bằng chứng ZK). Có một nút được gọi là Prover trong mạng ZK Rollup, được thiết kế để tạo bằng chứng hợp lệ cho các lô giao dịch do trình sắp xếp thứ tự đưa ra. Đồng thời, có một hợp đồng (thường được gọi là Người xác minh) trên L1 xác minh cụ thể chứng chỉ hợp lệ, miễn là lô giao dịch và chứng chỉ tương ứng với Stateroot/State diff vượt qua xác minh của hợp đồng Người xác minh, nó sẽ được hoàn thiện (Finalized). Cầu chính thức của ZK Rollup sẽ chỉ phát hành các giao dịch rút tiền được xác minh bằng chứng chỉ hợp lệ, rõ ràng là đáng tin cậy hơn nhiều so với Optimism.
Về lý thuyết, tính bảo mật của OP Rollup được đảm bảo bởi các nút đầy đủ L2 (ít nhất một nút trung thực có thể đưa ra bằng chứng gian lận). Tính bảo mật của ZK Rollup được đảm bảo bởi hợp đồng Người xác minh trên L1 (giao dịch cuối cùng được xác nhận bởi nút L1). Nhìn bề ngoài, tất cả họ đều có thể "kế thừa tính bảo mật của L1" (với sự trợ giúp của L1 để hoàn thành xác nhận/thanh toán cuối cùng của giao dịch), và những người theo chủ nghĩa tối đa Ethereum thậm chí còn gọi nó là "tương đương với tính bảo mật của L1" (phù hợp với kết quả giao dịch cuối cùng của L1), nhưng tình hình thực tế không phải như vậy, hoặc thậm chí còn khác xa với nó.
Những điểm "sáo rỗng" đó
Trước hết, tốc độ tạo bằng chứng hợp lệ của ZK Rollup cực kỳ chậm, trình sắp xếp chuỗi có thể thực hiện hàng nghìn giao dịch trong 1 giây, nhưng có thể mất tối đa vài giờ để tạo Bằng chứng cho hàng nghìn giao dịch này. Nhưng vấn đề này cũng dễ giải quyết, ZKR chính thống về cơ bản phân chia nhiệm vụ tạo Bằng chứng và gửi nó đến các nút Chứng minh khác nhau để xử lý song song nhằm tăng đáng kể tốc độ tạo Bằng chứng.
Thứ hai, cần xem xét độ trễ của các nút L2 xuất bản dữ liệu trong L1. Bởi vì mỗi lần trình sắp xếp thứ tự hoặc Trình chứng minh gửi dữ liệu đến L1, sẽ có một chi phí cố định (giống như một container được tiêu thụ cho mỗi lô hàng). Xuất bản dữ liệu thường xuyên trên L1 sẽ không hiệu quả về chi phí hoặc thậm chí là thua lỗ, do đó trình sắp xếp thứ tự và Trình chứng minh sẽ giảm thiểu tần suất xuất bản dữ liệu trên L1, sau đó đóng gói và phát hành một lượng lớn dữ liệu cùng một lúc.
Nói cách khác, khi số lượng người dùng không đủ và số lượng giao dịch được khởi tạo không đủ, trình sắp xếp thứ tự sẽ trì hoãn việc phát hành dữ liệu cho L1. Ví dụ: khi có ít người dùng vào năm ngoái, Optimism chỉ gửi một lô giao dịch đến L1 cứ sau nửa giờ. Giờ đây, do số lượng người dùng tăng lên nên vấn đề này đã được giải quyết một cách hiệu quả. Khác với OP, Starknet đã áp dụng phương pháp giảm tần suất phát hành khác biệt của Trạng thái để giảm chi phí dữ liệu, điều này làm cho độ trễ xác nhận giao dịch cuối cùng của Starknet kéo dài đến 7-8 giờ.
Ngoài ra, hầu hết các Bản tổng hợp ZK thường "tổng hợp nhiều bằng chứng và gửi chúng đến L1 cùng một lúc" để giảm thêm chi phí. Điều đó có nghĩa là, Prover sẽ không gửi đến L1 ngay sau khi tạo Bằng chứng mà đợi nhiều Bằng chứng được tạo, tổng hợp chúng lại với nhau rồi gửi đến hợp đồng Người xác minh của L1. (Thực tế, quy trình tổng hợp các Bằng chứng là sử dụng một Bằng chứng để bao gồm các bước tính toán được tạo ra bằng cách xác minh nhiều Bằng chứng)
Hậu quả của việc này là tần suất phát hành Bằng chứng giảm hơn nữa và độ trễ từ khi bắt đầu giao dịch đến xác nhận cuối cùng càng kéo dài hơn.
Theo trình khám phá khối, thời gian trễ xác nhận giao dịch của **Polygon ZKEVM là khoảng 30-50 phút, còn Starknet và Zksync Era là hơn 7 giờ. **Rõ ràng đây chỉ là "kế thừa một phần bảo mật của L1", khác xa với "bảo mật tương đương với L1" mà những người ủng hộ Ethereum nói.
Tất nhiên, những vấn đề trên đều có thể được giải quyết bằng tiến bộ công nghệ, và sẽ thành hiện thực trong tương lai không xa. Ví dụ: nhiều bên tham gia dự án đang phát triển phần cứng hiệu suất cao để giảm thời gian tạo bằng chứng hợp lệ; Chủ nghĩa lạc quan cũng hứa hẹn sẽ sớm phát hành hệ thống chống gian lận; Giải pháp Danksharding của Ethereum sẽ giảm chi phí dữ liệu Rollup hàng chục lần hoặc thậm chí cao hơn, có thể giải quyết hiệu quả các vấn đề được liệt kê ở trên.
Bài toán “nhân trị” khó giải
Giống như các dự án ứng dụng như DeFi, hoạt động của mạng Rollup phụ thuộc vào các hợp đồng có liên quan trên L1 và các hợp đồng này là "có thể nâng cấp", nghĩa là một số mã có thể được thay thế (hầu hết Rollup sử dụng hợp đồng proxy) và có thể được thực hiện ngay lập tức dưới sự ủy quyền của ủy ban bảo mật hoặc đa chữ ký. Hãy để tôi nói về kết luận trước: **Rollup có thể nhanh chóng thay đổi mã hợp đồng trên L1 thông qua ủy ban bảo mật hoặc đa chữ ký do một số người kiểm soát, sau đó đánh cắp tài sản của người dùng. **
Trước hết là “tại sao cần nâng cấp hợp đồng Rollup” và “nâng cấp như thế nào”. Mã hợp đồng trên Ethereum không thể thay đổi sau khi triển khai, nhưng Rollup chắc chắn có nhiều lỗi khác nhau trong quá trình phát triển, có thể dẫn đến kết quả sai; đồng thời, Rollup cũng thường xuyên lặp lại sản phẩm và các chức năng mới cần được bổ sung thường xuyên; trong trường hợp nghiêm trọng hơn, có thể có tin tặc tấn công hợp đồng Rollup, vì vậy hợp đồng Rollup cần được nâng cấp, điều này thường đạt được thông qua hợp đồng proxy.
Hợp đồng proxy thực sự là một phương pháp thường được sử dụng trong phát triển hợp đồng Ethereum, nhằm tách dữ liệu của hợp đồng khỏi logic nghiệp vụ và lưu trữ chúng trong các hợp đồng khác nhau. Dữ liệu (các biến trạng thái) được lưu trữ trong các hợp đồng proxy và logic nghiệp vụ (các chức năng) được lưu trữ trong các hợp đồng logic. Hợp đồng ủy nhiệm (Proxy) giao phó quá trình thực hiện chức năng cho hợp đồng logic (Implementation) thông qua delegatecall, sau đó trả kết quả cuối cùng cho bên gọi (Caller).
Để nâng cấp hợp đồng ở chế độ proxy, bạn chỉ cần trỏ hợp đồng proxy sang hợp đồng logic mới (viết lại địa chỉ của hợp đồng logic được lưu trong hợp đồng proxy). **Hầu hết các dự án Rollup đã áp dụng phương pháp nâng cấp hợp đồng này, phương pháp này có thể được mô tả là đơn giản và thô sơ. **
Không khó để tưởng tượng rằng Hợp đồng của Rollup có thể được nâng cấp thực sự là một tiếng sét lớn: nếu hợp đồng được nâng cấp có chứa mã độc hại, chẳng hạn như sửa đổi các điều kiện giải phóng rút tiền của hợp đồng Bridge tích hợp trong Rollup hoặc sửa đổi các điều kiện của hợp đồng Người xác minh để xác định tính hợp lệ và chứng minh tính đúng đắn, trình sắp xếp chuỗi có thể đánh cắp tiền (nguyên tắc đã được đề cập trước đó).
Nhưng vấn đề là hợp đồng Rollup không được phép nâng cấp, lý do rất rõ ràng. Nhìn chung, phần lớn Rollup sẽ quyết định có nâng cấp hợp đồng Rollup thông qua quản trị DAO, ủy ban bảo mật hoặc ủy quyền đa chữ ký hay không. Ngoài ra, khóa thời gian Timelock sẽ được sử dụng để đặt khoảng thời gian trễ cho việc nâng cấp hợp đồng.
Xem xét rằng hầu hết các đề xuất DAO đều có quy trình thực hiện tự động (được triển khai thông qua hợp đồng trên chuỗi), ngay cả khi hợp đồng được nâng cấp, trước tiên phải có đủ phiếu bầu và sau đó hoạt động nâng cấp hợp đồng sẽ chỉ được thực hiện sau độ trễ do Khóa thời gian chỉ định (thường là nhiều ngày). Nếu ai đó muốn tham gia nâng cấp hợp đồng độc hại, họ cần phải vượt qua sự quản lý của DAO thông qua các cuộc tấn công quản trị (chẳng hạn như các cuộc tấn công quản trị xảy ra trên Tornado Cash), nhưng chi phí để làm như vậy rất cao và trước tiên họ phải có đủ Mã thông báo, điều này sẽ không thành công trong các trường hợp bình thường. Ngay cả khi cuộc tấn công quản trị thành công, do thời gian khóa, người dùng sẽ có đủ thời gian để rút tài sản khỏi L2 và **Các quan chức của Rollup sẽ có đủ thời gian để thực hiện các biện pháp khẩn cấp. **
Có vẻ như khóa thời gian là vũ khí ma thuật chống lại các bản nâng cấp hợp đồng độc hại. Nhưng vấn đề là cái gọi là "các biện pháp khẩn cấp mà các quan chức Rollup có thể thực hiện" đang thực sự bỏ qua việc quản lý DAO và khóa thời gian, đồng thời ngay lập tức nâng cấp hợp đồng Rollup thông qua ủy quyền đa chữ ký hoặc ủy ban bảo mật. Xem xét rằng Rollup chính thống hiện tại lưu trữ hàng tỷ đô la tài sản của người dùng, việc "nâng cấp hợp đồng ngay lập tức" được ủy ban bảo mật và đa chữ ký ủy quyền là biện pháp khẩn cấp cuối cùng, nhưng nó cũng là thanh kiếm Damocles treo lơ lửng trên đầu tất cả người dùng.
Rõ ràng đây là vấn đề tối đa hóa niềm tin: bạn cần tin tưởng rằng các quan chức Rollup sẽ không có ý định đánh cắp tài sản của bạn. Nếu bạn xem xét nó từ quan điểm của Trustless (quan điểm của Nick Szabo), **tất cả các Rollup được kiểm soát bởi các ủy ban bảo mật và đa chữ ký đều không an toàn. **Emin Gun Sirer, người sáng lập Avalanche, Anatoly, người sáng lập Solana và Justin Bons, vết đen mặt trời nổi tiếng, đều đã nhấn mạnh loại vấn đề này.
Rolllup nào được thao tác bởi nhiều chữ ký/ủy ban?
Theo báo cáo "Khả năng nâng cấp của Ethereum L2" được phát hành bởi tổ chức nghiên cứu L2 nổi tiếng L2 BEAT và trang web trực quan hóa dữ liệu L2BEAT, **Arbitrum, Optimism, Loopring (Loopring), ZKSync Lite, ZkSync Era, Starknet, Polygon ZKEVM và các Rollup chính thống khác đều có các hợp đồng nâng cấp đa chữ ký hoặc được ủy quyền ủy quyền và có thể bỏ qua các hạn chế khóa thời gian. **
Mặc dù dYdX có địa chỉ EOA có thể bỏ qua hợp đồng nâng cấp quản trị DAO, nhưng nó bị giới hạn bởi khóa thời gian (chậm trễ ít nhất 2 ngày). Immutable X có thời gian trễ nâng cấp hợp đồng là 14 ngày.Do đó, theo L2BEAT, **dYdX và Immutable X kém tin cậy hơn so với các Rollup chính thống khác đã ra mắt mạng chính. **
** Vậy làm thế nào để giảm thiểu rủi ro tin cậy do đa chữ ký và ủy ban bảo mật mang lại? **Câu trả lời thực sự tương tự với sự cố Multichain: nó có thể được quy cho vấn đề chống phù thủy. Phải đảm bảo rằng các ủy ban/đa chữ ký được kiểm soát bởi nhiều thực thể khác nhau, không có mức độ lợi ích chồng chéo cao và rủi ro thông đồng thấp. Hiện tại, có vẻ như không có cách nào tốt ngoài việc tăng cường sự trưởng thành của quản trị phi tập trung của DAO và mời những người nổi tiếng hoặc tổ chức nổi tiếng và có uy tín tham gia vào ủy ban/đa chữ ký. Kịch bản trên dường như đã phổ biến ở các nền dân chủ trong thế giới thực.
Tất nhiên, cũng có thể hạn chế hành vi nâng cấp hợp đồng do đa chữ ký/ủy ban quản lý thông qua khóa thời gian, tuy nhiên điều này cần cân nhắc trên nhiều yếu tố, vì mục đích của đa chữ ký/ủy ban là xử lý nhanh một số tình huống khẩn cấp, đồng thời nếu bên dự án Rollup không có quyết tâm vững chắc về vấn đề thiếu tin cậy thì vấn đề này sẽ không thể giải quyết được.
Do đó, mặc dù các dự án Rollup khác nhau có thể đảm bảo tính bảo mật cho tài sản của người dùng hầu hết thời gian thông qua thiết kế cơ chế tinh vi, xác suất xảy ra sự kiện thiên nga đen trong Rollup không phải là không do sự tồn tại của nhiều chữ ký và ủy ban. Ngay cả khi xác suất thông đồng giữa nhiều chữ ký và thành viên ủy ban chỉ là 1 trên 10.000, thì khi xem xét giá trị tài sản dưới sự giám sát của L2 (giả định là 10 tỷ đô la Mỹ), rủi ro đối với tài sản của người dùng L2 vẫn cao tới 1 triệu đô la Mỹ mỗi ngày. Nhắc lại sự cố Multichain, nó thực sự rùng rợn.
Vì vậy, cá nhân tôi nghĩ rằng, như Polynya đã nói trước đây, hầu hết các khoản tiền trong hệ sinh thái Ethereum sẽ vẫn có xu hướng lưu thông và khóa ở L1 thay vì L2 và hệ sinh thái Rollup sẽ không thể thu được phần lớn giá trị trong hệ sinh thái Ethereum về lâu dài. Đối với các nhà đầu tư lớn và cá voi, mạng chính Ethereum rõ ràng là một nơi phù hợp và đáng tin cậy hơn để huy động vốn so với L2. Do đó, nhiều người đã cân nhắc "liệu sự gia tăng của L2 có dẫn đến sự đào ngũ của L1 hay không", trên thực tế, họ đã có câu trả lời.
Như Keigo Higashino đã nói trong cuốn sách của mình, trái tim con người khó nắm bắt hơn, khó hiểu hơn, phức tạp hơn và khó thay đổi hơn nhiều so với các công thức toán học. Nhiều thứ không thể được giải quyết bằng các biện pháp kỹ thuật thuần túy, nhưng bất kỳ yếu tố nào liên quan đến "bản chất con người" sẽ luôn là vấn đề khó kiểm soát nhất, khó đoán nhất và nghiêm trọng nhất trên thế giới. Ở đây, xin chúng ta hãy ghi nhớ câu kinh điển trên bia mộ của Kant:
"Có hai điều luôn vây quanh tâm trí tôi, và càng nghĩ về chúng, chúng càng gợi lên trong tôi nhiều điều kinh ngạc và sợ hãi: quy luật đạo đức bên trong và bầu trời đầy sao trên cao."