Bài viết này tiến hành phân tích chuyên sâu về một số hiện tượng rune “bị mất” đã xảy ra trong các hoạt động xuyên chuỗi BEVM gần đây, đồng thời đề xuất các đề xuất bảo mật để tránh những sự cố như vậy xảy ra lần nữa.
Được viết bởi Leon, Nhóm nghiên cứu ScalBit
##TL;DR
Bài viết này tiến hành phân tích chuyên sâu về một số hiện tượng rune “bị mất” đã xảy ra trong các hoạt động xuyên chuỗi BEVM gần đây, đồng thời đề xuất các đề xuất bảo mật để tránh những sự cố như vậy xảy ra lần nữa.
Gần đây, chúng tôi nhận thấy một số rune bị “thất lạc” trong các hoạt động xuyên chuỗi BEVM, điều này đã làm dấy lên mối lo ngại và lo ngại từ cộng đồng. Bài viết này sẽ tiến hành phân tích chuyên sâu về vấn đề này, nhằm mục đích giúp người dùng hiểu biết toàn diện hơn về vấn đề này, đồng thời cũng sử dụng chủ đề này để nói về một số lưu ý trong việc sử dụng văn khắc và rune. đã trở nên phổ biến gần đây.
*Vào ngày 23 tháng 12 năm 2023, giờ Bắc Kinh, một số người dùng giao dịch chuỗi chéo BEVM đã phát hiện ra rằng một số COOK và PSBTS có trong tài khoản của họ đã được chuyển sang cầu nối chuỗi chéo mà họ không hề hay biết. Sau đó, những người dùng này đã đặt câu hỏi cho nhóm BEVM. Sau đó, Twitter chính thức của BEVM đã đưa ra một tuyên bố, nói rằng vì phần rune này không được hỗ trợ bởi các ví chính thống như * Unisat * nên khi liên kết chéo với BEVM, những dòng chữ không chính thống như vậy sẽ được coi là thông thường * UTXO *Đi tới địa chỉ BEVM. *
*Nhóm bảo mật ScaleBit nhận thấy sự cố này và ngay lập tức tiến hành điều tra. Sau khi nghiên cứu bởi nhóm ScalBit, người ta đã xác nhận rằng phần rune này thực sự đã được chuyển dưới dạng UTXO thông thường trong cùng một giao dịch chuỗi chéo chứ không phải bị BEVM “đánh cắp”. *
Trích dẫn thông tin từ trang web chính thức của BEVM, BEVM là BTC Lớp 2 sử dụng BTC làm Gas và tương thích với EVM. Mục tiêu cốt lõi là mở rộng kịch bản hợp đồng thông minh của Bitcoin và giúp BTC vượt qua các ràng buộc của chuỗi khối Bitcoin. không hoàn thiện Turing và không hỗ trợ hợp đồng thông minh, cho phép BTC xây dựng các ứng dụng phi tập trung với BTC là Gas gốc trên Lớp 2 của BEVM.
Gần đây, với sự ra mắt của sự kiện BEVM Odyssey, nhiều người dùng đã bắt đầu cross-chain BTC sang BEVM để tương tác, hy vọng sẽ nắm bắt được cơ hội tham gia vào hệ sinh thái BEVM trong tương lai. Tuy nhiên, trong quá trình xuyên chuỗi, một số người dùng phát hiện ra rằng một phần COOK và PSBTS mà họ nắm giữ đã bị mất. Theo trình duyệt blockchain, người ta phát hiện ra rằng phần rune này đã được chuyển sang cầu nối chuỗi chéo BEVM, nên đã xảy ra tình trạng nêu trên.
Tiếp theo, hãy đến với chúng tôi để xem chuyện gì đã xảy ra.
Đầu tiên, chúng tôi tìm thấy một số thông tin giao dịch chuỗi chéo thông qua trình duyệt BEVM (), qua phân tích chúng tôi thấy rằng địa chỉ nhận của cầu nối chuỗi chéo là:
bc1p43kqxnf7yxcz5gacmqu98cr2r5gndtauzrwpypdzmsgp7n3lssgs5wruvy。
Sau đó, chúng tôi đã kiểm tra Rune Alpha (một trình duyệt và dịch vụ phổ biến hỗ trợ các giao thức RUNES như COOK và PSBTS), địa chỉ của nó chứa một số lượng lớn các rune khác nhau, bao gồm hơn 110.000 COOK và hơn 280.000 PSBTS.

