Báo cáo nghiên cứu kỹ thuật này được nghiên cứu bởi ScaleBit Được viết bởiLeon
TL;DR
Bài viết này tiến hành phân tích chuyên sâu về hiện tượng "thất lạc" của một số ngọc đã xảy ra trong các hoạt động xuyên chuỗi BEVM gần đây, đồng thời đề xuất các cách để tránh những vấn đề 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 trong 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.
Nền
Giờ Bắc Kinh ngày 23 tháng 12 năm 2023 , 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 và 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 , khi liên kết chéo với BEVM , loại ví này không chính thống Dòng chữ sẽ được chuyển tiếp đến địa chỉ BEVM dưới dạng UTXO bình thường.
Sau khi nhóm bảo mật của ScaleBit nhận thấy sự cố này, họ đã ngay lập tức tiến hành một cuộc đ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 bình thường trong cùng một giao dịch xuyên chuỗi và không bị BEVM "đánh cắp".
Văn bản
Trích dẫn thông tin trang web chính thức của BEVM, BEVM là BTC Layer2 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 hạn chế của chuỗi khối Bitcoin không hoàn thiện Turing và không hỗ trợ các hợp đồng thông minh, do đó BTC có thể được sử dụng trong Lớp 2 của BEVM. Xây dựng các ứng dụng phi tập trung sử dụng BTC làm Gas gốc.
Gần đây, với việc ra mắt sự kiện BEVM Odyssey, nhiều người dùng đã bắt đầu tương tác với chuỗi chéo BTC với BEVM, hy vọng được tham gia vào sự kiện này. Hệ sinh thái BEVM trong tương lai. Hãy chủ động. 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 xem chuyện gì đã xảy ra.
Trước hết, chúng tôi tìm thấy một số thông tin giao dịch chuỗi chéo thông qua BEVM browser (https://scan.bevm.io/stats). Thông qua Sau khi phân tích, chúng tôi nhận 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 hơn 110.000 Rất nhiều loại của rune bao gồm 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 các giao dịch làm ví dụ:
https://runealpha. xyz/txs/c1bf015ce01a3610b436fb2e418685855cd7a37143cd52a4d1858a53e610b5f2
Nội dung giao dịch như trong hình:
Chúng ta có thể thấy rằng có hai đầu vào cho giao dịch này, đó là  ;0,00000546 BTC (chứa 1000 COOK) và 0,02169031 BTC, đầu ra là 0,02 BTC (chứa 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ả đầu ra như sau:
Bạn có thể thấy rằng liệu Cả đầu vào và đầu ra đều chứa UTXO là 0,00000546 BTC hay không.
Tại sao lại thế này? Ở đây chúng ta cần biết một số kiến thức liên quan.
UTXO
Trước tiên, hãy hiểu UTXO là gì.
UTXO, tên đầy đủ Đầu ra giao dịch chưa chi tiêu, dịch theo nghĩa đen là Đầu ra giao dịch chưa chi tiêu, đây là điểm 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, có nghĩa là nó chỉ ghi lại Để ghi lại các sự kiện thay đổi, người dùng cần tự tính toán số dư 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 coi là một "đồng xu" với bất kỳ số lượng nào.
Nhập và thay đổi UTXO
UTXO, đó là Công bằng Giống như tiền xu, chúng không thể tách rời và sử dụng được, vậy làm cách nào để bạn gộp số tiền đầu vào trong quá trình giao dịch và làm cách nào để lấy 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 Vì vậy, Xiao Ming đã tìm một UTXO khác có mệnh giá là 0,2, 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 cho đầu vào và nó phụ thuộc vào việc triển khai ví.
Chữ khắc và rune Bitcoin
Thứ hai, chúng tôi Bạn cần để biết Chữ khắc và Cổ ngữ 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 với nội dung hoàn toàn trực tuyến 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à những gì chúng tôi đã đề cập đến COOK và PSBTS.
Các vật mang dòng chữ khắc và rune Bitcoin là UTXO, sự kết hợp giữa dòng chữ Bitcoin (Dòng chữ) và Rune (Rune) Sự khác biệt chính là dòng chữ được khắc trong dữ liệu SegWit, trong khi chữ rune được khắc trong OP_RETURN. Kích thước dữ liệu mà OP_RETURN có thể lưu trữ rất hạn chế nhưng nó 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ố tiền theo giao thức và giao thức sẽ trả lại cho bạn một đồng xu có dòng chữ hoặc rune. UTXO, 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.
Việc truyền dòng chữ 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, trả phí xử lý bổ sung và chuyển chúng cho bên kia.
Tại sao người dùng lại mất "rune"?
Để người dùng mất rune, vì bản chất nó vẫn là UTXO, khi người dùng sử dụng UniSat để thực hiện các hoạt động xuyên chuỗi trên Bitcoin, vì UniSat không. UTXO chứa rune trong phần này được xác định, xử lý như một UTXO bình thường và đầu vào được gửi đến cầu nối chuỗi chéo.
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í.
Tại sao không có ai báo cáo dòng chữ bị mất?
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 để chuyển dòng chữ của họ được liên kết chéo 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 mã thông báo 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, đó là lý do tại sao người dùng sẽ "mất" rune trên các chuỗi mà không làm mất chữ khắc. 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.
Các rune vẫn có thể được lấy lại chứ?
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 này chứ?
Chúng tôi đã xem xét BEVM sách trắng. Giải pháp chuỗi chéo tài sản của BEVM dựa trên công nghệTaproot của Bitcoin và được tích hợp  ; Chữ ký Schnorr + Mast Hợp đồng + 1000 BTC Light Node Mạng POS để đạt được chuỗi chéo phi tập trung và quản lý tài sản, chuỗi chéo BTC-BEVM hai chiều đượ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 nhiều chữ ký hoặc quản lý thủ công. Điều này làm cho tính bảo mật chuỗi chéo của tài sản BTC và Bitcoin an toàn như BFT POS. Nó được phân cấp và bảo mật như nhau. 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 biệt để 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 ký quỹ thực hiện giao dịch, những " rune "Tài sản" 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 việc rút tiền bị ép buộc, sự đồng thuận của toàn bộ chuỗi BEVM phải được thay đổi hoàn toàn, điều này chắc chắn sẽ xảy ra dẫn đến một hard fork của BEVM. .
Nói chung sự cố này xảy ra do nhiều nguyên nhân:
Ví được sử dụng cho các hoạt động chuỗi chéo không hỗ trợ rune.
BEVM là tài sản được quản lý phân tán và phi tập trung, không thể rút thủ công.
Người dùng chưa quen với giao thức ngọc.
Làm cách nào để tránh loại sự cố này xảy ra lần nữa?
Đối với người dùng thông thường, làm cách 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:
Hãy đảm bảo ví bạn sử dụng hỗ trợ giao thức Inscription hoặc Inscription.
Đảm bảo rằng giao thức bạn muốn tương tác (chẳng hạn như cầu nối chuỗi chéo) hỗ trợ giao thức Inscription Rune.
Trước khi sử dụng giao thức, trước tiên hãy nghiên cứu xem có bất kỳ vấn đề nào trong quá trình thao tác của người dùng hay không.
Sử dụng nhiều ví để quản lý các tài sản khác nhau.
Đồ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 phải được 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 ratừ 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ó.
Tóm tắt
Sự xuất hiện của chữ khắc và rune là Đây 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 đã thúc đẩy đáng kể sự chú ý và nhiệt tình tham gia vào hệ sinh thái Bitcoin của mọi người, đồng thời cũng đóng một vai trò tích cực to lớn trong sự phát triển của hệ sinh thái Bitcoin trong tương lai. 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ù quáng.