Tác giả gốc: Jarrod Watts
Biên soạn gốc: Golden Finance 0xjs
Ghi chú của biên tập viên:
Mạng L2 Blast 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, 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.
Có người đã nói "Blast chỉ là 3/5 multisig..."
Tôi đã dành vài ngày qua để tìm hiểu mã nguồn để xem tuyên bố này có đúng không.
Đây là tất cả những gì tôi thấy:
1. Ví mới 0x52c31 triển khai hai hợp đồng: 1) 0xa01: Hợp đồng ủy quyền gửi tiền nhanh; 2) 0x5f6: Hợp đồng thực hiện tiền gửi nhanh.
Nếu bạn không quen với các cài đặt "hợp đồng đại lý" này, bạn sẽ quay lại vấn đề này sau.
2.0x52c31 Sau khi triển khai các hợp đồng này, hã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 người ký hợp đồng Safe sở hữu hợp đồng Blast.
Điều này có nghĩa là phần lớn (tức là 3/5) người ký được yêu cầu 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: đại lý và thực hiện.
Việc trở thành “chủ sở hữu” của họ thực sự có ý nghĩa gì?
Như chúng tôi đã đề cập, hợp đồng Blast Deposit bao gồm hai hợp đồng: đại lý và thực hiện.
Việc trở thành “chủ sở hữu” của họ thực sự có ý nghĩa gì?
5. Với 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 cần 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 (multisig) thay đổi logic của hợp đồng thành một 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 L2 sử dụng hiện 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ó chức năng này.
Theo L2Beat:
·Mã bảo vệ hệ thống OP Mainnet và Base có thể được thay đổi theo ý muốn mà không cần thông báo trước.
·Nâng cấp Arbitrum One yêu cầu độ trễ khoảng 12 ngày, nhưng có thể được Hội đồng Thống đốc 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ể bị thay đổi mà không cần thông báo trước.
·Nâng cấp zkEVM của Polygon bị trì hoãn khoảng 10 ngày (trừ khi trạng thái khẩn cấp được kích hoạt)
10. Lý do các Bản tổng hợp này có nhiều chữ ký có thể thực hiện nâng cấp 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ý “các 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. Vì vậy, mặc dù Blast thực sự có thể thực hiện nâng cấp mã thông qua nhiều chữ ký và lấy cắp tiền ngay lập tức, *hiện tại* có nhiều giải pháp L2 khác thực hiện điều tương tự.
12. Vì vậy, mặc dù Blast thực sự có thể thực hiện nâng cấp mã thông qua nhiều chữ ký và lấy cắp tiền ngay lập tức, *hiện tại* có nhiều giải pháp L2 khác thực hiện điều 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.Blast 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ẽ cầm cố tiề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ự khiến tôi phát điên…
Bạn không thể lấy lại tiền từ Blast cho đến khi:
Một hợp đồng mới được triển khai bởi một multisig 3/5 bao gồm những người lạ;
Hợp đồng có chức năng rút tiền từ nó;
Họ chuyển tất cả số tiền vào hợp đồng mới.
16. Nhưng còn có những tình huống 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" để đánh cắp tất cả số tiền trong hợp đồng và số tiền mà người dùng gửi trong hợp đồng này không thể bị ai khác rút được.
Hãy xem nào.
17. Chức năng "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 bất kỳ hợp đồng "mainnetBridge" nào để chi tiêu số LIDO và DAI tối đa có thể...
Phải có một số hạn chế về tính đúng đắn của 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ỉ đó 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 số vốn hiện nay vượt quá 200 triệu USD.
20. Vì vậy, 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ộ số tiền về ví EOA.
21. Hai mối đe dọa chính mà chúng tôi đã xác định là:
·Mã độc nâng cấp được phê duyệt 3/5 đa chữ ký để ăn cắp 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 đa chữ ký 3/5.
22. Đ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.
Bất chấp điều đó, 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 gửi tiền đến Blast có rủi ro trong tình trạng hiện tại, nhưng cuối cùng thì quyết định gửi hay không gửi là của người dùng và 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 đã gửi tiền tốt nhất.
Tất cả bình luận