Một bài viết giúp bạn tìm hiểu sâu hơn về giao thức Arc-20 và Brc-20

Trung cấpFeb 01, 2024
Bài viết này đi sâu vào chi tiết, ưu điểm và nhược điểm của hai giao thức từ góc độ kỹ thuật.
Một bài viết giúp bạn tìm hiểu sâu hơn về giao thức Arc-20 và Brc-20

Giới thiệu loại coin

Gần đây, sự ra đời của giao thức Arc-20 một lần nữa đã gây ra cơn sốt trên thị trường máy in. Bài viết này sẽ đi sâu vào chi tiết, ưu điểm và nhược điểm của hai giao thức từ góc độ kỹ thuật.

Tại sao lại có Brc-20 và Arc-20?

Bitcoin ban đầu được thiết kế để trở thành một loại tiền kỹ thuật số phi tập trung an toàn, ổn định và đáng tin cậy. Tuy nhiên, do kiến trúc kỹ thuật và ngôn ngữ kịch bản tương đối kém linh hoạt so với Ethereum, Bitcoin không phù hợp để thực hiện trực tiếp các hợp đồng thông minh.

Mặc dù vậy, những ý tưởng đổi mới và nỗ lực táo bạo của các nhà phát triển đã mang lại sự thịnh vượng cho hệ sinh thái Bitcoin. Một ví dụ điển hình là giao thức Brc-20. Ý tưởng cốt lõi của giao thức là một dạng token thử nghiệm, tập trung vào các meme. Bất kỳ ai cũng có thể đúc các token này trực tiếp trên chuỗi Bitcoin trên cơ sở ai đến trước được phục vụ trước mà không cần dựa vào hợp đồng thông minh. Tính năng chính của mã thông báo Brc-20 là tính chất phi tập trung của nó, giúp loại bỏ các cơ chế như bán hàng riêng tư, bán trước và mở khóa hoặc đặt cược. Điều này đảm bảo sự tham gia thực sự phi tập trung.

Trong bối cảnh này, giao thức Arc-20 một lần nữa lại khơi dậy sự quan tâm mạnh mẽ đến chữ khắc.

Mô hình UTXO là gì?

Các giao thức Brc-20 và Arc-20 đều dựa trên chuỗi Btc, vì vậy trước khi chúng tôi chính thức giới thiệu giao thức Arc-20 và giao thức Brc-20, hãy hiểu ngắn gọn về UTXO (đầu ra giao dịch chưa được chi tiêu).

Khi chúng ta nói về Bitcoin, mô hình UTXO (đầu ra giao dịch chưa được chi tiêu) là một khái niệm thiết kế quan trọng. Đây là một loại mô hình tài khoản được Bitcoin sử dụng, khác với các mô hình số dư truyền thống như tài khoản ngân hàng.

Trong mô hình UTXO, mọi giao dịch Bitcoin đều tạo ra một loạt đầu ra chưa được chi tiêu, với mỗi đầu ra đại diện cho một lượng Bitcoin nhất định. Những đầu ra chưa được chi tiêu này về cơ bản là các đơn vị tiền kỹ thuật số chưa được sử dụng, tương tự như hóa đơn giấy hoặc tiền xu. Khi bạn nhận được Bitcoin, ai đó thực sự đã tạo một đầu ra mới chưa được chi tiêu được liên kết với địa chỉ Bitcoin của bạn. Đầu ra này là UTXO.

Hãy giải thích mô hình UTXO bằng một ví dụ đơn giản:

Nếu bạn có hai giao dịch, một giao dịch nhận 0,7 BTC và giao dịch còn lại nhận 0,5 BTC, bạn sẽ có hai UTXO, một giao dịch trị giá 0,7 BTC và một giao dịch trị giá 0,5 BTC. Khi bạn muốn thanh toán 1 BTC, bạn không thể chỉ sử dụng một UTXO mà bạn cần hợp nhất hai UTXO thành một UTXO mới (với tổng số 1,2 BTC), sau đó gửi 1 BTC cho người nhận, với 0,2 BTC còn lại trở lại với chính mình như sự thay đổi. Tuy nhiên, mức thay đổi thực tế có thể ít hơn 0,2 BTC vì người dùng cần phải trả phí giao dịch cho các thợ đào để đảm bảo giao dịch diễn ra suôn sẻ.

Triển khai kỹ thuật giao thức Brc-20