Chúng tôi ngay lập tức tiến hành nghiên cứu và phân tích phần này của các giao dịch liên quan đến rune.
Hãy lấy một trong những giao dịch này làm ví dụ:
Nội dung giao dịch được thể hiện trong hình:

Chúng ta có thể thấy rằng giao dịch có hai đầu vào, 0,00000546 BTC (bao gồm 1000 COOK) và 0,02169031 BTC và đầu ra là 0,02 BTC (bao gồm 1000 COOK) và 0,00148377 BTC.
Để so sánh, chúng tôi đã tìm thấy một giao dịch không phải là giao dịch COOK với giao dịch cầu nối chuỗi chéo. Kết quả như sau:

Có thể thấy rằng cả đầu vào và đầu ra đều chứa UTXO là 0,00000546 BTC.
Tại sao cái này rất? Ở đây chúng ta cần biết một số kiến thức liên quan.
##UTXO
Đầu tiên, hãy hiểu UTXO là gì.

UTXO, tên đầy đủ là Unspent Transaction Output, dịch sát nghĩa là Unspent Transaction Output, đây là kiến thức cốt lõi của Bitcoin. Trong giao dịch Bitcoin, mỗi giao dịch đều có đầu vào và đầu ra, số tiền người khác trả cho bạn là “đầu vào giao dịch” và số tiền bạn nhận được là “đầu ra giao dịch”.
Ý tưởng thiết kế cốt lõi của UTXO là không trạng thái. Nó ghi lại các sự kiện giao dịch nhưng không ghi lại trạng thái cuối cùng. Nghĩa là, chỉ các sự kiện thay đổi mới được ghi lại và người dùng cần tính toán số dư của riêng mình dựa trên hồ sơ lịch sử. Vì vậy, mô hình giao dịch của Bitcoin khác với tài khoản ngân hàng mà chúng ta thường sử dụng, nó không có tài khoản, Bitcoin chỉ có UTXO. UTXO có thể được hình dung như một “đồng xu” với số lượng bất kỳ.
UTXO giống như một đồng xu, không thể chia nhỏ và sử dụng được, vậy làm cách nào để thu thập số tiền đầu vào trong quá trình giao dịch và làm cách nào để nhận được tiền lẻ?
Ví dụ: Xiao Ming chuyển 1 BTC cho Xiao Gang. Toàn bộ quá trình là như thế này, Xiao Ming cần thu thập đủ đầu vào. Ví dụ: trong giao dịch trước đó tương ứng với địa chỉ của Xiao Ming, anh ấy đã tìm thấy một UTXO có mệnh giá 0,9, không đủ cho 1 BTC. May mắn thay, nhiều đầu vào được cho phép trong giao dịch, vì vậy Xiao Ming Một UTXO khác có mệnh giá 0,2 đã được tìm thấy, do đó sẽ có hai đầu vào trong giao dịch chuyển khoản này. Cũng sẽ có hai đầu ra cùng lúc, một đầu ra trỏ đến địa chỉ của Xiaogang, với mệnh giá là 1 BTC. Một cái còn lại trỏ đến địa chỉ của Xiao Ming, với mệnh giá khoảng 0,1 BTC, đầu ra này là sự thay đổi.
Trong quá trình chuyển Bitcoin, không có thuật toán cố định để nhập và nó phụ thuộc vào việc triển khai ví.
Thứ hai, chúng ta cần hiểu chữ khắc và chữ rune là gì. Chữ khắc và rune bitcoin là hai khái niệm quan trọng trong hệ sinh thái Bitcoin.
**Đại diện chính của Bitcoin Inscription là giao thức Ordinals. **Ordinals ra đời vào tháng 12 năm 2022. Nội dung hoàn toàn trên chuỗi và được phát triển bởi Casey Rodarmor. Giao thức sử dụng hệ thống đánh số thứ bảy. Các ordinal theo dõi từng satoshi trong các giao dịch bằng cách cấp cho chúng một số sê-ri. Đồng thời, người dùng có thể đính kèm dữ liệu bổ sung (hình ảnh, video, văn bản, v.v.) vào chuỗi khối Bitcoin thông qua Ordinals, khiến mỗi Mỗi Satoshi là duy nhất và do đó có bản chất của NFT. BRC-20 được tạo dựa trên giao thức này.
**Giao thức Runes, còn được gọi là Giao thức Runes. **Với sự phổ biến của BRC-20, các giao dịch của mã thông báo liên quan đến BRC-20 chiếm phần lớn giao thức Ordinals. Vào ngày 26 tháng 9 năm 2023, Casey Rodarmor đã phát triển lại một giao thức có tên Runes (ngày nay mọi người gọi là giao thức Runes) để thay thế cho BRC-20. Giao thức này là giao thức FT (Mã thông báo có thể thay thế, mã thông báo có thể thay thế) đơn giản dựa trên UTXO (Đầu ra giao dịch chưa được chi tiêu) cho phép người dùng Bitcoin có trải nghiệm tốt. Đại diện chính của rune là COOK và PSBTS mà chúng tôi đã đề cập.
Các vật mang dòng chữ khắc và rune Bitcoin đều là UTXO. Điểm khác biệt chính giữa dòng chữ khắc Bitcoin (Inion) và rune (Rune) là Dòng chữ được khắc trong dữ liệu Segregated Witness, trong khi Runes được khắc trong OP\ _TRỞ LẠI. Kích thước dữ liệu mà OP_RETURN có thể lưu trữ rất hạn chế nhưng cũng quá đủ để phát hành tiền xu. Đây không phải là công nghệ mới.
Để người dùng truyền dòng chữ hoặc rune, về cơ bản, họ sẽ gửi Bitcoin khớp với số lượng giao thức và giao thức sẽ trả về cho bạn một UTXO có dòng chữ hoặc rune, thường là UTXO có giá trị 0,00000546 BTC. Hãy nói về lý do tại sao nó là 0,00000546. Đây là số tiền giao dịch tối thiểu do Bitcoin đặt ra.

