Tiêu đề gốc: "Phân tích mã: Tại sao Blast hoàn toàn không phải là L2"
Tác giả gốc: Jarrod Watts
Bản tổng hợp ban đầu: Golden Finance 0xjs
Lưu ý của biên tập viên: Blast mạng L2 mới đã trở thành tâm điểm chú ý của dư luận kể từ khi ra mắt vào tuần này. Cá voi NFT Christian không chỉ gửi 500 stETH vào Blast mà vào ngày 22, Blast còn thông báo rằng họ đã hoàn thành khoản tài trợ 20 triệu USD. Nhiều nhà phát triển cũng đang tranh luận về mã và bản chất của Blast, trong số đó, Jarrod Watts của Polygon thậm chí còn thẳng thắn tuyên bố rằng Blast không phải là mạng Lớp 2. Bài viết này được dịch từ tweet X của anh ấy.
Một số người nói "Blast chỉ là một chữ ký đa dạng 3/5..."
Trong vài năm qua tôi đã đào sâu vào mã nguồn để xem tuyên bố này có đúng hay không.
Đây là những gì tôi thấy:
1.Một ví mới 0x52c31 triển khai hai hợp đồng: 1) 0xa01: Hợp đồng ủy quyền gửi tiền nổ; 2) 0x5f6: Hợp đồng thực hiện tiền gửi tiền nổ.

Nếu bạn không quen với các cài đặt "Hợp đồng đại lý" này, họ sẽ sẽ được giải thích sau. Quay lại vấn đề này.
2.0x52c31 Sau khi triển khai các hợp đồng này, chuyển quyền sở hữu sang hợp đồng thông minh Gnosis Safe.
Hợp đồng Gnosis Safe hay "Safe2" là hợp đồng thông minh đa chữ ký phổ biến và đáng tin cậy nhất. Họ yêu cầu chữ ký của đa số người ký để thực hiện giao dịch.

3.Hiện tại có 5 hợp đồng Safe có hợp đồng Blast người ký tên.
Điều này có nghĩa là đa số (tức là 3/5) người ký cần thực hiện các giao dịch thay mặt cho Hợp đồng an toàn này. 5 chiếc ví này đều là những chiếc ví còn rất mới nhưng chưa rõ chủ nhân.
4. Vậy là hợp đồng đa chữ ký 3/5 hiện là "chủ sở hữu" của hợp đồng Blast Deposit.
Như chúng tôi đã đề cập, hợp đồng Blast Deposit bao gồm hai hợp đồng: ủy quyền và thực hiện.
Trở thành "chủ sở hữu" của chúng thực sự có nghĩa là gì?
5. Với các hợp đồng thông minh thông thường, bạn không thể thay đổi mã sau khi được triển khai trên blockchain. Hợp đồng thông minh proxy cho phép bạn thực hiện "nâng cấp" (thay đổi) đối với hợp đồng thông minh mà không phải thay thế toàn bộ hợp đồng. Điều này thường được sử dụng để sửa lỗi hoặc thêm chức năng.
6. Tác nhân Blast thực hiện hợp đồng UUPSUpgradeable của OpenZeppelin. Điều này bao gồm các chức năng như "_upgradeTo", cho phép thay đổi logic của hợp đồng đã triển khai. Điều này có nghĩa là các hợp đồng mà người dùng tương tác có thể duy trì cùng một địa chỉ hợp đồng.
7.Trường hợp xấu nhất đối với khả năng nâng cấp này là chủ sở hữu (đa chữ ký) thay đổi logic của hợp đồng thành nội dung độc hại.
Nghe có vẻ hơi đáng sợ phải không? …Trên thực tế, những “chức năng phụ trợ” này được hầu hết các L2 sử dụng ngày nay.
8.Các bản tổng hợp lạc quan như Lạc quan và Trọng tài cũng có tính năng này.
Theo L2Beat:
·Đảm bảo OP Mainnet Mã của hệ thống cơ sở có thể thay đổi mà không cần thông báo trước.
·Việc nâng cấp lên Arbitrum One có thể bị chậm trễ khoảng 12 ngày nhưng có thể được Hội đồng phê duyệt không chậm trễ.
9.Điều này cũng đúng với thế giới zkEVM
Theo L2Beat:
·Mã bảo vệ hệ thống Linea, Scroll và zkSync có thể thay đổi mà không cần thông báo trước.
·Các bản nâng cấp của Polygon zkEVM có độ trễ khoảng 10 ngày (trừ khi trạng thái khẩn cấp được kích hoạt)
10. Các bản tổng hợp này có Lý do thực hiện nâng cấp multisig là để kích hoạt bảo mật tạm thời trong khi công nghệ hoàn thiện. Như L2Beat đã nêu trong blog giai đoạn L2 của mình, giai đoạn cuối cùng của Rollup sẽ hạn chế khả năng của các ủy ban an toàn này trong việc giải quyết "những sai sót nghiêm trọng".