BRC-20 là một tiêu chuẩn thử nghiệm chứng minh khả năng tạo ra các token có thể thay thế được trên lớp 1 của Bitcoin bằng cách tận dụng lý thuyết và dòng chữ thứ tự. Giao thức Ordinals (mã thông báo đầu tiên được đúc theo tiêu chuẩn của giao thức) cho phép nội dung, bao gồm văn bản, hình ảnh hoặc video, được in trên đơn vị nhỏ nhất của Bitcoin, Satoshi, từ đó tạo ra tài sản kỹ thuật số độc đáo.

Lý thuyết thứ tự là chìa khóa để triển khai việc khắc chữ trên mạng BTC.

Mỗi Satoshi về cơ bản là giống nhau và Ordinals đã phát triển giao thức đặt hàng Satoshi thông qua lý thuyết tường thuật. Thứ tự này dựa trên việc khai thác Satoshi và thứ tự đầu vào và đầu ra giao dịch của chúng.

Có nhiều cách khác nhau để biểu diễn số thứ tự:

  • Ký hiệu số nguyên: 2099994106992659 là số thứ tự được gán theo thứ tự khai thác Satoshi.
  • Ký hiệu thập phân: 3891094.16797 Số đầu tiên là chiều cao của khối nơi Satoshi được khai thác và số thứ hai là phần bù của Satoshi trong khối.
  • Ký hiệu độ: 3°111094′214″16797‴. Chúng ta sẽ nói đến điều đó sau.
  • Ký hiệu phần trăm: 99,99971949060254%. Cho biết vị trí của Satoshi trong nguồn cung Bitcoin, được biểu thị bằng phần trăm.

Biểu thức độ có bốn phần: A°B′C″D‴ và A, B, C và D thể hiện các ý nghĩa khác nhau:

  • A: Khoảng thời gian, được đánh số bắt đầu từ 0. (Chu kỳ định kỳ: Điều kỳ diệu nào đó sẽ xảy ra cứ sau sáu lần giảm một nửa: việc giảm một nửa và điều chỉnh độ khó sẽ xảy ra cùng một lúc. Đây là cái gọi là sự kết hợp. Khoảng thời gian giữa các liên từ là một chu kỳ. Nó sẽ xảy ra khoảng 24 năm một lần. Sự kết hợp, sự kết hợp đầu tiên sẽ xảy ra vào khoảng năm 2032.)
  • Chỉ số khối trong thời kỳ halving.
  • Chặn chỉ số trong quá trình điều chỉnh độ khó.
  • Chỉ số Satoshi trong khối.

Lý thuyết tường thuật xác định thứ tự của một Satoshi thông qua biểu thức mức độ và xác định các mức độ hiếm khác nhau cho mỗi Satoshi thông qua thứ tự, từ đó đạt được tính duy nhất của mỗi Satoshi

  • Phổ biến: Bất kỳ Satoshi nào không phải là Satoshi đầu tiên trong khối.
  • Không phổ biến: Satoshi đầu tiên của mỗi khối.
  • Hiếm: satoshi đầu tiên của mỗi chu kỳ điều chỉnh độ khó.
  • Epic: satoshi đầu tiên trong mỗi kỷ nguyên giảm một nửa.
  • Huyền thoại: satoshi đầu tiên của mỗi chu kỳ.
  • Chuyện hoang đường: Satoshi đầu tiên trong khối nguyên thủy.

ví dụ: một mức độ hiện tại được biểu thị bằng 1°1′0"0‴, trong đó

  • 1°: biểu thị chu kỳ thứ hai
  • 1′: đại diện cho khối đầu tiên không phải là chu kỳ giảm một nửa
  • 0”: thể hiện khối điều chỉnh độ khó đầu tiên
  • 0‴: đại diện cho satoshi đầu tiên của khối

Với định nghĩa về độ hiếm ở trên, Satoshi này được định nghĩa là stoshi hiếm.

Quá trình chung như sau:

Nó được triển khai như thế nào thông qua mã trong Ordinals?

py# Tính tường thuật (phần thưởng) của một khối với chiều cao

trợ cấp def (chiều cao):

trả về 50*100_000_000 >> chiều cao // 210_000