Dòng chữ chuyển khoản cũng là do các ví này nhận ra định dạng đặc biệt của các UTXO này, các ví sử dụng các UTXO này làm đầu vào thông qua các giao thức tương ứng và trả thêm phí xử lý để chuyển chúng cho bên kia.

Đối với người dùng bị mất rune, vì bản chất chúng vẫn là UTXO, khi người dùng sử dụng UniSat để thực hiện các hoạt động chuỗi chéo trên Bitcoin, UniSat không nhận ra phần UTXO chứa rune này và coi nó như một UTXO thông thường và nhập nó cùng nhau . Gửi đến cầu xuyên xích.
Trên thực tế, không chỉ các hoạt động xuyên chuỗi, người dùng cũng có thể bị mất rune khi thực hiện các hoạt động chuyển Bitcoin khác trong ví không hỗ trợ rune. Vào ngày 7 tháng 12, một người dùng đã mất 15.000 COOK trong hoạt động hoán đổi BRC-20 trên Unisat.

Một điều thú vị nữa là khi sử dụng rune trên Runes Alpha có thể chuyển dòng chữ khắc của người dùng dưới dạng Khí.
Thông qua tài liệu chính thức của BEVM, chúng tôi nhận thấy rằng chuỗi chéo BEVM hỗ trợ chuỗi chéo dòng chữ. Người dùng chỉ cần sử dụng BSwap để liên kết chéo dòng chữ của họ với BEVM. Ví được sử dụng trên các chuỗi là ví UniSat. Đây là ví plug-in Chrome dành cho hệ sinh thái BTC, giúp người dùng lưu trữ, đúc và chuyển token BRC-20. Nó có thể xác định dòng chữ của người dùng, do đó tránh được việc hợp nhất phần này của UTXO. Nó sẽ chỉ được chuyển khi người dùng tích cực giao dịch dòng chữ đó.