11. Năng lực của Hội đồng Bảo an đã giảm dần theo thời gian. Tuy nhiên, khả năng hiển thị của thành viên là quan trọng.
Ví dụ: Polygon PIP-29 đề xuất 13 thành viên quản lý "những thay đổi trong phạm vi hẹp, có giới hạn thời gian đối với hợp đồng thông minh của hệ thống".

12. Do đó,Mặc dù thực tế Blast có thể để thực hiện nâng cấp mã và lấy cắp tiền ngay lập tức, nhưng *hiện tại* nhiều giải pháp L2 khác có chức năng tương tự.
Cho đến nay tôi vẫn đang bảo vệ Blast. Nhưng đây là tin xấu... hãy tiếp tục.
13.Vụ nổ không phải là L2.
Blast chỉ là một hợp đồng thông minh có hai chức năng: 1. Chấp nhận tiền của người dùng. 2. Đầu tư tiền của người dùng vào các giao thức như Lido.
Không có testnet, không có giao dịch, không có cầu nối, không có cuộn dữ liệu và không có dữ liệu giao dịch nào được gửi tới Ethereum. Đây không phải là L2.
14. Bằng cách gửi tiền vào hợp đồng Blast, về cơ bản, bạn tin tưởng 3-5 người lạ sẽ đặt cược số tiền của bạn cho bạn.
Bạn sẽ không thể rút tiền bất cứ lúc nào trừ khi 3-5 người này quyết định làm điều đúng đắn trong tương lai. Một lần nữa, ở đây không có cây cầu.
15. Điều này thực sự điên rồ đối với tôi...
Bạn không thể lấy lại tiền của bạn từ Blast cho đến khi:
3/5 triển khai đa chữ ký của người lạ ký hợp đồng mới;
Hợp đồng có chức năng rút tiền từ đó;
Họ chuyển tất cả tiền sang hợp đồng mới.
16. Nhưngcó những tình huống còn tồi tệ hơn.
Tôi có thể nói với bạn rằng họ thậm chí không cần "nâng cấp" để cướp hết số tiền trong hợp đồng mà người dùng gửi tiền Không ai khác có thể rút tiền.
Hãy tiếp tục.
17. Hàm "enableTransition" yêu cầu hợp đồng "mainnetBridge" làm tham số.
Chức năng của hợp đồng "mainnetBridge" này: Nhận tất cả ETH và DAI đã cam kết.
Vậy, hợp đồng "mainnetBridge" này trông như thế nào?

18. Nó có thể là bất cứ thứ gì! Blast phê duyệt mọi hợp đồng "mainnetBridge" để chi tiêu số LIDO và DAI tối đa có thể...
Chắc chắn có điều gì đó không ổn với giới hạn hợp đồng này? Chà, *ừ*, hãy xem mã đó.
19. Sau đây là câu lệnh khẳng định trong hàm "_setMainnetBridge".

Nó... Kiểm tra xem có mã nào ở địa chỉ này không! Có,miễn là đó không phải là địa chỉ EOA; địa chỉ đó được chấp thuận sở hữu tất cả số tiền trong hợp đồng. Tổng kinh phí hiện đã vượt quá 200 triệu USD.

20. Do đó, có thể giả định rằng họ có thể :
1) Tạo một hợp đồng thông minh cực kỳ đơn giản và đặt nó làm hợp đồng mainnetBridge;
2) Hãy để hợp đồng thông minh nhận được tất cả ETH và DAI đã cam kết (200 triệu+)
Gọi hợp đồng thông minh để rút toàn bộ tiền về ví EOA.
21. Hai mối đe dọa chính mà chúng tôi đã xác định là:
· Được đa chữ ký 3/5 phê duyệt nâng cấp mã độc nhằm trộm tiền.
·Tạo một hợp đồng thông minh độc hại và đặt nó làm hợp đồng thông minh "mainnetBridge" để đánh cắp tiền, cũng thông qua bội số 3/5 dấu hiệu.
22. Liệu điều này có thực sự xảy ra không? Cá nhân tôi, nếu phải đoán, tôi không nghĩ số tiền đó đã bị đánh cắp.
Dù sao, tôi thực sự nghĩ rằng ý tưởng về năng suất tự nhiên của Blast là một sự đánh đổi rất thú vị.
23. Vì vậy, mặc dù cá nhân tôi cho rằng việc gửi tiền tới Blast trong tình trạng hiện tại là rủi ro, nhưng cuối cùng thì người dùng mới là người gửi tiền hay không. Quyết định, tôi chỉ chia sẻ những gì tôi thấy ở đây.
Tôi vẫn chúc đội Blast và tất cả những người đã ký gửi tốt những điều tốt đẹp nhất.
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia