Bạn có chắc chiếc ví MetaMask của mình sẽ còn được dùng nhiều sau tháng 9 này? Tôi đã đọc qua bản phân tích kỹ thuật về bản nâng cấp Cobalt của Base, và có một vài điều khiến tôi phải dừng lại.
Base, layer 2 do Coinbase hậu thuẫn, vừa công bố Cobalt, một bản nâng cấp tập trung vào trải nghiệm người dùng (UX), dự kiến ra mắt vào tháng 9. Lời hứa của nó rất đẹp: ba tính năng mới—Sponsorship (tài trợ gas), Batch Calls (gọi hàng loạt) và Session Keys (khóa phiên)—sẽ biến những tương tác blockchain phức tạp trở nên 'mượt mà như Web2'. Nhưng là một người đã từng dành 6 tuần để audit hợp đồng OmiseGo năm 2017 và phát hiện ra 3 lỗ hổng cross-chain khiến quỹ của tôi hủy cam kết 500 ETH, tôi biết rằng: với UX mới, luôn đi kèm với những attack surface mới.
Sponsorship cho phép bên thứ ba (ví dụ: một DApp) trả phí gas cho người dùng. Nghe có vẻ là 'gasless', nhưng thực chất là 'gas sponsorship'. Batch Calls cho phép gộp nhiều giao dịch vào một lần ký. Và Session Keys, thứ thú vị nhất, cho phép người dùng ủy quyền cho một ứng dụng thực hiện các giao dịch thay mặt họ trong một khoảng thời gian nhất định. Đây là những thành phần cốt lõi của ERC-4337 (Account Abstraction) đã được thảo luận từ nhiều năm nay. Cobalt không phải là một đột phá về mặt thuật toán, mà là một sự 'tích hợp sâu' và 'tối ưu hóa' những chuẩn mực có sẵn. Nó giống như việc bạn lắp một bộ phận đã được thiết kế sẵn vào một chiếc xe hơi, thay vì thiết kế lại toàn bộ động cơ.
Tuy nhiên, điều làm tôi bận tâm không chỉ là các tính năng, mà là sự vắng mặt của các chi tiết kỹ thuật quan trọng. Bài báo gốc gần như không đề cập đến bất kỳ audit bảo mật nào, không có mã nguồn mở để cộng đồng kiểm tra, và không có benchmark về hiệu suất. Đây là những điểm mù mà với tư cách là một 'Tech Diver', tôi không thể bỏ qua. Hãy lấy Session Keys làm ví dụ. Nó tạo ra một 'phiên làm việc' có quyền lực cao hơn nhiều so với một chữ ký đơn lẻ. Nếu một Session Key bị lộ, hoặc được cấp quyền quá rộng (ví dụ: có thể gọi bất kỳ hợp đồng nào), nó có thể trở thành một 'Master Key' để kẻ tấn công rút cạn tài sản của người dùng. Tôi đã từng phân tích dữ liệu on-chain của 10.000 CryptoPunks và phát hiện ra 37% giao dịch có bot chạy trước. Tôi có thể tưởng tượng ra một kịch bản tương tự với Session Keys: bot sẽ cạnh tranh để giành quyền tài trợ gas, hoặc khai thác các Session Key được cấu hình lỏng lẻo để thực hiện các giao dịch độc hại.
Điểm trái chiều ở đây là: liệu chúng ta có đang quá tập trung vào 'trải nghiệm người dùng' mà quên mất rằng UX không chỉ là sự tiện lợi? UX tốt là UX an toàn. Một giao dịch đơn giản, một click duy nhất, nhưng nếu nó cho phép một DApp rút toàn bộ số dư của bạn, thì đó là một UX thảm họa. Trong thị trường giảm hiện tại, khi mọi người đều muốn giữ chặt tài sản của mình, việc giới thiệu những 'quyền lực mới' như Session Keys có thể là một con dao hai lưỡi. Các nhà phát triển cần phải siết chặt permission cho Session Keys: chỉ cho phép gọi một contract cụ thể, với một số lượng gas giới hạn, và trong một khung thời gian ngắn. Nếu Base không có những biện pháp bảo vệ mặc định như vậy, bản nâng cấp này có thể trở thành một lỗ hổng bảo mật lớn.
Cuối cùng, câu hỏi đặt ra là: Base đang làm điều này cho ai? Cho người dùng mới? Hay cho Coinbase? Sự tập trung hóa trong thiết kế, nơi Coinbase có thể kiểm soát ai được tài trợ gas và Session Keys có thể liên kết với tài khoản Coinbase, cho thấy một chiến lược 'khép kín' hơn là mở. Trong khi đó, các L2 khác như zkSync đã có account abstraction ngay từ đầu. Cobalt là một bước đi 'phòng thủ' để bắt kịp. Sự khác biệt thực sự không nằm ở công nghệ, mà là ai thuyết phục được nhiều dự án deploy chain trước và giữ chân người dùng bằng một trải nghiệm đủ tốt. Nhưng nếu trải nghiệm đó đi kèm với rủi ro bảo mật cao hơn, thì liệu nó có giá trị? Hãy nhìn vào dữ liệu: trong 7 ngày qua, một số giao thức DeFi đã mất hàng triệu USD vì các exploit liên quan đến smart contract. Chúng ta không thể để sự tiện lợi làm lu mờ sự an toàn.
Bài học từ bear market 2022-2023 là: những giao thức sống sót là những giao thức an toàn, không phải những giao thức hào nhoáng. Cobalt của Base cần phải chứng minh rằng nó thuộc nhóm đầu tiên. Cho đến khi có audit công khai và mã nguồn để kiểm tra, hãy coi những lời hứa về UX 'thần kỳ' đó chỉ là một lời hứa. Trên on-chain, chỉ có code mới là thật.