
Khai trừ Validium? Hiểu lại Layer2 từ góc nhìn của người đề xuất Danksharding
Tuyển chọn TechFlowTuyển chọn TechFlow

Khai trừ Validium? Hiểu lại Layer2 từ góc nhìn của người đề xuất Danksharding
Bài viết này sẽ đi sâu vào phân tích chi tiết về Layer2 từ góc nhìn của Dankrad, nhằm hiểu rõ tại sao Validium không phải là một "Layer2" theo nghĩa nghiêm ngặt.
Tác giả: Faust, Geeker web3
Dẫn nhập
Gần đây, Dankrad Feist, nhà nghiên cứu của Quỹ Ethereum và là người đề xuất Danksharding, đã đưa ra một bình luận gây tranh cãi trên Twitter. Ông khẳng định rõ ràng rằng các blockchain mô-đun không sử dụng ETH làm lớp khả dụng dữ liệu (DA) không phải là Rollup, cũng không phải là Layer2 của Ethereum. Theo quan điểm của Dankrad, Arbitrum Nova, Immutable X và Mantle sẽ phải bị gạch tên khỏi danh sách Layer2, vì chúng chỉ công bố dữ liệu giao dịch bên ngoài ETH (tức là thông qua mạng DAC riêng biệt do họ tự xây dựng).

Đồng thời, Dankrad cũng cho biết các giải pháp như Plasmas và kênh trạng thái – những phương án không cần tính khả dụng dữ liệu trên chuỗi (Data Availability) để đảm bảo an toàn – vẫn được xem là Layer2, nhưng Validium (ZKRollup không dùng ETH làm lớp DA) thì không phải Layer2.


Phát biểu này của Dankrad ngay lập tức vấp phải sự phản đối từ nhiều Founder hoặc Researcher trong lĩnh vực Rollup. Rất nhiều dự án "Layer2" nhằm tiết kiệm chi phí nên không dùng ETH làm lớp DA (khả dụng dữ liệu); nếu loại bỏ những dự án này khỏi danh sách L2, ảnh hưởng sẽ rất lớn đến các mạng mở rộng; đồng thời, nếu Validium không được coi là L2, thì Plasma cũng không nên có tư cách này.
Trước ý kiến này, Dankrad cho rằng khi DA không khả dụng (tức là mạng DA ngoài chuỗi giữ lại dữ liệu, không công khai dữ liệu giao dịch), người dùng Plasma vẫn có thể rút tài sản về L1 một cách an toàn; tuy nhiên trong trường hợp tương tự, Validium (phần lớn các dự án dùng StarkEx đều thuộc dạng validium) lại có thể khiến người dùng không thể rút tiền về L1, làm đóng băng tiền của họ.

Rõ ràng, Dankrad muốn định nghĩa một dự án mở rộng có được gọi là Layer2 của Ethereum hay không dựa trên tiêu chí “mức độ an toàn”. Nếu xét theo góc độ “an toàn”, trong tình huống cực đoan khi trình sắp thứ tự (sequencer) gặp lỗi + lớp DA phát động tấn công giữ lại dữ liệu (giấu dữ liệu mới), Validium thực sự có thể khóa tài sản người dùng tại L2, khiến họ không thể rút lên L1; còn Plasma dù thường kém an toàn hơn Validium, nhưng nhờ thiết kế khác biệt, trong tình huống sequencer lỗi + DA giữ lại dữ liệu, vẫn cho phép người dùng rút tài sản về L1 một cách an toàn. Do đó, lập luận của Dankrad có lý.
Bài viết này sẽ bắt đầu từ quan điểm của Dankrad, phân tích sâu hơn từng chi tiết của Layer2 để hiểu rõ vì sao Validium không phải là “Layer2” theo nghĩa nghiêm ngặt.
Vậy rốt cuộc Layer2 được định nghĩa thế nào?

