Giới thiệu về dòng chữ|Hiểu các trường hợp sử dụng, cách triển khai và bảo mật tài sản của các giao thức dòng chữ

Người mới bắt đầuFeb 07, 2024
Bài viết này sắp xếp các giao thức ghi nhãn chính thống để giúp người dùng hiểu các trường hợp sử dụng, phương pháp triển khai và cách bảo vệ tài sản ghi nhãn.
Giới thiệu về dòng chữ|Hiểu các trường hợp sử dụng, cách triển khai và bảo mật tài sản của các giao thức dòng chữ

Vào ngày 1 tháng 2, Ví Binance Web3 đã chính thức ra mắt thị trường ghi chú, hỗ trợ nhiều giao thức ghi chú khác nhau như BRC-20 và Ethscription. Vài ngày trước, OKX cũng đã thông báo hỗ trợ các giao thức khắc chữ như ARC-20, Runes, Doginals, v.v., điều này đã thu hút sự chú ý của toàn thị trường đối với chữ khắc. Trong làn sóng ghi, nhiều vấn đề bảo mật khác nhau thường xuyên phát sinh do tính phức tạp và tính mới của các giao thức ghi. Điều này không chỉ đe dọa đến sự an toàn tài sản của người dùng mà còn có tác động tiêu cực đến sự phát triển lành mạnh của toàn bộ hệ sinh thái Inscription.

Để giải quyết vấn đề này, nhóm bảo mật Beosin sẽ phân tích các giao thức ghi chú chính thống để giúp người dùng hiểu mục đích và cách triển khai các giao thức ghi chú cũng như cách bảo vệ tài sản ghi chú.

Giới thiệu về chữ khắc

Cái gọi là dòng chữ trên blockchain là ghi lại một số thông tin cụ thể và có ý nghĩa trên blockchain thông qua các đặc điểm nhất định của blockchain. Một khi thông tin này được ghi lại trên blockchain, nó sẽ được lưu trữ vĩnh viễn trên blockchain và khó bị giả mạo. Thông tin được ghi vào blockchain có thể thuộc nhiều loại, chẳng hạn như thông tin văn bản đơn giản, mã phức tạp, hình ảnh, v.v. có thể được ghi vào blockchain. Bằng cách này, chúng ta có thể sử dụng một bộ tiêu chuẩn để triển khai các chức năng của tài sản kỹ thuật số.

Hiện trạng chữ khắc

Từ sự xuất hiện ban đầu của Dòng chữ khắc Bitcoin như BRC-20, cho đến hệ sinh thái Dòng chữ hiện tại, có vô số giao thức Dòng chữ mới và các dự án mới xuất hiện hầu như mỗi ngày. Có thể nói sự phát triển của Inscription đang có những bước phát triển nhảy vọt. Nhiều chuỗi công khai phổ biến khác nhau cũng đã tham gia vào hệ sinh thái ghi chú, chẳng hạn như giao thức Ethscription trên chuỗi công khai ETH, giao thức ARC-20 trên chuỗi công khai BTC, BSC-20 và các giao thức khác trên chuỗi công khai BSC và PRC- trên chuỗi công khai Polygon. 20 vv thỏa thuận…. Tất cả các giao thức này đều được tạo ra nhằm mục đích xuất bản các dòng chữ trên chuỗi công khai của chúng. Trong nội dung sau, chúng tôi sẽ giới thiệu các phương pháp triển khai và trường hợp sử dụng của các giao thức khác nhau.

Giải thích chi tiết về dòng chữ

Hãy giới thiệu các giao thức hiện đang thu hút nhiều sự chú ý trên thị trường và so sánh những điểm tương đồng và khác biệt giữa các giao thức ghi của các chuỗi công khai khác nhau.

1. BRC-20

Để giải thích rõ ràng về BRC-20, trước tiên chúng ta phải giới thiệu UTXO và Ordinals.

BTC sử dụng mô hình UTXO và các giao dịch được chuyển theo đơn vị UTXO. UTXO là tên viết tắt của Unspent Transaction Output, nghĩa là đầu ra giao dịch chưa chi tiêu. Mô hình UTXO khác với mô hình tài khoản của các chuỗi công khai như Ethereum ở chỗ 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. Để tính xem một người dùng có bao nhiêu Bitcoin, bạn cần tổng hợp tất cả các UTXO trong địa chỉ của người đó và kết quả là số lượng xu mà người dùng nắm giữ.

Ordinals là một giao thức có hệ thống để đánh số Satoshi (sats), đơn vị nhỏ nhất của Bitcoin. Nó có thể gán một số duy nhất cho mỗi Satoshi trong mỗi UTXO (bao gồm một số Satoshi). Ordinals cũng hỗ trợ chức năng viết văn bản, hình ảnh, âm thanh, video, v.v. vào satoshi, làm cho mỗi satoshi trở nên độc đáo, tương tự như token NFT không thể thay thế của Ethereum quen thuộc mà chúng tôi gọi là Bitcoin NFT.

Người sáng lập BRC-20 đã đưa ra một khái niệm khác dựa trên giao thức Ordinals. Vì giao thức Ordinals có thể tạo ra các NFT Bitcoin bằng cách cung cấp cho mỗi Satoshi những “thuộc tính” khác nhau, nên nó cũng có thể tạo ra các FT Bitcoin bằng cách đưa ra một “định dạng” và “thuộc tính” thống nhất, tức là các mã thông báo đồng nhất.

BRC-20 ghi dữ liệu văn bản định dạng JSON thống nhất vào Satoshi thông qua giao thức Ordinals. Dữ liệu văn bản này là sổ kế toán của token BRC-20. Dựa trên dữ liệu văn bản này, việc nắm giữ và chuyển mã thông báo có thể được phân tích cú pháp. Chủ yếu bao gồm các nội dung sau:

Trên đây là ba tiêu chuẩn của BRC-20. Trong số đó, trường op đại diện cho hoạt động cần thực hiện, bao gồm triển khai (deployment), mint (đúc) và transfer (chuyển giao). Dấu tích đại diện cho tên của token cần thực hiện. max đại diện cho tổng số lượng token được phát hành, lim đại diện cho số lượng xu tối đa được đúc trên mỗi token, amt đại diện cho số lượng token cần được vận hành. Trong tiêu chuẩn chuyển nhượng cũng có các trường như “đến”, nhưng điều này không cần thiết. Việc chuyển tiền được thực hiện bằng Dòng chữ được gửi đến địa chỉ đích để thực hiện thay đổi số dư, như thể hiện trong hình bên dưới:

Nguồn:https://twitter.com/blockpunk2077/status/1725513817982136617

2. ARC-20

ARC-20 vẫn là giao thức ghi trên chuỗi công khai Bitcoin. Giống như giao thức BRC-20, nó được triển khai bằng cách ghi dữ liệu tiêu chuẩn vào UTXO, nhưng điểm khác biệt là giao thức ARC-20 không cần chỉ định ARC-20 trong dữ liệu. Thay vào đó, số lượng mã thông báo ARC-20 được biểu thị bằng sats (satoshi, đơn vị nhỏ nhất của Bitcoin) trong UTXO. Quy tắc là 1 sat=1 mã thông báo ARC-20.

Giao thức ARC-20, giống như giao thức BRC-20, cũng được chia thành ba bước: triển khai, đúc và chuyển giao. Trong giai đoạn triển khai, tên mã thông báo tiêu chuẩn, tổng số lượng mã thông báo, hạn chế truyền và thông tin khối cần phải được điền vào UTXO. , thông tin hình ảnh, v.v.; trong giai đoạn đúc tiền, người dùng cần điền tên của mã thông báo vào UTXO và số sats của UTXO là số lượng đúc của mã thông báo ARC-20 và không được điền vào UTXO cùng với mã thông báo tên; khi người dùng đúc mã thông báo ARC-20 có thể được gửi đến các địa chỉ khác. Khi gửi mã thông báo, người dùng không cần điền bất kỳ dữ liệu nào vào UTXO mà chuyển trực tiếp UTXO đang giữ mã thông báo sang các địa chỉ khác.

Nguồn:https://twitter.com/blockpunk2077/status/1725513817982136617

Khi truy vấn mã thông báo ARC-20, chỉ cần một chỉ mục. Máy chủ chỉ mục ngoại tuyến có thể đọc thông tin đăng ký mã thông báo cũng như các giao dịch đúc và chuyển khoản. Máy chủ không cần tính toán mối quan hệ chuyển tiền và truy vấn mã thông báo ARC-20 do địa chỉ đó sở hữu. Số lượng có thể thu được bằng cách đọc trực tiếp số lượng sats của UTXO đang giữ mã thông báo.

Sau khi hiểu rõ về BRC-20 và ARC-20, bạn nên biết tại sao một số người lại chuyển nhầm tài sản được ghi sang địa chỉ khác hoặc “đốt” chúng.

Vì các giao thức ghi chữ BTC như BRC-20 và ARC-20 dựa trên giao dịch UTXO nên các giao dịch ghi chữ thực sự được thêm vào giao dịch BTC và người dùng có thể thực hiện các hoạt động chuyển BTC thông thường mà không hiểu đầy đủ về chữ khắc. UTXO hiện tại của nó được hợp nhất và phân tách với các UTXO khác, sau đó được gửi đến các địa chỉ ngoài ý muốn, khiến tài sản được ghi bị chuyển sai hoặc bị “cháy”, gây ra tổn thất không thể khắc phục.

3. Dân tộc học

Ethscription là một giao thức tạo và chia sẻ dữ liệu trên Ethereum. Một số dòng chữ sử dụng giao thức này để thay thế hợp đồng thông minh nhằm thực hiện phát hành mã thông báo. Việc sử dụng chữ khắc có thể giảm chi phí của người dùng xuống mức cực thấp.

Khi Ethereum gửi một giao dịch, nó sẽ cung cấp khối dữ liệu cuộc gọi. Nói chung, khối dữ liệu này sẽ được để trống đối với các giao dịch chuyển ETH thông thường. Nếu một hợp đồng thông minh được gọi, khối dữ liệu sẽ được chỉ định làm chữ ký của hàm gọi và từng dữ liệu tham số. Giao thức Ethscription sử dụng khối dữ liệu cuộc gọi để thêm một số dữ liệu tiêu chuẩn nhằm mang lại ý nghĩa liên quan khi gửi chuyển ETH thông thường.

Ethscription chỉ định những dữ liệu tiêu chuẩn này như thế nào?

Đầu tiên, nếu bạn muốn tạo Ethscription có nội dung là dữ liệu hình ảnh, bạn cần chuyển đổi hình ảnh (kích thước hình ảnh bị giới hạn ở 96KB) thành URI của dữ liệu được mã hóa Base64 theo định dạng (data:image/png;base64,… ); tiếp theo Chuyển đổi URI thành chuỗi thập lục phân; gửi một giao dịch chuyển khoản thông thường đến địa chỉ đích thông qua Ethereum và điền chuỗi thập lục phân ở trên vào calldata, như hiển thị bên dưới:

Theo cách này, địa chỉ 0xf1bf sở hữu Mô tả Ethscription và mọi Mô tả Ethscription được tạo sau này với cùng một dữ liệu cuộc gọi sẽ bị coi là không hợp lệ.

Nếu bạn muốn chuyển Ethscription, bạn cần chủ sở hữu Ethscription gửi chuyển khoản thông thường đến địa chỉ nhận và điền mã băm giao dịch đã tạo Ethscription vào calldata, khi đó địa chỉ nhận sẽ sở hữu Ethscription, như hình dưới đây:

4. Ghi vào chuỗi khối EVM

