Vụ hack Liquid: toàn bộ cuộc trò chuyện on-chain giữa hacker và Blockstream, từng tin nhắn một
Mọi tin nhắn mà kẻ khai thác Liquid và Blockstream đã trao đổi bên trong các giao dịch Bitcoin kể từ ngày 6 tháng 9, được quy kết theo quyền sở hữu coin và chữ ký PGP: một bản tóm tắt, rồi toàn bộ chuỗi trao đổi.
- Hacker Liquid và Blockstream đã thương lượng việc trả lại 4.000 BTC qua các tin nhắn OP_RETURN. 3.400 BTC đã quay về ngày 7 tháng 9; 598,5 BTC vẫn bị giữ.
- 27 mục đã quy kết đến nay: 12 từ kẻ khai thác, 14 từ Blockstream, nhiều tin được mã hóa, cộng thêm giao dịch hoàn trả. Spam gửi tới địa chỉ này bị loại trừ.
Ngày 6 tháng 9, khoảng 4.000 BTC, trị giá xấp xỉ 320 triệu đô la, đã rời khỏi ví bảo chứng cho Liquid Network, sidechain Bitcoin của Blockstream, thông qua một lỗi trong phần mềm Elements chứ không phải một khóa bị đánh cắp. Bài outlook cùng ngày của chúng tôi đã kể câu chuyện đó. Trang này nói về những gì diễn ra sau đó, và diễn ra ở đâu: người hoặc nhóm đang giữ số coin và Blockstream đã nói chuyện với nhau ngay trên chính blockchain Bitcoin, bằng những tin nhắn ghi vào giao dịch, và toàn bộ cuộc trao đổi là công khai. Dưới đây bạn sẽ thấy một cuộc trò chuyện như vậy vận hành ra sao, tóm tắt những gì đã được nói, rồi từng tin nhắn đã quy kết theo thứ tự, kèm liên kết tới giao dịch chứa nó.
Một cuộc trò chuyện sống bên trong giao dịch Bitcoin như thế nào
Giao dịch Bitcoin có thể mang một mẩu dữ liệu tùy ý nhỏ trong một loại đầu ra gọi là OPRETURN. Kẻ khai thác dùng nó như một hộp thư: mỗi tin nhắn là một giao dịch chi một phần rất nhỏ số coin bị đánh cắp, gửi 1.000 satoshi cho bên kia làm vật mang, và ghi văn bản vào một đầu ra OPRETURN. Blockstream trả lời theo cùng cách, đầu tiên từ một địa chỉ liên hệ rồi từ các địa chỉ mới. Một số tin nhắn là văn bản thuần. Một số được ký bằng khóa bảo mật đã công bố của Blockstream, nên ai cũng có thể kiểm tra chúng thực sự đến từ công ty. Nhiều tin được mã hóa: các ghi chú của kẻ khai thác gửi Blockstream được mã hóa bằng khóa PGP công khai của công ty, còn các ghi chú của Blockstream gửi kẻ khai thác được mã hóa bằng khóa đứng sau chính địa chỉ Bitcoin của kẻ khai thác, theo lược đồ ECIES tích hợp trong ví Electrum. Tin nhắn mã hóa tồn tại trên chuỗi cho mọi người nhìn thấy, nhưng chỉ người nhận dự kiến mới mở được. Chúng tôi hiển thị chúng là đã mã hóa và mô tả kích thước; chúng tôi không đọc được, và không ai khác đọc được, trừ khi kẻ khai thác công bố khóa riêng như họ đã đe dọa.
Việc quy kết tuân theo hai quy tắc mà ai cũng có thể kiểm chứng. Một tin nhắn là của kẻ khai thác khi giao dịch chi coin từ địa chỉ đang giữ số tiền bị đánh cắp: coin chính là chiếc micro. Một tin nhắn là của Blockstream khi nó được chi từ địa chỉ liên hệ của công ty, hoặc khi văn bản của nó là một thông điệp PGP ký rõ (clearsigned) có chữ ký xác minh được với khóa công bố tại blockstream.com, dấu vân tay 1176 542D A98E 71E1 3372 2EF7 4AC8 CC88 6844 A2D6. Trình tự thời gian đã xác minh của chúng tôi khớp với bản kiểm toán độc lập do Sjors Provoost, người đóng góp cho Bitcoin Core, công bố.
Những gì không có trong chuỗi này
Một địa chỉ Bitcoin được bàn tán công khai thu hút nhiễu. Kể từ ngày 6 tháng 9, địa chỉ của kẻ khai thác đã nhận gần 300 giao dịch khác mang văn bản: quảng cáo memecoin, lời xin chia một phần coin, những cáo buộc nêu tên cá nhân và trình bày vụ trộm như một vụ nội gián, và ít nhất một tin nhắn tự nhận đến từ giám đốc điều hành của Blockstream. Không tin nào chi số coin bị đánh cắp và không tin nào mang chữ ký Blockstream hợp lệ, nên không tin nào thuộc về cuộc trò chuyện, và chúng tôi không tái hiện chúng.
Tóm tắt cuộc thảo luận
Liên lạc đầu tiên, ngày 6 tháng 9. Bốn giờ sau vụ rút cạn, địa chỉ giữ coin viết "we are whitehats. contact us on chain" ("chúng tôi là white hat. hãy liên hệ với chúng tôi trên chuỗi"). Blockstream trả lời trong vòng một giờ bằng địa chỉ email bảo mật của mình. Kẻ khai thác không bao giờ dùng đến nó; mọi thứ sau đó vẫn ở trên chuỗi.
Các điều kiện, rạng sáng ngày 7 tháng 9. Blockstream gửi ghi chú mã hóa đầu tiên. Kẻ khai thác sau đó đề xuất, bằng văn bản thuần, gửi "most" ("phần lớn") số coin trở lại ví liên đoàn của Liquid và hỏi như vậy có được không. Vài phút sau, họ thêm một điều kiện: sửa lỗi trước, bảo đảm mọi nút đều được vá, và chỉ khi đó tiền mới được chuyển một cách an toàn. Chi tiết kỹ thuật của lỗ hổng đến sau đó, được mã hóa bằng khóa của Blockstream. Blockstream đáp lại bằng một dòng "Yes, thank you." có chữ ký ("Vâng, cảm ơn.").
Đã vá, và đã hoàn trả. Lúc 09:41 UTC, Blockstream đăng một tin nhắn có chữ ký: các nút cầu nối đã được vá và có thể trả lại tiền một cách an toàn. Kẻ khai thác yêu cầu xác nhận thêm một lần nữa về địa chỉ đích, gửi thêm chi tiết mã hóa về bản vá, và lúc 16:09 UTC một giao dịch duy nhất chuyển 3.400 BTC tới ví peg. 598,5 BTC còn lại, khoảng mười lăm phần trăm, vẫn nằm tại địa chỉ của kẻ khai thác.
Sau cánh cửa đóng, ngày 7 đến 8 tháng 9. Từ tối hôm đó cuộc trao đổi chìm vào bóng tối: Blockstream gửi một loạt ghi chú có chữ ký và mã hóa, gồm cả một hướng dẫn ngắn về cách giải mã, và kẻ khai thác đáp lại theo cùng cách. Dòng duy nhất đọc được từ kẻ khai thác trong giai đoạn này là một mặt buồn, đăng vào đêm muộn ngày 7 tháng 9.
Văn bản thuần, và một tối hậu thư, ngày 8 đến 9 tháng 9. Chiều ngày 8 tháng 9, kẻ khai thác thông báo mọi tin nhắn tiếp theo sẽ ở dạng văn bản thuần. Ngày 9 tháng 9 là tin nhắn dài nhất của chuỗi: một cáo buộc rằng Blockstream đã dành quá ít cho bảo mật (chỉ 1,5 triệu đô la, theo tin nhắn), một yêu cầu công ty phải trả 10 phần trăm bằng tiền của chính mình làm tiền thưởng lỗi, một lời đe dọa rằng nếu không người dùng của công ty sẽ chịu khoản lỗ 15 phần trăm, và một lời hứa sẽ công bố khóa riêng mở được cuộc trò chuyện mã hóa. Blockstream trả lời ngay trong giờ đó, mã hóa và có chữ ký, rồi lại một lần nữa vào rạng sáng ngày 10 tháng 9. Công ty chưa, dù trên chuỗi hay ở nơi nào khác, chấp nhận cách đặt vấn đề tiền thưởng này.
Toàn bộ cuộc trò chuyện
Giờ tính theo UTC. "Kẻ khai thác" là địa chỉ đang giữ số coin bị rút; nhãn white hat là do chính họ tự nhận. "Blockstream" đánh dấu các tin nhắn được chi từ địa chỉ liên hệ của công ty hoặc đã xác minh với khóa công bố của công ty. Văn bản trong ngoặc kép được tái hiện đúng nguyên văn như ghi trên chuỗi.
6 tháng 9, 18:30 UTC, khối 965.818, Kẻ khai thác: "we are whitehats. contact us on chain" (giao dịch)
6 tháng 9, 19:31 UTC, khối 965.822, Blockstream: "Please contact security@blockstream.com" (giao dịch)
7 tháng 9, 01:49 UTC, khối 965.865, Blockstream: "Encrypted to the key behind bc1ql4mfu6aundtkksxklfajs2h3t9nzcd6gyqjlte (Electrum BIE1 ECIES):" tiếp theo là một tin nhắn mã hóa gửi kẻ khai thác (ECIES, Blockstream ký PGP, 1.297 byte). Bên thứ ba không đọc được. (giao dịch)
7 tháng 9, 02:20 UTC, khối 965.869, Kẻ khai thác: "sending most back to bc1qdlld6antmv4xug242ed83q7k4rqw50cwfns38szx4qu2f4jwaxxsuhwxxr, is that ok" (giao dịch)
7 tháng 9, 03:30 UTC, khối 965.875, Kẻ khai thác: "Please fix the bug first. The chain is under risk at latest commit right now. Make sure every node is patched. Then we will transfer the money back safely after confirming the fix. The detail is as follows (encrypted using https://blockstream.com/pgp.txt)." tiếp theo là một đoạn mã hóa dành cho Blockstream, bên thứ ba không đọc được. (giao dịch)
7 tháng 9, 03:30 UTC, khối 965.875, Blockstream: "Yes, thank you." (ký PGP, đã xác minh) (giao dịch)
7 tháng 9, 09:41 UTC, khối 965.912, Blockstream: "Bridge nodes are patched, safe to return the funds." (ký PGP, đã xác minh) (giao dịch)
7 tháng 9, 12:43 UTC, khối 965.930, Kẻ khai thác: "plz confirm again that we are sending the coins back to bc1qdlld6antmv4xug242ed83q7k4rqw50cwfns38szx4qu2f4jwaxxsuhwxxr More details about the vuln fix:" tiếp theo là một đoạn mã hóa dành cho Blockstream, bên thứ ba không đọc được. (giao dịch)
7 tháng 9, 15:31 UTC, khối 965.948, Kẻ khai thác: Tin nhắn mã hóa gửi Blockstream (PGP, 979 byte). Bên thứ ba không đọc được. (giao dịch)
7 tháng 9, 16:09 UTC, khối 965.950, Kẻ khai thác: Gửi 3.400 BTC tới ví peg của Liquid, không kèm tin nhắn. (giao dịch)
7 tháng 9, 17:54 UTC, khối 965.956, Blockstream: "To decrypt: this is Electrum BIE1 ECIES to your key. In Electrum, Tools > Encrypt/Decrypt Message, paste below, decrypt with the private key for bc1ql4mfu6aundtkksxklfajs2h3t9nzcd6gyqjlte. Or any ECIES/BIE1 library." tiếp theo là một tin nhắn mã hóa gửi kẻ khai thác (ECIES, Blockstream ký PGP, 1.408 byte). Bên thứ ba không đọc được. (giao dịch)
7 tháng 9, 17:54 UTC, khối 965.956, Blockstream: một tin nhắn mã hóa gửi kẻ khai thác (ECIES, Blockstream ký PGP, 1.275 byte). Bên thứ ba không đọc được. (giao dịch)
7 tháng 9, 17:54 UTC, khối 965.956, Blockstream: một tin nhắn mã hóa gửi kẻ khai thác (ECIES, Blockstream ký PGP, 1.211 byte). Bên thứ ba không đọc được. (giao dịch)
7 tháng 9, 17:54 UTC, khối 965.956, Blockstream: một tin nhắn mã hóa gửi kẻ khai thác (ECIES, Blockstream ký PGP, 1.147 byte). Bên thứ ba không đọc được. (giao dịch)
7 tháng 9, 18:35 UTC, khối 965.962, Blockstream: một tin nhắn mã hóa gửi kẻ khai thác (ECIES, Blockstream ký PGP, 1.275 byte). Bên thứ ba không đọc được. (giao dịch)
7 tháng 9, 18:35 UTC, khối 965.962, Kẻ khai thác: Tin nhắn mã hóa gửi Blockstream (PGP, 962 byte). Bên thứ ba không đọc được. (giao dịch)
7 tháng 9, 18:35 UTC, khối 965.962, Kẻ khai thác: Tin nhắn mã hóa gửi Blockstream (PGP, 1.052 byte). Bên thứ ba không đọc được. (giao dịch)
7 tháng 9, 21:03 UTC, khối 965.973, Kẻ khai thác: ":(" (giao dịch)
8 tháng 9, 00:11 UTC, khối 965.992, Blockstream: một tin nhắn mã hóa gửi kẻ khai thác (ECIES, Blockstream ký PGP, 1.120 byte). Bên thứ ba không đọc được. (giao dịch)
8 tháng 9, 06:02 UTC, khối 966.023, Blockstream: một tin nhắn mã hóa gửi kẻ khai thác (ECIES, Blockstream ký PGP, 3.168 byte). Bên thứ ba không đọc được. (giao dịch)
8 tháng 9, 09:41 UTC, khối 966.052, Kẻ khai thác: Tin nhắn mã hóa gửi Blockstream (PGP, 2.019 byte). Bên thứ ba không đọc được. (giao dịch)
8 tháng 9, 12:59 UTC, khối 966.079, Blockstream: một tin nhắn mã hóa gửi kẻ khai thác (ECIES, Blockstream ký PGP, 4.230 byte). Bên thứ ba không đọc được. (giao dịch)
8 tháng 9, 14:25 UTC, khối 966.087, Kẻ khai thác: Tin nhắn mã hóa gửi Blockstream (PGP, 1.356 byte). Bên thứ ba không đọc được. (giao dịch)
8 tháng 9, 14:25 UTC, khối 966.087, Kẻ khai thác: "All messages will be in plaintext." (giao dịch)
9 tháng 9, 11:45 UTC, khối 966.199, Kẻ khai thác: "Your dereliction of duty is obvious that you allocated only $1.5M (maybe even 0) to secure $5B assets. This is a flagrant neglect of security and a sign of complete mismanagement. You SHALL pay 10% using your own money as bug bounty or you will cause all your holders a 15% loss for your irresponsibility and stinginess. Even companies that participate in bug bounty programs cannot guarantee complete security, let alone one like yours that remains delusional, greedy, and arrogant to this very day. Anyway we are going to publish the privatekey to decrypt our conversations afterwards." (giao dịch)
9 tháng 9, 11:45 UTC, khối 966.199, Blockstream: một tin nhắn mã hóa gửi kẻ khai thác (ECIES, Blockstream ký PGP, 2.222 byte). Bên thứ ba không đọc được. (giao dịch)
10 tháng 9, 02:18 UTC, khối 966.296, Blockstream: một tin nhắn mã hóa gửi kẻ khai thác (ECIES, Blockstream ký PGP, 4.889 byte). Bên thứ ba không đọc được. (giao dịch)
Tự mình đọc
Mỗi mục ở trên đều liên kết tới giao dịch của nó trên mempool.space, nơi đầu ra OP_RETURN có thể được giải mã từ script thô. Phiên bản trực tiếp của chuỗi này chạy trên trang chủ của chúng tôi, cập nhật khi các khối mới được xác nhận, và trang tra cứu khối giải thích cách quy kết được thực hiện và những gì bị cố ý bỏ ra ngoài. Tin nhắn mã hóa cũng được hiển thị là đã mã hóa ở đó. Nếu kẻ khai thác công bố khóa như đã hứa, phần khép kín của cuộc trò chuyện này sẽ trở nên đọc được, và chúng tôi sẽ cập nhật trang này.
Bài viết này là phân tích thị trường, không phải khuyến nghị mua hoặc bán.
Điều gì sẽ thay đổi quan điểm
- Một tin nhắn văn bản thuần mới từ bất kỳ bên nào, đặc biệt là bất kỳ tuyên bố nào của Blockstream về khoản tiền thưởng 10 phần trăm bị đòi.
- Sự dịch chuyển của 598,5 BTC vẫn đang nằm tại địa chỉ của kẻ khai thác, theo bất kỳ hướng nào.
- Việc công bố khóa riêng mà kẻ khai thác đã hứa, điều sẽ khiến các tin nhắn mã hóa trở nên đọc được với tất cả mọi người.
Nguồn
- mempool.space: address bc1ql4mfu6 (the exploiter's address and its full transaction history), accessed 2026-09-10
- mempool.space: address bc1qn8mgs (Blockstream's first contact address), accessed 2026-09-10
- Blockstream: security reporting PGP key, accessed 2026-09-10
- Sjors Provoost (GitHub gist): Liquid incident, verified on-chain message history, checked 2026-09-10
- Liquid Network (X): incident report, status as of September 8, 19:10 UTC, 2026-09-08
- Gizmodo: 'white hat' Liquid Network crypto hackers are now grandstanding and demanding a 10% bounty, 2026-09-10