Hàm này dùng để tính phần thưởng cho một khối Bitcoin có chiều cao nhất định, trong đó 50*100_000_000 là phần thưởng ban đầu của Bitcoin, >> là toán tử dịch chuyển bên phải, tương đương với việc chia cho 2 số nguyên. Hàm này trả về một số nguyên biểu thị số tiền thưởng cho một khối ở độ cao nhất định.

Tính số thứ tự của phần thưởng đầu tiên cho một khối có chiều cao nhất định

def first_order(chiều cao):

bắt đầu = 0

cho h trong phạm vi (chiều cao):

bắt đầu += trợ cấp(h)

bắt đầu trở lại

Hàm này tính số thứ tự của phần thưởng đầu tiên cho một khối ở độ cao nhất định. Tính tổng số phần thưởng từ khối đầu tiên đến một độ cao nhất định bằng cách lặp qua các độ cao và tích lũy phần thưởng cho mỗi khối, dẫn đến số thứ tự của phần thưởng đầu tiên.

Gán số thứ tự cho khối đã cho

def gán_orders(khối):

đầu tiên = first_order(block.height)

cuối cùng = đầu tiên + trợ cấp (block.height)

coinbase_orders =list(phạm vi (đầu tiên, cuối cùng))

Gán số thứ tự cho khối đã cho

def gán_orders(khối):

đầu tiên = first_order(block.height)

cuối cùng = đầu tiên + trợ cấp (block.height)

coinbase_orders =list(phạm vi (đầu tiên, cuối cùng))

cho giao dịch trong block.transactions[1:]:

thứ tự = []

cho đầu vào trong giao dịch.inputs:

 ordinal.extend(input.orders)

cho đầu ra trong giao dịch.outputs:

 output.orders = ordinals[:output.value] 

 trong số ordinals[:output.value]

coinbase_Ordinals.extend(thứ tự)

cho đầu ra trong block.transactions[0].outputs:

Output.Ordinals = coinbase_Ordinals[:output.value]

của coinbase_Ordinals[:output.value]

Hàm này được sử dụng để gán số thứ tự cho một khối Bitcoin nhất định. Đầu tiên nó tính toán phạm vi thứ tự của phần thưởng đầu tiên và cuối cùng của khối. Tiếp theo, nó lặp lại từng giao dịch trong khối, gán số thứ tự cho mỗi đầu ra. Cuối cùng, đầu ra của giao dịch được gán số thứ tự để đảm bảo rằng tất cả satoshi trong toàn bộ khối đều có số thứ tự duy nhất.

Nói tóm lại, thông qua lý thuyết thứ tự, các bản gốc làm cho mỗi Satoshi về cơ bản giống nhau và trở nên độc nhất thông qua quá trình xử lý và xác định mức độ quen thuộc hiếm có cho mỗi Satoshi thông qua các quy tắc, hiện thực hóa các thuộc tính bộ sưu tập hoặc xây dựng các quy tắc cho phù hợp với lối chơi.

Trường hợp sử dụng

  • Thú vị: Các giao thức độc đáo và thú vị sẽ một lần nữa mang lại sự thịnh vượng cho hệ sinh thái Bitcoin.
  • Phát hành tài sản: Mã thông báo BRC-20 có thể đóng vai trò là đại diện kỹ thuật số của tài sản, vốn chủ sở hữu hoặc các thực thể có thể thay thế khác. Đây có thể là stablecoin, mã thông báo tiện ích hoặc mã thông báo dựa trên meme.
  • Tích hợp dApp: Nhà phát triển có thể tích hợp mã thông báo BRC-20 vào các ứng dụng phi tập trung sử dụng mạng Bitcoin. Các ứng dụng của họ bao gồm từ việc tạo thu nhập và các khoản vay có thế chấp cho đến đặt cọc để lấy vốn sở hữu.
  • Mã thông báo tài sản: Tiêu chuẩn brc-20 tạo điều kiện thuận lợi cho việc mã hóa bất kỳ tài sản hoặc sở thích nào, mở ra nhiều khả năng như cộng đồng dựa trên mã thông báo hoặc bỏ phiếu DAO.
  • Cơ chế trao đổi: mã thông báo brc-20 có thể được trao đổi và giao dịch thuận tiện trên lớp đầu tiên của mạng Bitcoin thông qua nhiều nền tảng khác nhau. Mặc dù chúng hiện có thể truy cập được thông qua sổ đặt hàng, nhưng kế hoạch tích hợp chúng vào các sàn giao dịch nhóm thanh khoản gần đây đã xuất hiện.