Theo định nghĩa trên trang ethereum.org và phần lớn cộng đồng Ethereum, Layer2 là “một blockchain độc lập giúp mở rộng quy mô Ethereum + thừa hưởng độ an toàn của Ethereum”. Trước hết, “mở rộng quy mô Ethereum” nghĩa là chia sẻ lưu lượng mà Ethereum không thể xử lý, giảm áp lực TPS. Còn “thừa hưởng độ an toàn của Ethereum” thực chất có thể hiểu là “tận dụng Ethereum để đảm bảo an toàn cho chính mình”.
Ví dụ, mọi giao dịch Tx trên Layer2 đều phải được hoàn tất thanh toán cuối cùng (Finalize) trên ETH, các Tx sai dữ liệu sẽ không được chấp nhận; nếu muốn hoàn tác (rollback) khối của L2, trước tiên phải rollback khối Ethereum, miễn là mạng chính Ethereum không xảy ra hiện tượng rollback khối kiểu tấn công 51%, thì khối L2 cũng sẽ không bị rollback.
Nếu đi sâu hơn vào tính an toàn của Layer2, ta còn phải xem xét nhiều tình huống cực đoan. Ví dụ, nếu đội ngũ vận hành L2 bỏ chạy, sequencer gặp lỗi, hoặc lớp DA ngoài chuỗi sập, trong những trường hợp cực đoan này, người dùng có thể rút tiền từ L2 về L1 một cách an toàn hay không?
Cơ chế “rút tiền cưỡng chế” của Layer2
Không kể đến các yếu tố như nâng cấp hợp đồng L2/hạn chế đa ký, thực tế là Arbitrum hay StarkEx đều có cơ chế rút tiền cưỡng chế dành cho người dùng. Giả sử sequencer L2 phát động tấn công kiểm duyệt, cố tình từ chối giao dịch/rút tiền của người dùng, hoặc trực tiếp sập vĩnh viễn, người dùng Arbitrum có thể gọi hàm forceInclusion trên hợp đồng Sequencer Inbox ở L1, gửi trực tiếp dữ liệu giao dịch lên L1; nếu trong vòng 24 giờ, sequencer không xử lý giao dịch/rút tiền cần “bắt buộc bao gồm” này, giao dịch sẽ được đưa thẳng vào chuỗi giao dịch của sổ cái Rollup, tạo ra một “lối thoát an toàn” cho người dùng L2 có thể rút tiền cưỡng chế.

So với đó, giải pháp StarkEx có cơ chế Escape Hatch (buồng thoát hiểm) thậm chí còn mạnh hơn. Nếu yêu cầu Forced Withdrawal của người dùng L2 trên L1 sau khi kết thúc cửa sổ 7 ngày mà sequencer vẫn không phản hồi, người dùng có thể kích hoạt chức năng freezeRequest để đưa L2 vào giai đoạn đóng băng. Lúc này, sequencer L2 sẽ không thể cập nhật trạng thái L2 trên L1 nữa, và trạng thái L2 sẽ bị khóa trong 1 năm trước khi được mở lại.


Sau khi trạng thái L2 bị đóng băng, người dùng có thể tạo Merkle Proof liên quan đến trạng thái hiện tại, chứng minh số dư tiền của họ trên L2, rồi dùng hợp đồng Escape Hatch trên L1 để rút tiền. Đây là dịch vụ “rút toàn bộ” mà giải pháp StarkEx cung cấp. Ngay cả khi dự án L2 biến mất, sequencer hỏng vĩnh viễn, người dùng vẫn có cách rút tiền khỏi L2.
Tuy nhiên tồn tại một vấn đề: phần lớn L2 dùng giải pháp StarkEx đều là Validium (ví dụ Immutable X và ApeX), không công bố dữ liệu DA cần thiết lên ETH, thông tin xây dựng cây trạng thái L2 hiện tại đều nằm ngoài chuỗi. Nếu người dùng không thể lấy được dữ liệu xây dựng Merkle Proof từ ngoài chuỗi (ví dụ lớp DA ngoài chuỗi phát động tấn công giữ lại dữ liệu), họ sẽ không thể rút tiền bằng buồng thoát hiểm.

Tới đây, lý do Dankrad nêu ở đầu bài viết vì sao cho rằng Validium không an toàn đã rất rõ ràng: vì Validium không giống Rollup khi công bố dữ liệu DA lên chuỗi, nên người dùng có thể không tạo được Merkle Proof cần thiết cho “rút tiền cưỡng chế”.


Sự khác biệt giữa Validium và Plasma khi xảy ra tấn công giữ lại dữ liệu
Thực tế, sequencer của Validium chỉ đăng Stateroot mới nhất của L2 (gốc cây trạng thái) lên chuỗi L1, kèm theo một Chứng minh tính hợp lệ (Validity Proof - ZK Proof), chứng minh quá trình chuyển đổi trạng thái (thay đổi số dư người dùng) dẫn tới Stateroot mới là đúng đắn.


Tuy nhiên, chỉ với stateroot thì không thể tái tạo lại cây trạng thái (world state trie) lúc này, do đó không thể biết trạng thái cụ thể của từng tài khoản L2 (bao gồm số dư), người dùng L2 sẽ không thể tạo Merkle Proof tương ứng với Stateroot hợp lệ hiện tại. Đây là điểm bất lợi của Validium.

(Merkle Proof thực chất là dữ liệu cần thiết trong quá trình tạo root, tức phần màu tối trong hình. Để tạo Merkle Proof tương ứng với Stateroot, bắt buộc phải biết cấu trúc cây trạng thái, tức cần dữ liệu DA)
Ở đây cần nhấn mạnh về DAC. Dữ liệu DA liên quan đến Validium, ví dụ như một loạt giao dịch mới nhất do sequencer xử lý, sẽ được đồng bộ tới một mạng DA chuyên biệt cho L2 gọi là Ủy ban Khả dụng Dữ liệu (DAC) (Data Availability Committee), gồm nhiều máy chủ nút, thường do nhóm vận hành L2, thành viên cộng đồng hoặc đơn vị khác vận hành và giám sát (nhưng đây chỉ là bề mặt, thực tế thành viên DAC là ai thì bên ngoài khó xác minh).

Điều thú vị là các thành viên DAC của Validium cần thường xuyên gửi đa ký lên L1, xác nhận rằng Stateroot mới và Validity Proof mà sequencer L2 gửi lên L1 khớp với dữ liệu DA mà DAC đồng bộ được. Chỉ khi đa ký từ DAC được gửi, Stateroot mới và Validity Proof mới được coi là hợp lệ.

Hiện tại, DAC của Immutable X dùng cơ chế đa ký 5/7, dYdX dù là ZKRollup nhưng cũng có DAC, dùng đa ký 1/2. (dYdX chỉ đăng State diff – thay đổi trạng thái – chứ không phải toàn bộ dữ liệu giao dịch. Nhưng nếu có được State diff trong lịch sử, ta có thể phục hồi toàn bộ số dư tài sản của các địa chỉ L2, từ đó tạo Merkle Proof để rút toàn bộ tiền).

Lập luận của Dankrad có lý. Nếu các thành viên DAC của Validium thông đồng phát động tấn công giữ lại dữ liệu, không cho các nút L2 khác đồng bộ dữ liệu mới nhất, đồng thời cập nhật Stateroot hợp lệ hiện tại của L2, người dùng sẽ không thể tạo Merkle Proof tương ứng với root hợp lệ lúc này để rút tiền (vì dữ liệu DA sau thời điểm này không khả dụng, chỉ dữ liệu cũ mới dùng được).

Tuy nhiên, Dankrad đang nói đến một tình huống cực đoan về mặt lý thuyết, thực tế hầu hết sequencer Validium đều phát tán dữ liệu giao dịch mới xử lý tới các nút L2 khác ngay lập tức, trong đó không thiếu các nút trung thực. Chỉ cần một nút trung thực kịp thời lấy được dữ liệu DA, người dùng vẫn có thể rút toàn bộ tiền khỏi L2.
Nhưng tại sao vấn đề lý thuyết tồn tại ở Validium lại không tồn tại ở Plasma? Bởi vì cách Plasma xác định Stateroot hợp lệ khác với Validium, do có cửa sổ chứng minh gian lận. Plasma là giải pháp mở rộng L2 trước thời OPRollup, giống OPR ở chỗ dùng chứng minh gian lận để đảm bảo an toàn L2.
Plasma giống OPR ở chỗ đều có thiết lập cửa sổ: Stateroot mới do sequencer đăng không được công nhận ngay là hợp lệ, mà phải đợi cửa sổ đóng lại và không có nút L2 nào đăng chứng minh gian lận. Vì vậy, Stateroot hợp lệ hiện tại của Plasma và OPR đều là những cái được gửi từ vài ngày trước (giống như ánh sáng sao ta thấy, thực ra là ánh sáng phát ra từ lâu rồi), và người dùng thường có thể truy cập dữ liệu DA từ quá khứ.