Vì Unisat hiện không hỗ trợ giao thức rune, đây là lý do tại sao người dùng sẽ “mất” rune trên các chuỗi chứ không phải các dòng chữ. Tình trạng tương tự sẽ xảy ra nếu bạn chuyển sang ví khác không hỗ trợ rune.
Bây giờ rune đã được chuyển sang cầu nối chuỗi chéo, người dùng vẫn có thể lấy lại phần rune đó chứ?
Chúng tôi đã tham khảo sách trắng BEVM. Giải pháp chuỗi chéo tài sản của BEVM được xây dựng dựa trên công nghệ Taproot của Bitcoin. Đó là một mạng POS bao gồm chữ ký Schnorr + hợp đồng Mast + nút ánh sáng 1000 BTC để đạt được sự phân cấp tài sản. -chuỗi và quản lý, chuỗi chéo hai chiều của BTC-BEVM được quản lý hoàn toàn dựa trên sự đồng thuận của nút trên chuỗi, đạt được mã hóa hoàn chỉnh và không cần tin cậy thay vì dựa vào đa chữ ký hoặc quản lý thủ công. Điều này làm cho BTC và Bitcoin trở thành chuỗi chéo Bảo mật chuỗi tài sản được phân cấp và bảo mật như BFT POS. Do đó, các quan chức BEVM không thể thực hiện một giao dịch chuyển khoản riêng để rút “tài sản rune” của người dùng.
Vì BEVM không hỗ trợ giao thức rune nên khả năng phần rune này được chuyển ra ngoài là hoàn toàn ngẫu nhiên. Khi hợp đồng giám sát thực hiện giao dịch, những “tài sản rune” này có thể được chuyển ra ngoài dưới dạng UTXO thông thường, nhưng toàn bộ quá trình là hoàn toàn ngẫu nhiên và không chịu sự kiểm soát của con người. Nếu buộc phải rút nó, sự đồng thuận của toàn bộ chuỗi BEVM phải thay đổi hoàn toàn, điều này chắc chắn sẽ dẫn đến một hard fork của BEVM.
Nhìn chung, sự cố này xảy ra do nhiều nguyên nhân:
Đối với người dùng thông thường, làm thế nào để tránh loại sự cố này xảy ra lần nữa? Khi thực hiện các thao tác tương tác, chúng tôi khuyên người dùng nên làm như sau:
Đồng thời, các nhà phát triển được nhắc nhở rằng khi phát triển và thiết kế, họ cần xem xét và chuẩn bị đầy đủ để giải quyết các vấn đề không tương thích giao thức có thể xảy ra ngay từ cấp độ mã. Nếu không, hãy nghiên cứu trước khi lên mạng và đưa ra những lời nhắc nhở rõ ràng để tránh những nghi ngờ, rắc rối không đáng có.
Sự xuất hiện của chữ khắc và rune là một cột mốc quan trọng trong quá trình khám phá và đổi mới liên tục của hệ sinh thái Bitcoin, nó đã thúc đẩy đáng kể sự chú ý và nhiệt tình của mọi người khi tham gia vào hệ sinh thái Bitcoin, đồng thời cũng đóng một vai trò to lớn trong sự phát triển trong tương lai của Bitcoin. ý nghĩa. **Tuy nhiên, hiện tại, chữ khắc và rune vẫn còn ở giai đoạn khá sớm, chúng tôi hy vọng mọi người phải chú ý đến những rủi ro liên quan khi tham gia và tránh bị mù. **
ScaleBit là nhóm bảo mật blockchain hàng đầu trong lĩnh vực Web3, có trụ sở tại Thung lũng Silicon, Singapore, Hồng Kông, Đài Loan và các nơi khác. Chúng tôi đã cung cấp các giải pháp bảo mật blockchain cho **200++ tổ chức và dự án trong lĩnh vực Web3 toàn cầu, đã kiểm toán tổng cộng 180.000+ dòng mã và tài sản của người dùng được bảo vệ vượt quá 8 tỷ+ Đô la . ** Đảm bảo an ninh có thể truy cập được cho tất cả mọi người! Nếu bạn có bất kỳ nhu cầu kiểm tra bảo mật nào, vui lòng liên hệ với chúng tôi, chúng tôi sẽ tùy chỉnh các giải pháp bảo mật chi tiết, toàn diện và chuyên nghiệp để bảo vệ bạn và lĩnh vực Web3! **
Tài liệu tham khảo
[1]
[2]
[3]