Đối với các chuỗi khối EVM như BSCChain, Ethereum, Polygon, v.v., có một phương pháp ghi phổ biến được gọi là calldata. Phương pháp này sử dụng các khối dữ liệu để lưu trữ dữ liệu có định dạng cố định. Không giống như việc lưu trữ dữ liệu hình ảnh được đề cập ở trên, phương pháp này liên quan đến việc ghi dữ liệu văn bản có định dạng chuẩn vào calldata.

Trên Chuỗi BSC, các dòng chữ được khắc với định dạng tương tự như định dạng dòng chữ BRC20. Ví dụ: định dạng dòng chữ là: data:,{“p”:””,”op”:””,”tick”:””,”amt”:””}; trong đó trường “p” đại diện cho tên giao thức, chẳng hạn như bsc-20, bnbs-20, ltc-20, bep-20, drc-20, nrc-20, src-20, v.v. Trường “op” đại diện cho hoạt động, thường là “mint”. Trường “tick” đại diện cho tên mã thông báo và trường “amt” đại diện cho số lượng mã thông báo.

Lấy mã thông báo bnbs làm ví dụ, chúng ta có thể thấy rằng miễn là một giao dịch chuyển tiền thông thường được gửi đến địa chỉ đích, hãy điền dữ liệu:,{“p”:”bsc-20”,”op”:”mint” in the calldata ,”tick”:”bnbs”,”amt”:”1000”} sau đó hoàn thành hoạt động đúc mã thông báo bnbs, như được hiển thị bên dưới. Tại thời điểm này, địa chỉ 0x22ef có 1.000 bnbs token.

Tiếp theo, bạn cần chuyển mã thông báo. Như trên, bạn cần gửi một khoản chuyển khoản thông thường đến địa chỉ nhận và điền hàm băm giao dịch đã tạo mã thông báo bnbs vào dữ liệu cuộc gọi. Khi đó địa chỉ nhận sẽ sở hữu token bnbs như hình dưới đây:

Về cơ bản, nó giống nhau trên Ethereum, Polygon và các chuỗi khác, nhưng cần lưu ý rằng nội dung của Chuỗi BSC ở trên không phải là tình huống duy nhất mà dòng chữ được tạo trên chuỗi evm. Có thể có sự khác biệt trong các trường dữ liệu văn bản được điền giữa các chuỗi evm khác nhau hoặc các giao thức khác nhau. Cũng có thể có sự khác biệt trong cách chuyển mã thông báo. Nhưng đối với loại phương thức này, tất cả chúng đều được triển khai bằng cách sử dụng thuộc tính calldata trong chuỗi EVM, vì vậy chúng có vẻ giống nhau.

Tóm tắt

Trong bài viết này, chúng tôi thảo luận về các nguyên tắc triển khai chữ khắc trên nhiều chuỗi. Tóm lại, dòng chữ được giới thiệu là tất cả các quy trình sử dụng một số tính năng của hệ thống chuỗi công cộng để lưu thông tin ngoại tuyến trong blockchain theo các tiêu chuẩn quy định, sau đó xác định và hiển thị thông tin đó thông qua các máy chủ ngoại tuyến. Không có dòng chữ nào được giới thiệu sử dụng hợp đồng thông minh. Người dùng có thể giảm một lượng lớn chi phí giao dịch bổ sung khi tham gia. Tuy nhiên, người dùng cần hiểu đầy đủ về cách thực hiện giao thức ghi chữ để tránh chuyển nhầm hoặc vô tình đốt chữ khắc dẫn đến thất thoát tài sản.

Tuyên bố từ chối trách nhiệm:

  1. Bài viết này được in lại từ [PANews]. Mọi bản quyền đều thuộc về tác giả gốc [Beosin]. Nếu có ý kiến phản đối việc tái bản này, vui lòng liên hệ với nhóm Gate Learn , họ sẽ xử lý kịp thời.
  2. Tuyên bố miễn trừ trách nhiệm pháp lý: Các quan điểm và ý kiến trình bày trong bài viết này chỉ là của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Việc dịch bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài viết đã dịch đều bị cấm.
เริ่มตอนนี้
สมัครและรับรางวัล
$100
ลงทะเบียนทันที