Đồng thời, cơ chế chứng minh gian lận chỉ hoạt động khi DA hiện tại khả dụng, tức các nút Verifier của Plasma có thể truy cập dữ liệu DA hiện tại, từ đó mới tạo được chứng minh gian lận (nếu cần).
Vậy thì rất đơn giản: điều kiện để Plasma hoạt động là dữ liệu DA hiện tại khả dụng. Nếu từ bây giờ, DA của L2 không còn khả dụng, người dùng có thể rút tiền an toàn không?
Câu hỏi này không khó phân tích: giả sử cửa sổ của Plasma là 7 ngày, nếu từ thời điểm T0 trở đi, dữ liệu DA mới không khả dụng (DAC phát động tấn công giữ lại dữ liệu, không cho các nút L2 trung thực lấy dữ liệu sau T0). Vì Stateroot hợp lệ tại T0 và một khoảng thời gian sau đó là cái được gửi trước T0, và dữ liệu lịch sử trước T0 có thể truy vết, người dùng có thể tạo Merkle Proof để rút tiền cưỡng chế.

Ngay cả khi nhiều người không nhận ra bất thường ngay lập tức, nhưng do có cửa sổ (OP là 7 ngày), miễn là Stateroot gửi tại T0 chưa được hợp thức hóa, và dữ liệu DA trước T0 còn truy vết được, người dùng vẫn có thể rút tiền an toàn khỏi L2.
Kết luận
Tới đây, chúng ta cơ bản đã làm rõ sự khác biệt về mặt an toàn giữa Validium và Plasma:
Sequencer của Validium sau khi đăng Stateroot, chỉ cần lập tức gửi Validity Proof và đa ký DAC, Stateroot sẽ trở thành hợp lệ, là Stateroot hợp lệ mới nhất; nếu người dùng và các nút L2 trung thực bị tấn công giữ lại dữ liệu, không thể tạo Merkle Proof tương ứng với Stateroot hợp lệ hiện tại, họ sẽ không thể rút tiền về L1.
Còn Plasma sau khi đăng Stateroot mới, phải đợi cửa sổ kết thúc mới được công nhận là hợp lệ, và Stateroot hợp lệ lúc này là cái được gửi từ quá khứ. Do có cửa sổ (ARB 3 ngày, OP 7 ngày), ngay cả khi dữ liệu DA cho Stateroot mới không khả dụng, người dùng vẫn có dữ liệu DA cho Stateroot hợp lệ hiện tại (vì nó được gửi từ quá khứ), đủ thời gian để rút tiền cưỡng chế về L1.
Vì vậy, những gì Dankrad nói là có lý. Khi xảy ra tấn công giữ lại dữ liệu, Validium có thể làm người dùng mắc kẹt tài sản tại L2, nhưng Plasma thì không có vấn đề này.
(Trong hình dưới, Dankrad nói có một điểm không đúng: Plasma lẽ ra không cho phép tạo Merkle Proof từ Stateroot hợp lệ đã lỗi thời để rút tiền, vì điều đó có thể dẫn đến chi tiêu kép)

Do đó, tấn công giữ lại dữ liệu từ lớp DA ngoài chuỗi tiềm ẩn nhiều rủi ro, nhưng Celestia đang cố gắng giải quyết vấn đề này. Ngoài ra, vì hầu hết các dự án Layer2 đều cung cấp cổng kết nối để các nút L2 luôn đồng bộ ngoài chuỗi với sequencer, lo ngại của Dankrad thực tế thường chỉ là trên lý thuyết chứ không phải thực tế.
Nếu chúng ta quá khắt khe và đặt ra giả thiết cực đoan hơn: tất cả các nút ngoài chuỗi của Plasma đều không khả dụng, thì những người dùng bình thường chưa từng vận hành nút L2 sẽ không thể rút tiền cưỡng chế về L1. Nhưng xác suất việc này xảy ra tương đương với xác suất tất cả các nút của một blockchain công cộng cùng sập vĩnh viễn – gần như là không bao giờ xảy ra.
Vì vậy, nhiều lúc chúng ta chỉ đang bàn về những chuyện vốn sẽ chẳng bao giờ xảy ra. Như câu nói nổi tiếng trong phim Mỹ Chernobyl mà phó chủ tịch KGB nói với nhân vật chính: “Tại sao phải lo lắng về những chuyện sẽ chẳng bao giờ xảy ra?”


Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News














