Hôm nay, trong thế giới crypto lại xảy ra một vụ hack liên quan tới một cái bridge (cây cầu) tên Horizon của Harmony. Số crypto trị giá 100 triệu USD bị hack và lấy cắp. Hôm này, mình sẽ giải thích một cách dễ hiểu cho anh em về vụ hack này, và vụ hack của Axie Infinity. À, Harmony này là cái blockchain mà bên Vinfast dùng để xây dựng cái gọi là metaverse khi mua xe đó anh em, bài viết cũ liên quan tới Vinfast ở đây.
https://twitter.com/harmonyprotocol/status/1540110924400324608?s=20&t=Xf6ACasJIErVByKsCBaUdw
Anh em hay nghe nói hack trong crypto. Có 2 luồng ý kiến:
https://twitter.com/harmonyprotocol/status/1540110924400324608?s=20&t=Xf6ACasJIErVByKsCBaUdw
Anh em hay nghe nói hack trong crypto. Có 2 luồng ý kiến:
- Blockchain không thể hack.
- Blockchain ai nói không hack được.
Bridge là gì?
Để mình giải thích cho anh em cái smart contract liên quan tới mấy cái vụ hack này như thế nào. Đầu tiên là có Ethereum blockchain, những crypto có trên đó, khi muốn ‘đi’ qua những blockchain khác, đều sẽ đi qua một cái gọi là ‘bridge’.- Người có crypto trên Ethereum, bỏ 1 ETH vào cái smart contract, họ nhận lại 1 token khác là ‘WETH’, là một thứ đại diện cho ETH trên Ethereum blockchain. Họ ‘bridge’ qua blockchain A hay B để sử dụng các app trên các blockchain đó.
- Khi nào muốn lấy lại, họ lại ‘unwrap’. Họ lại gửi cái WETH vào smart contract, và nhận lại ETH trên Ethereum blockchain.
Cách dễ hiểu hơn. Ví dụ anh em xem trong phim Hồng Kông, hay có mấy cái ngân phiếu.
- Số ngân phiếu này được tạo ra bằng cách bỏ một số lượng vàng hay bạc nhất định vào tiền trang. Cái công đoạn này giống như ‘wrap’ cho ví dụ trên, còn tiền trang thì là smart contract. Ngân phiếu giúp dễ thanh toán, quản lý hơn.
- Khi anh em muốn lấy số vàng thật, bạc thật thì chỉ cần cầm ngân phiếu tới tiền trang để đổi. Công đoạn này thì giống ‘unwrap’.
Giá trị của token được bridge
Vậy cái gì tạo ra giá trị cho cái wrapped token cụ thể là WETH? Là sự hiện diện của số ETH tương đương trong smart contract được khoá. Nếu không có cái số ETH này, thì số WETH được tạo ra giá trị bằng không.Nó tương tự như việc, anh em cầm tờ ngân phiếu 100 lượng vàng của tiền trang A, nhưng nếu không có 100 lượng vàng được cất trong tiền trang A, thì tờ ngân phiếu đó không khác tờ giấy là mấy.
Hack cái bridge này ra sao
Thông thường, khi ‘bridge’ token từ blockchain A qua B, như mình nói bên trên, người dùng phải khoá số token đó trong smart contract trên blockchain A. Cái smart contract này được quản lý bởi multisig wallet, hiểu đại khái là một cái ví được quản lý bởi nhiều người, và cần ít nhất là quá bán (hơn 50%) những ví liên quan để mở khoá số token trên blockchain A. Ví dụ, multisig wallet mà chỉ có 3 người quản lý, chỉ cần hack 2 người là coi như hack được cái bridge. Nhưng nếu multisig wallet này là 51, thì cần hack được ít nhất 26 người quản lý cái ví thì mới có thể hack được cái bridge này. Cái multisig wallet này càng nhiều người tham gia để quản lý thì càng an toàn.Lại ví dụ cho dễ hiểu bằng vụ ngân phiếu. Nếu cái kho vàng của tiền trang mà anh em bỏ vàng vào và nhận ngân phiếu có cái ổ khoá cho 3 chìa bỏ vào, nếu chỉ cần 2 chìa là có thể mở, thì anh em chỉ cần ăn cắp 2 chìa của người quản lý kho là có thể mở kho vàng. Nhưng nếu ổ khoá có 51 chìa, và cần ít nhất 26 chìa để mở thì nhiệm vụ bây giờ sẽ rất khó khăn.
Vậy đó, cái Horizon bridge của Harmony được quản lý bởi cái multisig wallet chỉ có 4 người, trong khi cái Ronin bridge của Axie Infinity được quản lý bởi cái 9 người. Thế là tụi hackers nó hack cái key của 2/4 người để hack cái Horizon bridge, và 5/9 người cho cái Ronin bridge. Sau đó thì số token khoá trong smart contract được chuyển đi. Như mình nói bên trên, số wrapped token được tạo ra bây giờ là vô giá trị, do số token khoá đã mất.
Quảng cáo
Vậy ai là người mất tiền khi những vụ hack như vậy xảy ra?
- Người bỏ số token vào smart contract để wrap vào tạo ra token trên blockchain khác.
- Người mua và sở hữu số token được wrap trên blockchain khác, vì sự tồn tại của nó không còn ý nghĩa gì nữa.
Vậy cách mà các nhà phát triển như Harmony hay Axie Infinity phải làm gì? Có 2 cách:
- Yêu cầu tụi hackers trả lại. Cái này hơi khó. Nhưng vẫn có thể, nếu có thể lùng ra thông tin của tụi hackers. Cái này thì tụi hackers sau khi trộm 600 triệu USD của Poly Network, phải nhả ra do bị lộ danh tính. Thông thường nếu đồng ý trả lại thường được nhận một số tiền gọi là tiền thưởng cho việc khám phá ra bug.
- Phải có một tay anh chị nào đó nhảy vào để cứu. Cứu bằng cách mua đúng số token bị mất, bỏ lại vào smart contract, khi đó thì mấy wrapped token mới có giá trị. Tương tự nếu vàng bị trộm trong kho, thì mua số vàng khác bỏ vào.
Thế giới crypto đầy rủi ro. Những anh em nào chưa nắm nhiều kiến thức, đừng vì chút xíu lợi nhuận được hứa hẹn mà bỏ tiền của vào, để rồi mất trắng hay hy vọng có người cứu. Như trong vụ hack của Axie Infinity, Binance phải nhảy vào giải cứu bằng 125 triệu USD. Nhưng không có bữa ăn nào là miễn phí, đổi lại họ phải nhận lại cái gì đó, là gì thì dĩ nhiên mình không chắc rồi 😃