Triển khai kỹ thuật Arc-20

Giao thức Atomicals là một giao thức đơn giản và linh hoạt để đúc, chuyển và cập nhật các đối tượng kỹ thuật số (theo truyền thống được gọi là mã thông báo không thể thay thế) trên chuỗi khối với các đầu ra giao dịch chưa được chi tiêu (UTXO) chẳng hạn như Bitcoin. Atomical (hoặc “atom”) là một cách quản lý việc tạo, chuyển giao và cập nhật các đối tượng kỹ thuật số - về cơ bản là chuỗi quyền sở hữu kỹ thuật số được xác định bởi một số quy tắc đơn giản.

Arc-20 áp dụng mô hình đồng xu màu, có nghĩa là mã thông báo Arc-20 phải có hỗ trợ satoshi, không giống như mã thông báo Brc-20 được phân biệt bằng cách đặt hàng. Vì mã thông báo Arc-20 hoàn toàn dựa trên satoshi nên chúng có thể được phân tách và hợp nhất (tương tự như UTXO được đề cập ở đầu bài viết) và có thể được chuyển trực tiếp qua mạng Bitcoin.

Ví dụ: bằng cách sử dụng giao thức Atomicals, chúng tôi có thể định nghĩa 100 satoshi là 100 “vé xem phim” và người dùng có thể sử dụng một trong 100 satoshi này để thanh toán tại rạp chiếu phim hỗ trợ giao thức Atomicals, hoạt động như một vé xem phim.

Tuy nhiên, những người khai thác và mạng Bitcoin không thể biết UTXO nào đã được “Nguyên tử hóa”, điều này có thể coi nhầm mã thông báo Arc-20 là phí khai thác. Để giải quyết vấn đề này, Atomicals hướng dẫn rằng mỗi mã thông báo Arc-20 phải là đầu ra đầu tiên của giao dịch để tránh việc vô tình phá hủy mã thông báo.

Trường hợp sử dụng

  • Bộ sưu tập kỹ thuật số, phương tiện truyền thông và nghệ thuật
  • Nhận dạng kỹ thuật số, xác thực và nội dung kiểm soát mã thông báo.
  • Lưu trữ web và lưu trữ tập tin
  • Hoán đổi điểm-điểm và hoán đổi nguyên tử
  • Phân bổ không gian tên số
  • Đăng ký đất đai và quyền sở hữu ảo
  • Các đối tượng và trạng thái động trong trò chơi
  • Hồ sơ, bài đăng và cộng đồng trên mạng xã hội
  • Bất cứ nơi nào an ninh và phân cấp là vấn đề chính. Với các yêu cầu xác minh và bảo mật cấp quân sự.

Brc-20 vs Arc-20

Tiếp theo, chúng ta sẽ phân tích và so sánh những điểm tương đồng và khác biệt giữa hai giao thức.

Brc-20

Thỏa thuận được chia thành ba bước

  1. Người triển khai cần ghi thông tin liên quan của mã thông báo vào chuỗi BTC theo định dạng giao thức.

{

“p”: “brc-20”,

“bật”: “triển khai”,

“đánh dấu”: “ordi”,

“Tối đa”: “21000000”,

“lim”: “1000”

}

  1. Người lập chỉ mục đọc dữ liệu liên quan đến mã thông báo trên chuỗi
  2. Sổ cái ngoài chuỗi ghi lại số dư token có liên quan và xử lý chuyển khoản

Do BTC không thể nhận dạng thông tin mã thông báo khi người triển khai triển khai mã thông báo nên cần có người lập chỉ mục để lấy dữ liệu liên quan trên chuỗi và sử dụng dữ liệu này để tạo sổ cái ngoài chuỗi nhằm ghi lại lịch sử liên quan và xử lý dữ liệu liên quan. cập nhật.

Trình lập chỉ mục ngoài chuỗi cần nắm bắt và cập nhật chính xác sổ cái ngoại tuyến cho từng hoạt động mã thông báo. Tuy nhiên, tương tự như blockchain, khi số lượng giao dịch tăng lên, dữ liệu được lưu trữ bởi các nút sẽ ngày càng lớn hơn. Đảm bảo tính toàn vẹn của sổ cái và tìm kiếm thông tin cần sửa đổi trong lượng dữ liệu khổng lồ sẽ trở thành một thách thức đối với BRC-20.

Arc-20

Tương tự, giao thức Arc-20 cũng cần ghi lại các thông tin liên quan theo định dạng trên chuỗi BTC khi triển khai token.

chương trình.command('init-dft')

.description('Khởi tạo nguyên tử mã thông báo có thể thay thế (FT) ở chế độ phát hành phi tập trung')

.argument('<ticker>', 'string')

.argument('<mint_amount>', 'số')

.argument('<max_mints>', 'số')

.argument('<mint_height>', 'số')

.argument('<file>', 'string')

.option('—rbf', 'Có bật RBF cho các giao dịch hay không.')

.option('—funding <string>', 'Sử dụng bí danh ví wif để sử dụng cho việc cấp vốn và thay đổi')

.option('—satsbyte <number>', 'Satoshi trên mỗi byte tính theo phí', '15')

.option('—mintbitworkc <string>', 'Có yêu cầu bất kỳ bằng chứng công việc bitwork nào để đúc hay không. Áp dụng cho giao dịch cam kết.')

.option('—mintbitworkr <string>', 'Có yêu cầu bất kỳ bằng chứng công việc nào về bitwork để đúc hay không. Áp dụng cho giao dịch tiết lộ.')

.option('—bitworkc <string>', 'Có nên đưa bất kỳ bằng chứng công việc bitwork nào vào việc đúc token hay không. Áp dụng cho giao dịch cam kết.')

.option('—bitworkr <string>', 'Có nên đưa bất kỳ bằng chứng công việc bitwork nào vào việc đúc token hay không. Áp dụng cho giao dịch tiết lộ.')

.option('—parent <string>', 'Có cần sử dụng nguyên tử gốc cùng với bạc hà hay không.')

.option('—parentowner <string>', 'Chủ sở hữu ví của cha mẹ để chi tiêu cùng với tiền đúc.')

.option('—disablechalk', 'Có nên tắt tính năng ghi nhật ký bằng phấn theo thời gian thực của từng hàm băm để khai thác Bitwork hay không. Cải thiện hiệu suất khai thác để đặt cờ này')

.action(async (ticker, mintAmount, maxMints, mintHeight, file, options) => {

…..

}

Trong mã nguồn cli nguyên tử-js , bạn có thể tìm thấy hướng dẫn khởi tạo mã thông báo. Các thông số cần ghi trên dây chuyền là:

mã thông báo: tên mã thông báo

mint_amount: tổng số bạc hà

max_mints: số lượng bạc hà trong một lần

mint_height: chỉ định chiều cao của khối để bắt đầu đúc

tập tin: siêu dữ liệu liên quan

Nhưng không giống như Brc20, Arc20 áp dụng mô hình tiền tệ có màu sắc. Sau khi thông tin liên quan đến mã thông báo được nhập vào chuỗi BTC, giao thức sẽ neo mã thông báo với Sats:1 mã thông báo = 1 sat。

Đồng thời, việc sử dụng mô hình tiền tệ có màu cho phép người dùng thực hiện giao dịch trực tiếp thông qua mạng BTC thay vì sổ cái ngoài chuỗi. Vì số dư token nhất quán với satoshi trong UTXO nên những thay đổi liên quan trong token có thể được phản ánh một cách trực quan trên chuỗi. . Bộ lập chỉ mục trong Arc-20 chỉ được sử dụng để đọc thông tin triển khai có liên quan của mã thông báo trên chuỗi và xác minh mã thông báo nào tuân thủ giao thức Arc-20.

Phần kết luận

Cấu trúc thiết kế của Brc-20 phụ thuộc nhiều hơn vào sổ cái ngoài chuỗi, trong khi Arc-20 phù hợp hơn với các đặc điểm của Btc và có tính phi tập trung hơn so với Brc-20. Tuy nhiên, mô hình đồng xu màu ngăn Arc-20 hoàn thành việc phát hành đồng meme, vì đồng meme thường có tổng nguồn cung cấp token cao và tính năng 1 token = 1 sat yêu cầu tiêu thụ một lượng lớn Btc khi phát hành meme đồng xu.

tác giả:https://twitter.com/YanAemons@YanAemons

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

  1. Bài viết này được in lại từ [trung bình]. Mọi bản quyền đều thuộc về tác giả gốc [@YanAemons]. 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.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!
Buat Akun