Học nguyên tắc của Giao thức Ordinals và chữ khắc Bitcoin trong một bài viết

Nâng cao1/1/2024, 4:54:08 AM
Bài viết này giải thích chi tiết kỹ thuật của giao thức Ordinals và sự tiến hóa của chi tiết địa chỉ BTC.

Với sự ra đời của Giao thức Ordinals, nó cung cấp cho Bitcoin chức năng đánh số và chữ khắc, từ đó mở rộng phạm vi sản phẩm của hệ sinh thái Bitcoin và mang đến sự sống động mới cho hệ sinh thái Bitcoin. Trong bài viết này, chúng tôi sẽ đào sâu vào chi tiết về Giao thức Ordinal, bao gồm cách mà mỗi Bitcoin được đánh số và theo dõi, cũng như mối quan hệ giữa chữ khắc và số. Nhưng trước khi chúng ta đào sâu hơn vào chủ đề này, chúng ta cần hiểu rõ một số kiến ​​thức cơ bản về Bitcoin để giúp chúng ta hiểu rõ hơn về những gì sắp đến.

Sau khi đọc bài viết này, bạn sẽ thành thạo cơ chế giao dịch và mô hình thanh toán của Bitcoin, tìm hiểu cách Ordinals có thể đánh số và theo dõi mọi Satoshi, và cách chữ khắc được tạo ra và giao dịch. Ngoài ra, bạn sẽ tìm hiểu về sự khác biệt giữa các loại ví khác nhau.

I. Nền tảng Bitcoin

Bitcoin sử dụng mô hình giao dịch giống như tiền mặt (hệ thống tiền mặt), và phương thức thanh toán của nó dựa trên mô hình gọi là UTXO, khác với mô hình truyền thống dựa trên số dư tài khoản. Ví dụ, trong quá trình ghi sổ tài khoản ngân hàng, khi A chuyển 100 nhân dân tệ cho B, ngân hàng ghi lại ba bước. Ba bước này tạo thành quá trình giao dịch. Bước đầu tiên là trừ 100 nhân dân tệ từ tài khoản của A. ID ghi chú cho bước này là tid1. Bước thứ hai là gửi 100 nhân dân tệ vào tài khoản của B. ID ghi chú cho bước này là tid2. Bước thứ ba là ghi lại một hồ sơ chuyển khoản. Hồ sơ này liên kết tid1 và tid2, cho biết việc giảm 100 nhân dân tệ cho tài khoản A và tăng 100 nhân dân tệ cho tài khoản B. Điều này giúp ghi lại mối quan hệ chuyển khoản giữa A và B, có thể tra cứu và theo dõi trong tương lai. Bây giờ, chúng ta sẽ giải thích phương thức thanh toán của Bitcoin thông qua việc giới thiệu về UTXO và các mô hình thanh toán.

UTXO

Trong blockchain của Bitcoin, tất cả số dư được lưu trữ trong một danh sách được gọi là “Unspent Transaction Output (UTXO)” (Unspent Transaction Output). Mỗi UTXO chứa một số lượng cụ thể của bitcoins, cùng với thông tin về chủ sở hữu của những bitcoins đó, và chỉ ra liệu chúng có sẵn có không. Hãy nghĩ về nó như một tờ séc với tên của người giữ nó. Miễn là người giữ ký vào nó, bạn có thể chuyển quyền sử dụng nó cho người khác. Đối với một địa chỉ cụ thể, tất cả số lượng UTXO của nó được cộng lại để tạo ra số dư của ví địa chỉ đó. Bằng cách xem xét tất cả các UTXO, chúng ta có thể lấy số dư hiện tại cho mỗi địa chỉ. Tổng số lượng UTXO là tổng số lượng bitcoins hiện đang lưu thông.

Trong cấu trúc giao dịch của Bitcoin, mỗi giao dịch bao gồm một số đầu vào và đầu ra. Mỗi đầu vào là một tham chiếu đến một UTXO hiện có, và mỗi đầu ra chỉ định một địa chỉ nhận quỹ mới và số tiền tương ứng. Khi một giao dịch được khởi tạo, UTXO được tham chiếu trong phần đầu vào tạm thời bị khóa để ngăn chặn việc sử dụng lại cho đến khi giao dịch hoàn thành. Chỉ khi giao dịch được đóng gói thành một khối (Block) bởi người đào và xác nhận bởi mạng, trạng thái UTXO liên quan mới thay đổi. Cụ thể, UTXO được sử dụng cho đầu vào giao dịch sẽ được loại bỏ khỏi danh sách UTXO, cho biết rằng chúng đã được tiêu thụ, và đầu ra của giao dịch sẽ tạo ra một UTXO mới và được thêm vào danh sách UTXO. Có thể hiểu rằng một séc tiền cũ đã được sử dụng và sau đó trở nên không hợp lệ, tạo ra một séc tiền mới, thuộc sở hữu của chủ sở hữu mới.

Đáng chú ý rằng mỗi UTXO chỉ có thể được sử dụng một lần trong một giao dịch duy nhất. Khi nó được tiêu thụ như một đầu vào, nó sẽ bị xóa vĩnh viễn khỏi danh sách UTXO. Trong khi đó, đầu ra mới tạo ra được thêm vào danh sách như một UTXO mới. Danh sách UTXO luôn thay đổi, và khi mỗi khối mới được tạo ra, nó sẽ được cập nhật tương ứng. Ngoài ra, bằng cách phân tích lịch sử giao dịch trong blockchain, chúng ta có thể tái tạo trạng thái danh sách UTXO tại bất kỳ thời điểm nào.

Ngoài ra, tổng số tiền đầu vào của một giao dịch thường hơi vượt qua một chút so với tổng số tiền đầu ra của nó. Sự khác biệt này, được gọi là phí giao dịch hoặc phí mạng, được cung cấp như một động lực cho các thợ đào (miners) chịu trách nhiệm đóng gói các giao dịch vào các khối. Kích thước của phí mạng tỉ lệ thuận với độ phức tạp của giao dịch, vì vậy một giao dịch với nhiều đầu vào và đầu ra thường yêu cầu một phí mạng cao hơn.

Bây giờ, để hiểu rõ cấu trúc giao dịch Bitcoin hơn, chúng tôi sẽ tiến hành phân tích sâu hơn thông qua một ví dụ cụ thể. Cấu trúc giao dịch của Bitcoin như sau. Hai biến vin và vout đại diện cho “đầu vào” và “đầu ra” của một giao dịch Bitcoin, tương ứng. Các giao dịch Bitcoin không giống như các mô hình cân đối tài khoản truyền thống ghi lại các thay đổi dữ liệu tài khoản, mà được biểu diễn thông qua đầu vào và đầu ra.

Chúng ta có thể chọn một bản ghi giao dịch ngẫu nhiên trên blockchain.com để phân tích. Hình dưới đây cho thấy ID hash là một giao dịch của 0627052b6f28912f2703066a912ea577f2ce4da4caa5a5f5fbd8a57286c345c2f2. Nó chứa một đầu vào và hai đầu ra.

Bằng cách sử dụng các lệnh bitcoin-cli getrawtransaction và decoderawtransaction, chúng ta có thể xem cấu trúc cơ bản của giao dịch trên:

Trong mạng lưới Bitcoin, đầu ra giao dịch chứa hai mảnh thông tin quan trọng: địa chỉ (băm khóa công khai) và số lượng (tính bằng Bitcoin). Nếu đầu ra của một giao dịch không được sử dụng trong đầu vào của một giao dịch khác, thì đầu ra giao dịch này được gọi là đầu ra giao dịch chưa sử dụng (UTXO). Ai có khóa riêng tương ứng với khóa công khai trong UTXO có quyền sử dụng (tức là chi tiêu) UTXO này.

Hãy xem thông tin trong “vin” trong mã trên, cho biết rằng UTXO đã tiêu trong giao dịch này đến từ một giao dịch khác (id của nó là 7957a35fe64f80d234d76d83a2a8a0d8a0d149a41d81de548f0a65a8a999f6f18). Chúng ta có thể tìm thấy số lượng của UTXO này từ các giao dịch lịch sử (ví dụ, 0.1). Do đó, trong giao dịch này, người dùng đã tiêu 0.1 BTC. Giá trị 0.1 không cần phải được viết rõ ràng trong giao dịch, mà được lấy ra thông qua việc tìm kiếm thông tin UTXO. “vout” của giao dịch này có hai đầu ra. Hai đầu ra này là hai UTXO mới, tương ứng với số dư mới và người nắm giữ cho đến khi một giao dịch khác tiêu chúng như đầu vào.

  1. Đối với người dùng A, việc quan trọng đầu tiên là xác định tất cả các bộ UTXO mà họ sở hữu, tức là tất cả Bitcoin mà người dùng A có thể kiểm soát;
  2. A chọn một hoặc nhiều UTXOs từ tập hợp này làm đầu vào cho giao dịch. Tổng số lượng của những đầu vào này là m (2+0.8+0.5 = 3.3 BTC) lớn hơn số tiền cần thanh toán n (3 BTC);
  3. Người dùng A thiết lập hai đầu ra cho giao dịch. Một đầu ra được thanh toán đến địa chỉ của B, số tiền là n (3 BTC), và đầu ra còn lại được thanh toán đến địa chỉ zeroing của A. Số tiền là m-n-fee (3.3-3-0.001 = 0.299) BTC). Ví của người dùng thường bao gồm nhiều địa chỉ. Thông thường, mỗi địa chỉ chỉ được sử dụng một lần và số dư được trả về đến một địa chỉ mới theo mặc định;
  4. Sau khi thợ đào gói giao dịch này trên chuỗi và xác nhận nó, B có thể nhận thông tin giao dịch. Vì có một giới hạn trên kích thước khối (khoảng 1 MB), thợ đào ưu tiên xác nhận các giao dịch có tỷ lệ giao dịch cao (tỷ lệ phí = phí / kích thước) để có được lợi nhuận phí cao nhất. Chúng ta có thể thấy tình hình phí giao dịch đào thời gian thực trong mempool. Nếu chúng ta muốn xác nhận nhanh nhất trong quá trình chuyển khoản, chúng ta có thể chọn Ưu tiên Cao (High Priority) hoặc Tùy chỉnh (custom) mức phí giao dịch phù hợp.

II. Số đánh dấu và theo dõi của Satoshi

Tổng số bitcoin là 21 triệu và mỗi bitcoin chứa 10^8 Satoshi (Satoshi, Sat). Do đó, có 21 triệu*10^8 satoshi trên mạng Bitcoin. Giao thức Ordinals phân biệt các Satoshi này và đánh số duy nhất cho mỗi Satoshi. Phần này giải thích cách thức giao thức này đánh số duy nhất cho mỗi Satoshi và theo dõi tài khoản mà nó đang ở. Ngoài ra, phân loại hiếm hoi cho Satoshi cũng sẽ được giới thiệu.

Số của Satoshi

Theo Thỏa thuận về các Số thứ tự, Satoshi được đánh số theo thứ tự được đào. Hình dưới đây cho thấy cách mà Satoshi thứ 0 được đại diện bởi khối thứ 0.

Có nhiều cách để diễn đạt về Satoshi:

  1. Các ký hiệu số nguyên: Ví dụ, 2099994106992659, chỉ số serial được gán bởi Satoshi theo thứ tự đào.
  2. Ký hiệu thập phân: Ví dụ, 3891094.16797. Số đầu tiên cho biết độ cao của khối mà Satoshi được đào, và số thứ hai cho biết số lượng Satoshi trong khối.
  3. Ký hiệu độ: Ví dụ, 3°111094′214″16797. Số đầu tiên là kỷ nguyên, được đánh số bắt đầu từ 0, số thứ hai là chỉ số khối cho nửa kỷ nguyên, số thứ ba là chỉ số khối trong thời kỳ điều chỉnh độ khó, và số cuối cùng là chỉ số SAT trong khối.
  4. Ký hiệu phần trăm: Ví dụ, 99.99971949060254%, chỉ ra vị thế của Satoshi trong nguồn cung Bitcoin, được diễn đạt dưới dạng phần trăm.
  5. Tên: Satoshi, ví dụ. Tên sử dụng các ký tự a đến z để mã hóa các số tuần tự.

Chúng tôi sẽ sử dụng một ví dụ để giải thích cách đánh số bitcoin mới được đào. Nhìn vào khối thứ 795952 của chuỗi khối Bitcoin, chúng ta có thể thấy rằng giao dịch đầu tiên Tx 3a1f… b177 đã ghi lại phần thưởng của người đào (giao dịch Coinbase). Giao dịch bao gồm bitcoin mới được đào, là phần thưởng được đóng gói cho người đào, và các khoản phí xử lý được trả cho người đào bởi người khởi tạo giao dịch. Bằng cách nhìn vào đầu vào trong hình ảnh dưới đây, chúng ta có thể thấy rằng ID UTxO của nó bao gồm một chuỗi các số không và chiều cao của khối. Địa chỉ đầu ra là địa chỉ ví của người đào, và số tiền là tổng của các phần thưởng và phí ở trên.

Nếu chúng ta xem xét kỹ hơn phần đầu ra cho các thợ đào, chúng ta có thể thấy địa chỉ, số tiền và phân phối của Satoshi được bao gồm. Như đã đề cập trước đó, chúng bao gồm phần thưởng khai thác và phí. Trong số chúng, thông tin số lượng SATS màu xanh lá cây 1941220000000000-1941220625000000 là một Satoshi mới được tạo ra bởi phần thưởng khai thác, và 712 bản ghi Satoshi còn lại tương ứng với tất cả các khoản phí xử lý trong khối này.

Chúng tôi có thể xác minh số Sat 1941220000000000. Số block của nó là 795952, và ký hiệu thập phân (thập phân) là 795952.0, điều này có nghĩa rằng chiều cao block để khai thác Satoshi này là 795952, số trong block này là 0, và tính hiếm (tính hiếm) theo sau được đánh dấu là không phổ biến, chúng tôi sẽ bàn về chi tiết hơn trong các phần sau.

Luồng lưu thông thông minh

Bởi vì mỗi Bitcoin được tạo ra thông qua phần thưởng khai thác, chúng đều có thể được theo dõi. Các tài khoản Bitcoin sử dụng mô hình UTXO. Giả sử người dùng A đã thu được từ Satoshi thứ 100 đến 110 thông qua khai thác (10 Satoshi được lưu trữ nguyên vẹn trong UTXO với cùng ID adc123). Khi người dùng A muốn thanh toán 5 Satoshi cho người dùng B, anh ta chọn sử dụng ID abc123 làm đầu vào cho giao dịch. Trong số này, 5 Satoshi được chuyển cho người dùng B, và 5 Satoshi được trả lại cho người dùng A dưới dạng số không. Hai bản sao của 5 Satoshi này là một, được lưu trữ trong hai UTXO với các ID abc456 và abc789 tương ứng. Số lượng ID UTXO và Satoshi được đề cập ở trên chỉ được hiển thị như một ví dụ. Trong hoàn cảnh thực tế, số lượng tối thiểu của Satoshi được gửi là giới hạn 546, và ID UTXO không được diễn giải dưới dạng này.

Trong giao dịch được mô tả ở trên, các đường dẫn chuyển tiền của 10 Satoshi của Người dùng A là:

  1. Đào tạo ra 10 Satoshi, số này là [100*, 110). *Nó chỉ ra rằng từ Satoshi thứ 100 đến 109 được lưu trữ trong UTXO với ID ABC123, và chủ sở hữu của nó là Người dùng A.
  2. Khi A chuyển tiền, 10 Satoshi được chia thành 2 phần, mỗi phần 5 Satoshi. Nguyên tắc 'đầu tiên vào, đầu tiên ra' được áp dụng ở đây, nghĩa là thứ hạng của các số Satoshi được xác định bởi chỉ số của chúng trong đầu ra giao dịch. Giả sử thứ tự đầu ra là người dùng A trước, sau đó là người dùng B, sau đó 5 số Satoshi còn lại cho người dùng A là [100, 105), được lưu trữ trong UTXO với ID ABC456, trong khi 5 số Satoshi của người dùng B là [105, 110), được lưu trữ trong UTXO với ID ABC789.

Độ hiếm (Satoshi hiếm)

Là một phần mở rộng của Giao thức Ordinals, sự hiếm có của Satoshi có thể được xác định dựa trên thứ tự mà chúng được đào. Điều này sẽ khiến một số Satoshi đặc biệt có các cấp độ hiếm có khác nhau. Dưới đây là mức độ hiếm có của các loại Satoshi khác nhau:

  1. Công cụ mức độ bình thường: Bất kỳ Satoshi nào khác ngoài Satoshi đầu tiên trong khối (tổng cung cấp là 2,100 tỷ đô la)
  2. Mức Độ Xuất Sắc Không Thường Thấy: Satoshi đầu tiên trong mỗi khối (tổng cung 6929999)
  3. Mức hiếm: Satoshi đầu tiên trong mỗi giai đoạn điều chỉnh độ khó (tổng nguồn cung là 3437)
  4. Cấp độ Huyền thoại: Đầu tiên Satoshi sau mỗi lần giảm phân nửa (tổng nguồn cung là 32)
  5. HUYỀN THOẠI HUYỀN THOẠI HUYỀN THOẠI: Satoshi đầu tiên của mỗi chu kỳ (tổng cung 5)
  6. Mức độ Thần thoại Thần thoại: Satoshi đầu tiên trong khối Genesis (tổng cung là 1)

Khái niệm hiếm và thông minh này có thể thêm nhiều niềm vui và giá trị vào hệ sinh thái Bitcoin. Satoshi có độ hiếm khác nhau có thể có giá trị khác nhau trên thị trường, thu hút các nhà sưu tập và nhà đầu tư.

3. phương pháp chữ khắc

Các số thứ tự khác biệt đáng kể so với các NFT trên chuỗi không phải là Bitcoin khác. Trong đó, sự khác biệt chính là dữ liệu siêu dữ liệu của Các số thứ tự không được lưu trữ ở một vị trí cụ thể. Thay vào đó, dữ liệu này được nhúng vào dữ liệu chứng kiến của giao dịch (trường chứng kiến), đó là lý do tại sao chúng ta gọi nó là “chữ khắc (inscription)“, vì dữ liệu này được “đục” như một bản chữ khắc trên một phần cụ thể của giao dịch Bitcoin, và dữ liệu này được đính kèm vào một Satoshi cụ thể. Quá trình chữ khắc này được thực hiện thông qua chứng kiến phân tách (SegWit) và “pay-to-taproot (P2TR)” (trả tiền cho taproot (P2TR)). Nó bao gồm hai giai đoạn gửi (commit) và tiết lộ (reveal), và có thể đục bất kỳ hình thức nội dung nào (như văn bản, hình ảnh hoặc video) trên bảng thông minh được chỉ định. Chúng tôi sẽ giới thiệu một phương pháp lưu trữ trực tiếp khác OP_RETURN dưới đây và giải thích tại sao nó không được sử dụng như một phương tiện của các bản chữ khắc. Đồng thời, chúng tôi sẽ giới thiệu về chứng kiến phân tách và pay-to-taproot là gì, và vai trò của chúng trong các bản chữ khắc. Cuối cùng, chúng tôi sẽ giới thiệu cách thức tạo ra các bản chữ khắc.

OP_RETURE

Trong phiên bản 0.9 của máy khách Bitcoin Core, một sự nhất quán cuối cùng đã được đạt được bằng cách sử dụng toán tử RETURN. RETURN cho phép các nhà phát triển thêm 80 byte dữ liệu không phải thanh toán vào đầu ra giao dịch. Không giống như thanh toán giả, RETURN tạo ra một đầu ra không thể tiêu thụ mà không thể nghi ngờ; dữ liệu như vậy không cần được lưu trữ trong tập UTXO. Đầu ra RETURN được ghi lại trên blockchain. Chúng tiêu thụ không gian đĩa và cũng làm cho blockchain tăng kích thước, nhưng vì chúng không được lưu trữ trong tập hợp UTXO, chúng không mở rộng bộ nhớ UTXO, chưa kể việc tăng chi phí bộ nhớ đắt đỏ của toàn bộ node.

Mặc dù OP_RETURN là một phương tiện rất trực tiếp để lưu trữ thông tin vào blockchain Bitcoin, nhưng cũng là một phương pháp chữ khắc tiềm năng. Tuy nhiên, các hạn chế của OP_RETURN khiến nó phải đối mặt với một số thách thức khi xử lý việc lưu trữ siêu dữ liệu. Đầu tiên, OP_RETURN chỉ có thể lưu trữ 80 byte dữ liệu, và đối với những tình huống cần lưu trữ lượng dữ liệu lớn hơn, hạn chế này rõ ràng không thể đáp ứng. Thứ hai, dữ liệu OP_RETURN được lưu trữ trong phần đầu ra của giao dịch. Mặc dù dữ liệu này không được lưu trữ tập trung trong UTXO, nhưng nó chiếm không gian lưu trữ trên blockchain, dẫn đến việc tăng kích thước blockchain. Cuối cùng, việc sử dụng OP_RETURN dẫn đến việc phải trả phí giao dịch cao hơn vì yêu cầu trả nhiều hơn để đăng các giao dịch này.

Nhân chứng cách ly

Ngược lại, SegWit cung cấp một phương pháp mới có thể vượt qua những vấn đề này. SegWit là một bản nâng cấp giao thức quan trọng cho Bitcoin. Được đề xuất bởi lập trình viên nhân cốt Bitcoin Pieter Wuille vào năm 2015 và cuối cùng chính thức được áp dụng trong phiên bản 0.16.0 vào năm 2017. Segregated trong segregated witness có nghĩa là tách rời hoặc cô lập, và witness là một chữ ký liên quan đến một giao dịch. Do đó, SegWit tách riêng dữ liệu chữ ký giao dịch cụ thể (dữ liệu witness) khỏi giao dịch.

Lợi ích chính của việc tách các chữ ký khỏi dữ liệu liên quan đến giao dịch là giảm kích thước của dữ liệu được lưu trữ trong một khối Bitcoin. Điều này giúp mỗi khối có thêm dung lượng để lưu trữ nhiều giao dịch hơn, điều này cũng có nghĩa là mạng có thể xử lý nhiều giao dịch hơn và người gửi trả ít hơn về phí xử lý. Về mặt kỹ thuật, thông tin chữ ký script (scriptSig) được lấy từ cấu trúc cơ bản (khối cơ bản) và đặt vào một cấu trúc dữ liệu mới. Các nút và máy đào thực hiện công việc xác minh cũng sẽ xác minh chữ ký script trong cấu trúc dữ liệu mới này để đảm bảo rằng giao dịch hợp lệ. Nâng cấp Segwit đã giới thiệu một trường chứng kiến mới trong đầu ra giao dịch để đảm bảo sự riêng tư và hiệu suất. Mặc dù dữ liệu chứng kiến không được thiết kế để lưu trữ dữ liệu, thực tế nó cung cấp cơ hội cho chúng ta để lưu trữ những thứ như siêu dữ liệu chữ khắc. Hãy sử dụng hình ảnh sau để hiểu rõ hơn về chứng kiến cách ly:

Taproot

P2TR là một loại đầu ra giao dịch cho Bitcoin. Nó được giới thiệu trong bản nâng cấp Taproot vào năm 2021. Nó cho phép điều kiện giao dịch khác nhau được lưu trữ một cách riêng tư hơn trên blockchain. Trong chữ khắc của Ordinals, P2TR đóng một vai trò quan trọng. Chữ khắc này về cơ bản nhúng nội dung dữ liệu cụ thể vào giao dịch Bitcoin, và các bản nâng cấp Taproot, đặc biệt là P2TR, đã làm cho dữ liệu nhúng này linh hoạt và tiết kiệm hơn.

Đầu tiên, do phương pháp lưu trữ của các kịch bản Taproot, chúng ta có thể lưu trữ nội dung chữ khắc trong các kịch bản chi tiêu đường dẫn của kịch bản Taproot này. Các kịch bản này gần như không có hạn chế về nội dung, đồng thời cũng có thể nhận được giảm giá trên dữ liệu chứng nhận, khiến việc lưu trữ nội dung chữ khắc trở nên tương đối tiết kiệm. Vì việc tiêu thụ của kịch bản Taproot chỉ có thể được thực hiện từ đầu ra Taproot đã tồn tại, việc chữ khắc sử dụng một quy trình nộp/độc lập hai giai đoạn. Đầu tiên, khi nộp một giao dịch, một đầu ra Taproot được tạo ra, hứa hẹn một kịch bản chứa nội dung của chữ khắc. Sau đó, trong giao dịch tiết lộ, đầu ra được tạo ra từ việc nộp giao dịch đã được tiêu thụ, từ đó tiết lộ nội dung của chữ khắc trên chuỗi.

Phương pháp này đã giảm đáng kể việc tiêu thụ tài nguyên. Nếu không sử dụng P2TR, thông tin chứng kiến được lưu trữ trong đầu ra của giao dịch. Theo cách này, miễn là đầu ra này chưa được tiêu thụ, thông tin chứng kiến sẽ luôn được lưu trữ trong hồ bơi UTXO. Ngược lại, nếu sử dụng P2TR, thông tin chứng kiến sẽ không xuất hiện trong các giao dịch được tạo ra trong giai đoạn nộp, vì vậy nó sẽ không được ghi vào tập hợp UTXO. Chỉ khi UTXO này được tiêu thụ, thông tin chứng kiến mới xuất hiện trong đầu vào của giao dịch trong giai đoạn tiết lộ. P2TR cho phép viết dữ liệu siêu dữ liệu vào blockchain Bitcoin, nhưng nó không bao giờ xuất hiện trong UTXO. Vì việc duy trì/sửa đổi tập hợp UTXO đòi hỏi nhiều tài nguyên hơn, phương pháp này có thể tiết kiệm tài nguyên đáng kể.

chữ khắc

Giao thức Ordinals đã sử dụng SegWit để nới lỏng các hạn chế về kích thước đối với nội dung được ghi vào mạng Bitcoin, lưu trữ nội dung dòng chữ trong dữ liệu nhân chứng. Nó cho phép nó lưu trữ tối đa 4MB siêu dữ liệu. Taproot giúp lưu trữ dữ liệu nhân chứng tùy ý trong các giao dịch Bitcoin dễ dàng hơn, cho phép nhà phát triển Ordinals Casey Rodarmor sử dụng lại các mã opcode cũ (OP_FALSE, OP_IF OP_PUSH) để lưu trữ dữ liệu tùy ý trong những gì ông mô tả là một "phong bì" được gọi là "dòng chữ".

Quá trình đề chặn chữ khắc bao gồm hai bơm sau:

Đầu tiên, cần tạo một cam kết trong giao dịch nộp cho đầu ra của Taproot của kịch bản chứa nội dung của chữ khắc. Định dạng lưu trữ là Taproot, nghĩa là đầu ra của giao dịch trước đó là P2TR (Pay-To-Taproot), và đầu vào của giao dịch sau nhúng nội dung theo một định dạng cụ thể trong kịch bản Taproot được chứng kiến; chuỗi ord được xếp đầu tiên để loại bỏ sự mơ hồ rằng chữ khắc có các ứng dụng khác. OP_PUSH 1 cho biết rằng đẩy kế tiếp chứa loại nội dung, và OP_PUSH 0 cho biết rằng đẩy dữ liệu tiếp theo bao gồm nội dung chính. Chữ khắc lớn phải sử dụng nhiều đẩy dữ liệu vì một trong số ít hạn chế của taproot là một đẩy dữ liệu đơn không thể lớn hơn 520 byte. Tại thời điểm này, dữ liệu chữ khắc đã được áp dụng cho đầu ra UTXO của giao dịch, nhưng chưa được tiết lộ.

Thứ hai, cần phải tiết lộ đầu ra được tạo ra bởi giao dịch nộp mua trong giao dịch. Ở giai đoạn này, giao dịch được khởi tạo bằng cách sử dụng UTXO tương ứng với chữ khắc đó như đầu vào. Tại thời điểm này, nội dung của chữ khắc tương ứng đã được công khai cho toàn bộ mạng lưới.

Thong qua hai buoc tren, noi dung cua chu khac da duoc gan voi UTXO da khac. Ngoai ra, theo vi tri cua Satoshi duoc mieu ta o tren, viec chu khac duoc thuc hien tren Satoshi dau tien tuong ung voi dau vao UTXO, va noi dung cua chu khac duoc bao gom trong dau vao hien thi giao dich. Theo gioi thieu ve su luu thong va theo doi cua Satoshi duoc mieu ta o tren, Satoshi nay, duoc khac voi noi dung dac biet, co the duoc chuyen, mua, ban, mat, va phuc hoi. Luu y rang chu khac khong the duoc lap lai, nguoc lai cac chu khac sau do se khong hop le.

Chúng tôi sẽ giải thích quy trình này chi tiết bằng cách khắc một ví dụ về hình ảnh NFT BTC nhỏ. Quy trình này chủ yếu bao gồm hai giai đoạn của việc nộp (commit) và tiết lộ (reveal) đã đề cập trước đó. Đầu tiên, chúng ta thấy rằng Hash ID cho giao dịch đầu tiên là 2ddf9... f585c. Có thể lưu ý rằng đầu ra của giao dịch này không bao gồm dữ liệu chứng kiến, và không có chữ khắc liên quan trên trang.

Tiếp theo, hãy xem bản ghi của giai đoạn thứ hai. ID băm là e7454... 7c0e1. Ở đây, chúng ta có thể thấy thông tin về Chữ Khắc Thứ Tự, đó là nội dung của chứng nhận nhân chứng. Địa chỉ đầu vào cho giao dịch này là địa chỉ đầu ra của giao dịch trước, và đầu ra 0.00000546 BTC (546 Satoshi) đang gửi NFT này đến địa chỉ của chính nó. Đồng thời, chúng ta cũng có thể sử dụng Sat Tìm Satoshi để xác định vị trí chữ khắc này ở 1893640468329373.

Trong ví Bitcoin, chúng ta có thể thấy tài sản này. Nếu chúng ta muốn giao dịch NFT này, chúng ta có thể gửi trực tiếp đến địa chỉ của người khác, tức là gửi UTXO này, và điều này hoàn thành vòng quay của chữ khắc.

4. Ví Bitcoin

Sau khi chúng tôi đã tìm hiểu về hệ sinh thái Ordinals, lưu thông của Satoshi và kiến thức liên quan đến chữ khắc, hiện nay có nhiều kịch bản ứng dụng. Cho dù là sự xuất hiện của các hợp đồng phái sinh liên quan như BRC-20, ORC-20, BRC-721, GBRC-721, v.v., chúng ta cần một ví tiền tương ứng để hỗ trợ và hiển thị thông tin token hoặc hình ảnh NFT nhỏ. Trong phần này, chúng tôi sẽ giới thiệu các khái niệm và đặc điểm của các địa chỉ ví Bitcoin khác nhau.

Địa chỉ Bitcoin bắt đầu bằng 1, 3 hoặc bc1. Giống như địa chỉ email, chúng có thể được chia sẻ với người dùng Bitcoin khác, người có thể sử dụng chúng để gửi bitcoin trực tiếp vào ví của họ. Từ quan điểm về bảo mật, địa chỉ Bitcoin không chứa bất kỳ nội dung nhạy cảm nào. Nó có thể được đăng bất cứ nơi nào mà không đe dọa đến an ninh của tài khoản. Không giống như địa chỉ email, chúng ta có thể tạo ra địa chỉ mới bất kỳ lúc nào cần thiết, tất cả đều sẽ gửi tiền trực tiếp vào ví của bạn. Trên thực tế, nhiều ví tiền điện tử hiện đại tự động tạo ra một địa chỉ mới cho mỗi giao dịch để tối đa hóa quyền riêng tư. Một ví chỉ đơn giản là một bộ sưu tập địa chỉ và khóa để mở khóa số tiền trong đó. Đầu tiên, chúng ta cần biết cách tạo ra địa chỉ ví Bitcoin.

Bitcoin private và public keys

Bitcoin sử dụng một đường cong elliptical secp256k1. “Khóa riêng tư” là một số ngẫu nhiên giữa 1 và n-1. n là một số lớn (256 bit), và n được biểu diễn dưới dạng chuẩn khoa học khoảng 1.15792*10^77. Phạm vi rất lớn, và gần như không thể đoán được khóa riêng tư của người khác. Số nguyên ngẫu nhiên khóa riêng tư này có thể được sử dụng để biểu thị 256 bit có nhiều cách mã hóa. Nếu khóa riêng tư sử dụng WIF hoặc WIF-compressed không được mã hóa, số nguyên ngẫu nhiên ban đầu có thể được thu được bằng cách giải mã. Một phương pháp khác là BIP38. Đề xuất sử dụng thuật toán AES để mã hóa khóa riêng tư. Khóa riêng tư thu được bởi sơ đồ này bắt đầu bằng ký tự 6P. Khóa riêng tư này phải được nhập vào các ví Bitcoin khác nhau. Đây là khóa riêng tư chúng ta thường sử dụng.

Chúng tôi sau đó sẽ sử dụng công thức đường cong elip K = kG để tạo ra khóa công khai của Bitcoin K từ khóa riêng k. G là điểm cơ sở, là một tham số của secp256k1. Bạn có thể lấy hai tọa độ của K, đó là hai biểu thức của khóa công khai, "Định dạng không nén" và "Định dạng nén", tương ứng.

  1. Dạng không nén là kết nối trực tiếp hai tọa độ x và y, sau đó thêm tiền tố 0x04 vào phía trước;
  2. Dạng nén là khi y là một số chẵn, mã là 02 x, và khi y là một số lẻ, mã là 03 x;

Địa chỉ Bitcoin

Các loại địa chỉ Bitcoin khác nhau có thể được nhìn thấy trong hình sau. Có bốn cách để diễn đạt chúng:

1. Định dạng cũ (P2PKH)

Ví dụ: 1fh7ajxabjbpzw8bjd3qu4cuq3prty9u

Địa chỉ bắt đầu bằng “1” là định dạng địa chỉ ban đầu của Bitcoin và vẫn được sử dụng đến ngày nay. Được lấy từ khóa công khai thông qua tính toán hash, còn được gọi là P2PKH, viết tắt của Pay To PubKey Hash (thanh toán tới khóa công khai hash).

2. Định dạng SegWit nhúng (P2SH)

Ví dụ: 3kf9nxowq4assgxrrzeitpdjmuwM2nyPan

Địa chỉ bắt đầu bằng “ 3 “. P2SH là viết tắt của Pay To Script Hash (Pay To Script Hash), hỗ trợ các tính năng phức tạp hơn so với địa chỉ Legacy. Nested P2SH thu được một địa chỉ P2SH hiện có (bắt đầu bằng “3”) và bao gói nó với địa chỉ SegWit.

3. Định dạng Native SegWit (Bech32)

Địa chỉ bắt đầu bằng bc1 được đề xuất trong BIP0173; họ là địa chỉ chứng kiến cách ly bản địa. Địa chỉ được mã hóa Bech32 là một định dạng địa chỉ được phát triển đặc biệt cho SegWit. Bech32 được xác định trong BIP173 vào cuối năm 2017. Một trong những tính năng chính của định dạng này là nó không phân biệt chữ hoa chữ thường (địa chỉ chỉ chứa 0-9, az), vì vậy nó có thể hiệu quả tránh nhầm lẫn và dễ đọc hơn khi nhập. Vì cần ít ký tự hơn trong địa chỉ, địa chỉ sử dụng mã hóa Base32 thay vì Base58 truyền thống, điều này giúp tính toán thuận tiện và hiệu quả hơn. Dữ liệu có thể được lưu trữ chặt chẽ hơn trong mã QR. Bech32 cung cấp bảo mật cao hơn, tối ưu hóa mã xác minh và mã phát hiện lỗi tốt hơn, và giảm thiểu cơ hội của địa chỉ không hợp lệ.

Chính địa chỉ Bech32 chính nó tương thích với SegWit. Không cần thêm không gian để đặt địa chỉ SegWit vào địa chỉ P2SH, vì vậy sử dụng địa chỉ định dạng Bech32, phí xử lý sẽ thấp hơn. Địa chỉ Bech32 có một số lợi ích so với địa chỉ cũ Base58 ( mã hóa Base58Check được sử dụng để mã hóa mảng byte trong Bitcoin thành chuỗi có thể mã hóa bằng con người): Mã QR nhỏ hơn; chúng cần ít lỗi hơn; chúng an toàn hơn; chúng không phân biệt chữ hoa chữ thường; chúng chỉ bao gồm các chữ cái viết thường, vì vậy chúng dễ đọc, gõ và hiểu hơn.

4.Định dạng Taproot (P2TR)

Bech32 có một nhược điểm: nếu ký tự cuối cùng trong địa chỉ là p, chèn hoặc xóa bất kỳ số lượng ký tự q nào ngay trước p cũng sẽ không làm hỏng bảo điểm của nó.

Để giảm thiểu nhược điểm trên của Bech32, địa chỉ Bech32M đã được đề xuất trong BIP0350:

  1. Đối với địa chỉ chứng kiến phân tách bản địa với phiên bản 0, hãy sử dụng Bech32 trước đó;
  2. Đối với địa chỉ chứng nhận cách ly bản địa với phiên bản 1 (hoặc cao hơn), hãy sử dụng Bech32M mới.

Đối với địa chỉ Bech32M, khi phiên bản là 1, chúng luôn bắt đầu bằng bc1p (nghĩa là địa chỉ Taproot). Cụ thể, giống như một nhân chứng cách ly địa phương, một ví có thể bao gồm cụm từ hạt giống và mật khẩu. Chúng được sử dụng để tạo ra các khóa công khai và khóa bí mật mở rộng, và được sử dụng để tạo ra các địa chỉ cho các đường dẫn tùy ý trong các ví xác định phân cấp theo hệ thống. Chủ yếu là các NFT lưu trữ BRC-20 và BTC.

5. Về chúng tôi

Spectrum Labs là một nhóm các bậc thầy và Tiến sĩ tập trung vào nghiên cứu blockchain, cũng như là những người đã từng làm việc trong ngành công nghiệp blockchain. Chúng tôi cam kết với công nghệ chuỗi nghiên cứu blockchain và các ứng dụng của nó để giúp mọi người hiểu rõ hơn về blockchain. Các hoạt động chính của Spectrum Labs bao gồm viết báo cáo nghiên cứu, viết các khóa học và phát triển các công cụ.

Cộng đồng Trung Quốc NFT BTC là một nền tảng trao đổi BTC NFT Trung Quốc dành cho người mới từ khắp nơi trên thế giới.

Miễn trừ trách nhiệm:

  1. Bài viết này được sao chép từ [Phòng lab mô phỏng]. Tất cả bản quyền thuộc về tác giả gốc [Ash Li, Noah Ho]. Nếu có ý kiến ​​phản đối về việc tái in này, vui lòng liên hệ với Học cửađội ngũ, và họ sẽ xử lý nó ngay lập tức.
  2. Bản Miễn Trách Nhiệm Về Trách Nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không đại diện cho bất kỳ lời khuyên đầu tư nào.
  3. Các bản dịch của 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 là không được phép.

Học nguyên tắc của Giao thức Ordinals và chữ khắc Bitcoin trong một bài viết

Nâng cao1/1/2024, 4:54:08 AM
Bài viết này giải thích chi tiết kỹ thuật của giao thức Ordinals và sự tiến hóa của chi tiết địa chỉ BTC.

Với sự ra đời của Giao thức Ordinals, nó cung cấp cho Bitcoin chức năng đánh số và chữ khắc, từ đó mở rộng phạm vi sản phẩm của hệ sinh thái Bitcoin và mang đến sự sống động mới cho hệ sinh thái Bitcoin. Trong bài viết này, chúng tôi sẽ đào sâu vào chi tiết về Giao thức Ordinal, bao gồm cách mà mỗi Bitcoin được đánh số và theo dõi, cũng như mối quan hệ giữa chữ khắc và số. Nhưng trước khi chúng ta đào sâu hơn vào chủ đề này, chúng ta cần hiểu rõ một số kiến ​​thức cơ bản về Bitcoin để giúp chúng ta hiểu rõ hơn về những gì sắp đến.

Sau khi đọc bài viết này, bạn sẽ thành thạo cơ chế giao dịch và mô hình thanh toán của Bitcoin, tìm hiểu cách Ordinals có thể đánh số và theo dõi mọi Satoshi, và cách chữ khắc được tạo ra và giao dịch. Ngoài ra, bạn sẽ tìm hiểu về sự khác biệt giữa các loại ví khác nhau.

I. Nền tảng Bitcoin

Bitcoin sử dụng mô hình giao dịch giống như tiền mặt (hệ thống tiền mặt), và phương thức thanh toán của nó dựa trên mô hình gọi là UTXO, khác với mô hình truyền thống dựa trên số dư tài khoản. Ví dụ, trong quá trình ghi sổ tài khoản ngân hàng, khi A chuyển 100 nhân dân tệ cho B, ngân hàng ghi lại ba bước. Ba bước này tạo thành quá trình giao dịch. Bước đầu tiên là trừ 100 nhân dân tệ từ tài khoản của A. ID ghi chú cho bước này là tid1. Bước thứ hai là gửi 100 nhân dân tệ vào tài khoản của B. ID ghi chú cho bước này là tid2. Bước thứ ba là ghi lại một hồ sơ chuyển khoản. Hồ sơ này liên kết tid1 và tid2, cho biết việc giảm 100 nhân dân tệ cho tài khoản A và tăng 100 nhân dân tệ cho tài khoản B. Điều này giúp ghi lại mối quan hệ chuyển khoản giữa A và B, có thể tra cứu và theo dõi trong tương lai. Bây giờ, chúng ta sẽ giải thích phương thức thanh toán của Bitcoin thông qua việc giới thiệu về UTXO và các mô hình thanh toán.

UTXO

Trong blockchain của Bitcoin, tất cả số dư được lưu trữ trong một danh sách được gọi là “Unspent Transaction Output (UTXO)” (Unspent Transaction Output). Mỗi UTXO chứa một số lượng cụ thể của bitcoins, cùng với thông tin về chủ sở hữu của những bitcoins đó, và chỉ ra liệu chúng có sẵn có không. Hãy nghĩ về nó như một tờ séc với tên của người giữ nó. Miễn là người giữ ký vào nó, bạn có thể chuyển quyền sử dụng nó cho người khác. Đối với một địa chỉ cụ thể, tất cả số lượng UTXO của nó được cộng lại để tạo ra số dư của ví địa chỉ đó. Bằng cách xem xét tất cả các UTXO, chúng ta có thể lấy số dư hiện tại cho mỗi địa chỉ. Tổng số lượng UTXO là tổng số lượng bitcoins hiện đang lưu thông.

Trong cấu trúc giao dịch của Bitcoin, mỗi giao dịch bao gồm một số đầu vào và đầu ra. Mỗi đầu vào là một tham chiếu đến một UTXO hiện có, và mỗi đầu ra chỉ định một địa chỉ nhận quỹ mới và số tiền tương ứng. Khi một giao dịch được khởi tạo, UTXO được tham chiếu trong phần đầu vào tạm thời bị khóa để ngăn chặn việc sử dụng lại cho đến khi giao dịch hoàn thành. Chỉ khi giao dịch được đóng gói thành một khối (Block) bởi người đào và xác nhận bởi mạng, trạng thái UTXO liên quan mới thay đổi. Cụ thể, UTXO được sử dụng cho đầu vào giao dịch sẽ được loại bỏ khỏi danh sách UTXO, cho biết rằng chúng đã được tiêu thụ, và đầu ra của giao dịch sẽ tạo ra một UTXO mới và được thêm vào danh sách UTXO. Có thể hiểu rằng một séc tiền cũ đã được sử dụng và sau đó trở nên không hợp lệ, tạo ra một séc tiền mới, thuộc sở hữu của chủ sở hữu mới.

Đáng chú ý rằng mỗi UTXO chỉ có thể được sử dụng một lần trong một giao dịch duy nhất. Khi nó được tiêu thụ như một đầu vào, nó sẽ bị xóa vĩnh viễn khỏi danh sách UTXO. Trong khi đó, đầu ra mới tạo ra được thêm vào danh sách như một UTXO mới. Danh sách UTXO luôn thay đổi, và khi mỗi khối mới được tạo ra, nó sẽ được cập nhật tương ứng. Ngoài ra, bằng cách phân tích lịch sử giao dịch trong blockchain, chúng ta có thể tái tạo trạng thái danh sách UTXO tại bất kỳ thời điểm nào.

Ngoài ra, tổng số tiền đầu vào của một giao dịch thường hơi vượt qua một chút so với tổng số tiền đầu ra của nó. Sự khác biệt này, được gọi là phí giao dịch hoặc phí mạng, được cung cấp như một động lực cho các thợ đào (miners) chịu trách nhiệm đóng gói các giao dịch vào các khối. Kích thước của phí mạng tỉ lệ thuận với độ phức tạp của giao dịch, vì vậy một giao dịch với nhiều đầu vào và đầu ra thường yêu cầu một phí mạng cao hơn.

Bây giờ, để hiểu rõ cấu trúc giao dịch Bitcoin hơn, chúng tôi sẽ tiến hành phân tích sâu hơn thông qua một ví dụ cụ thể. Cấu trúc giao dịch của Bitcoin như sau. Hai biến vin và vout đại diện cho “đầu vào” và “đầu ra” của một giao dịch Bitcoin, tương ứng. Các giao dịch Bitcoin không giống như các mô hình cân đối tài khoản truyền thống ghi lại các thay đổi dữ liệu tài khoản, mà được biểu diễn thông qua đầu vào và đầu ra.

Chúng ta có thể chọn một bản ghi giao dịch ngẫu nhiên trên blockchain.com để phân tích. Hình dưới đây cho thấy ID hash là một giao dịch của 0627052b6f28912f2703066a912ea577f2ce4da4caa5a5f5fbd8a57286c345c2f2. Nó chứa một đầu vào và hai đầu ra.

Bằng cách sử dụng các lệnh bitcoin-cli getrawtransaction và decoderawtransaction, chúng ta có thể xem cấu trúc cơ bản của giao dịch trên:

Trong mạng lưới Bitcoin, đầu ra giao dịch chứa hai mảnh thông tin quan trọng: địa chỉ (băm khóa công khai) và số lượng (tính bằng Bitcoin). Nếu đầu ra của một giao dịch không được sử dụng trong đầu vào của một giao dịch khác, thì đầu ra giao dịch này được gọi là đầu ra giao dịch chưa sử dụng (UTXO). Ai có khóa riêng tương ứng với khóa công khai trong UTXO có quyền sử dụng (tức là chi tiêu) UTXO này.

Hãy xem thông tin trong “vin” trong mã trên, cho biết rằng UTXO đã tiêu trong giao dịch này đến từ một giao dịch khác (id của nó là 7957a35fe64f80d234d76d83a2a8a0d8a0d149a41d81de548f0a65a8a999f6f18). Chúng ta có thể tìm thấy số lượng của UTXO này từ các giao dịch lịch sử (ví dụ, 0.1). Do đó, trong giao dịch này, người dùng đã tiêu 0.1 BTC. Giá trị 0.1 không cần phải được viết rõ ràng trong giao dịch, mà được lấy ra thông qua việc tìm kiếm thông tin UTXO. “vout” của giao dịch này có hai đầu ra. Hai đầu ra này là hai UTXO mới, tương ứng với số dư mới và người nắm giữ cho đến khi một giao dịch khác tiêu chúng như đầu vào.

  1. Đối với người dùng A, việc quan trọng đầu tiên là xác định tất cả các bộ UTXO mà họ sở hữu, tức là tất cả Bitcoin mà người dùng A có thể kiểm soát;
  2. A chọn một hoặc nhiều UTXOs từ tập hợp này làm đầu vào cho giao dịch. Tổng số lượng của những đầu vào này là m (2+0.8+0.5 = 3.3 BTC) lớn hơn số tiền cần thanh toán n (3 BTC);
  3. Người dùng A thiết lập hai đầu ra cho giao dịch. Một đầu ra được thanh toán đến địa chỉ của B, số tiền là n (3 BTC), và đầu ra còn lại được thanh toán đến địa chỉ zeroing của A. Số tiền là m-n-fee (3.3-3-0.001 = 0.299) BTC). Ví của người dùng thường bao gồm nhiều địa chỉ. Thông thường, mỗi địa chỉ chỉ được sử dụng một lần và số dư được trả về đến một địa chỉ mới theo mặc định;
  4. Sau khi thợ đào gói giao dịch này trên chuỗi và xác nhận nó, B có thể nhận thông tin giao dịch. Vì có một giới hạn trên kích thước khối (khoảng 1 MB), thợ đào ưu tiên xác nhận các giao dịch có tỷ lệ giao dịch cao (tỷ lệ phí = phí / kích thước) để có được lợi nhuận phí cao nhất. Chúng ta có thể thấy tình hình phí giao dịch đào thời gian thực trong mempool. Nếu chúng ta muốn xác nhận nhanh nhất trong quá trình chuyển khoản, chúng ta có thể chọn Ưu tiên Cao (High Priority) hoặc Tùy chỉnh (custom) mức phí giao dịch phù hợp.

II. Số đánh dấu và theo dõi của Satoshi

Tổng số bitcoin là 21 triệu và mỗi bitcoin chứa 10^8 Satoshi (Satoshi, Sat). Do đó, có 21 triệu*10^8 satoshi trên mạng Bitcoin. Giao thức Ordinals phân biệt các Satoshi này và đánh số duy nhất cho mỗi Satoshi. Phần này giải thích cách thức giao thức này đánh số duy nhất cho mỗi Satoshi và theo dõi tài khoản mà nó đang ở. Ngoài ra, phân loại hiếm hoi cho Satoshi cũng sẽ được giới thiệu.

Số của Satoshi

Theo Thỏa thuận về các Số thứ tự, Satoshi được đánh số theo thứ tự được đào. Hình dưới đây cho thấy cách mà Satoshi thứ 0 được đại diện bởi khối thứ 0.

Có nhiều cách để diễn đạt về Satoshi:

  1. Các ký hiệu số nguyên: Ví dụ, 2099994106992659, chỉ số serial được gán bởi Satoshi theo thứ tự đào.
  2. Ký hiệu thập phân: Ví dụ, 3891094.16797. Số đầu tiên cho biết độ cao của khối mà Satoshi được đào, và số thứ hai cho biết số lượng Satoshi trong khối.
  3. Ký hiệu độ: Ví dụ, 3°111094′214″16797. Số đầu tiên là kỷ nguyên, được đánh số bắt đầu từ 0, số thứ hai là chỉ số khối cho nửa kỷ nguyên, số thứ ba là chỉ số khối trong thời kỳ điều chỉnh độ khó, và số cuối cùng là chỉ số SAT trong khối.
  4. Ký hiệu phần trăm: Ví dụ, 99.99971949060254%, chỉ ra vị thế của Satoshi trong nguồn cung Bitcoin, được diễn đạt dưới dạng phần trăm.
  5. Tên: Satoshi, ví dụ. Tên sử dụng các ký tự a đến z để mã hóa các số tuần tự.

Chúng tôi sẽ sử dụng một ví dụ để giải thích cách đánh số bitcoin mới được đào. Nhìn vào khối thứ 795952 của chuỗi khối Bitcoin, chúng ta có thể thấy rằng giao dịch đầu tiên Tx 3a1f… b177 đã ghi lại phần thưởng của người đào (giao dịch Coinbase). Giao dịch bao gồm bitcoin mới được đào, là phần thưởng được đóng gói cho người đào, và các khoản phí xử lý được trả cho người đào bởi người khởi tạo giao dịch. Bằng cách nhìn vào đầu vào trong hình ảnh dưới đây, chúng ta có thể thấy rằng ID UTxO của nó bao gồm một chuỗi các số không và chiều cao của khối. Địa chỉ đầu ra là địa chỉ ví của người đào, và số tiền là tổng của các phần thưởng và phí ở trên.

Nếu chúng ta xem xét kỹ hơn phần đầu ra cho các thợ đào, chúng ta có thể thấy địa chỉ, số tiền và phân phối của Satoshi được bao gồm. Như đã đề cập trước đó, chúng bao gồm phần thưởng khai thác và phí. Trong số chúng, thông tin số lượng SATS màu xanh lá cây 1941220000000000-1941220625000000 là một Satoshi mới được tạo ra bởi phần thưởng khai thác, và 712 bản ghi Satoshi còn lại tương ứng với tất cả các khoản phí xử lý trong khối này.

Chúng tôi có thể xác minh số Sat 1941220000000000. Số block của nó là 795952, và ký hiệu thập phân (thập phân) là 795952.0, điều này có nghĩa rằng chiều cao block để khai thác Satoshi này là 795952, số trong block này là 0, và tính hiếm (tính hiếm) theo sau được đánh dấu là không phổ biến, chúng tôi sẽ bàn về chi tiết hơn trong các phần sau.

Luồng lưu thông thông minh

Bởi vì mỗi Bitcoin được tạo ra thông qua phần thưởng khai thác, chúng đều có thể được theo dõi. Các tài khoản Bitcoin sử dụng mô hình UTXO. Giả sử người dùng A đã thu được từ Satoshi thứ 100 đến 110 thông qua khai thác (10 Satoshi được lưu trữ nguyên vẹn trong UTXO với cùng ID adc123). Khi người dùng A muốn thanh toán 5 Satoshi cho người dùng B, anh ta chọn sử dụng ID abc123 làm đầu vào cho giao dịch. Trong số này, 5 Satoshi được chuyển cho người dùng B, và 5 Satoshi được trả lại cho người dùng A dưới dạng số không. Hai bản sao của 5 Satoshi này là một, được lưu trữ trong hai UTXO với các ID abc456 và abc789 tương ứng. Số lượng ID UTXO và Satoshi được đề cập ở trên chỉ được hiển thị như một ví dụ. Trong hoàn cảnh thực tế, số lượng tối thiểu của Satoshi được gửi là giới hạn 546, và ID UTXO không được diễn giải dưới dạng này.

Trong giao dịch được mô tả ở trên, các đường dẫn chuyển tiền của 10 Satoshi của Người dùng A là:

  1. Đào tạo ra 10 Satoshi, số này là [100*, 110). *Nó chỉ ra rằng từ Satoshi thứ 100 đến 109 được lưu trữ trong UTXO với ID ABC123, và chủ sở hữu của nó là Người dùng A.
  2. Khi A chuyển tiền, 10 Satoshi được chia thành 2 phần, mỗi phần 5 Satoshi. Nguyên tắc 'đầu tiên vào, đầu tiên ra' được áp dụng ở đây, nghĩa là thứ hạng của các số Satoshi được xác định bởi chỉ số của chúng trong đầu ra giao dịch. Giả sử thứ tự đầu ra là người dùng A trước, sau đó là người dùng B, sau đó 5 số Satoshi còn lại cho người dùng A là [100, 105), được lưu trữ trong UTXO với ID ABC456, trong khi 5 số Satoshi của người dùng B là [105, 110), được lưu trữ trong UTXO với ID ABC789.

Độ hiếm (Satoshi hiếm)

Là một phần mở rộng của Giao thức Ordinals, sự hiếm có của Satoshi có thể được xác định dựa trên thứ tự mà chúng được đào. Điều này sẽ khiến một số Satoshi đặc biệt có các cấp độ hiếm có khác nhau. Dưới đây là mức độ hiếm có của các loại Satoshi khác nhau:

  1. Công cụ mức độ bình thường: Bất kỳ Satoshi nào khác ngoài Satoshi đầu tiên trong khối (tổng cung cấp là 2,100 tỷ đô la)
  2. Mức Độ Xuất Sắc Không Thường Thấy: Satoshi đầu tiên trong mỗi khối (tổng cung 6929999)
  3. Mức hiếm: Satoshi đầu tiên trong mỗi giai đoạn điều chỉnh độ khó (tổng nguồn cung là 3437)
  4. Cấp độ Huyền thoại: Đầu tiên Satoshi sau mỗi lần giảm phân nửa (tổng nguồn cung là 32)
  5. HUYỀN THOẠI HUYỀN THOẠI HUYỀN THOẠI: Satoshi đầu tiên của mỗi chu kỳ (tổng cung 5)
  6. Mức độ Thần thoại Thần thoại: Satoshi đầu tiên trong khối Genesis (tổng cung là 1)

Khái niệm hiếm và thông minh này có thể thêm nhiều niềm vui và giá trị vào hệ sinh thái Bitcoin. Satoshi có độ hiếm khác nhau có thể có giá trị khác nhau trên thị trường, thu hút các nhà sưu tập và nhà đầu tư.

3. phương pháp chữ khắc

Các số thứ tự khác biệt đáng kể so với các NFT trên chuỗi không phải là Bitcoin khác. Trong đó, sự khác biệt chính là dữ liệu siêu dữ liệu của Các số thứ tự không được lưu trữ ở một vị trí cụ thể. Thay vào đó, dữ liệu này được nhúng vào dữ liệu chứng kiến của giao dịch (trường chứng kiến), đó là lý do tại sao chúng ta gọi nó là “chữ khắc (inscription)“, vì dữ liệu này được “đục” như một bản chữ khắc trên một phần cụ thể của giao dịch Bitcoin, và dữ liệu này được đính kèm vào một Satoshi cụ thể. Quá trình chữ khắc này được thực hiện thông qua chứng kiến phân tách (SegWit) và “pay-to-taproot (P2TR)” (trả tiền cho taproot (P2TR)). Nó bao gồm hai giai đoạn gửi (commit) và tiết lộ (reveal), và có thể đục bất kỳ hình thức nội dung nào (như văn bản, hình ảnh hoặc video) trên bảng thông minh được chỉ định. Chúng tôi sẽ giới thiệu một phương pháp lưu trữ trực tiếp khác OP_RETURN dưới đây và giải thích tại sao nó không được sử dụng như một phương tiện của các bản chữ khắc. Đồng thời, chúng tôi sẽ giới thiệu về chứng kiến phân tách và pay-to-taproot là gì, và vai trò của chúng trong các bản chữ khắc. Cuối cùng, chúng tôi sẽ giới thiệu cách thức tạo ra các bản chữ khắc.

OP_RETURE

Trong phiên bản 0.9 của máy khách Bitcoin Core, một sự nhất quán cuối cùng đã được đạt được bằng cách sử dụng toán tử RETURN. RETURN cho phép các nhà phát triển thêm 80 byte dữ liệu không phải thanh toán vào đầu ra giao dịch. Không giống như thanh toán giả, RETURN tạo ra một đầu ra không thể tiêu thụ mà không thể nghi ngờ; dữ liệu như vậy không cần được lưu trữ trong tập UTXO. Đầu ra RETURN được ghi lại trên blockchain. Chúng tiêu thụ không gian đĩa và cũng làm cho blockchain tăng kích thước, nhưng vì chúng không được lưu trữ trong tập hợp UTXO, chúng không mở rộng bộ nhớ UTXO, chưa kể việc tăng chi phí bộ nhớ đắt đỏ của toàn bộ node.

Mặc dù OP_RETURN là một phương tiện rất trực tiếp để lưu trữ thông tin vào blockchain Bitcoin, nhưng cũng là một phương pháp chữ khắc tiềm năng. Tuy nhiên, các hạn chế của OP_RETURN khiến nó phải đối mặt với một số thách thức khi xử lý việc lưu trữ siêu dữ liệu. Đầu tiên, OP_RETURN chỉ có thể lưu trữ 80 byte dữ liệu, và đối với những tình huống cần lưu trữ lượng dữ liệu lớn hơn, hạn chế này rõ ràng không thể đáp ứng. Thứ hai, dữ liệu OP_RETURN được lưu trữ trong phần đầu ra của giao dịch. Mặc dù dữ liệu này không được lưu trữ tập trung trong UTXO, nhưng nó chiếm không gian lưu trữ trên blockchain, dẫn đến việc tăng kích thước blockchain. Cuối cùng, việc sử dụng OP_RETURN dẫn đến việc phải trả phí giao dịch cao hơn vì yêu cầu trả nhiều hơn để đăng các giao dịch này.

Nhân chứng cách ly

Ngược lại, SegWit cung cấp một phương pháp mới có thể vượt qua những vấn đề này. SegWit là một bản nâng cấp giao thức quan trọng cho Bitcoin. Được đề xuất bởi lập trình viên nhân cốt Bitcoin Pieter Wuille vào năm 2015 và cuối cùng chính thức được áp dụng trong phiên bản 0.16.0 vào năm 2017. Segregated trong segregated witness có nghĩa là tách rời hoặc cô lập, và witness là một chữ ký liên quan đến một giao dịch. Do đó, SegWit tách riêng dữ liệu chữ ký giao dịch cụ thể (dữ liệu witness) khỏi giao dịch.

Lợi ích chính của việc tách các chữ ký khỏi dữ liệu liên quan đến giao dịch là giảm kích thước của dữ liệu được lưu trữ trong một khối Bitcoin. Điều này giúp mỗi khối có thêm dung lượng để lưu trữ nhiều giao dịch hơn, điều này cũng có nghĩa là mạng có thể xử lý nhiều giao dịch hơn và người gửi trả ít hơn về phí xử lý. Về mặt kỹ thuật, thông tin chữ ký script (scriptSig) được lấy từ cấu trúc cơ bản (khối cơ bản) và đặt vào một cấu trúc dữ liệu mới. Các nút và máy đào thực hiện công việc xác minh cũng sẽ xác minh chữ ký script trong cấu trúc dữ liệu mới này để đảm bảo rằng giao dịch hợp lệ. Nâng cấp Segwit đã giới thiệu một trường chứng kiến mới trong đầu ra giao dịch để đảm bảo sự riêng tư và hiệu suất. Mặc dù dữ liệu chứng kiến không được thiết kế để lưu trữ dữ liệu, thực tế nó cung cấp cơ hội cho chúng ta để lưu trữ những thứ như siêu dữ liệu chữ khắc. Hãy sử dụng hình ảnh sau để hiểu rõ hơn về chứng kiến cách ly:

Taproot

P2TR là một loại đầu ra giao dịch cho Bitcoin. Nó được giới thiệu trong bản nâng cấp Taproot vào năm 2021. Nó cho phép điều kiện giao dịch khác nhau được lưu trữ một cách riêng tư hơn trên blockchain. Trong chữ khắc của Ordinals, P2TR đóng một vai trò quan trọng. Chữ khắc này về cơ bản nhúng nội dung dữ liệu cụ thể vào giao dịch Bitcoin, và các bản nâng cấp Taproot, đặc biệt là P2TR, đã làm cho dữ liệu nhúng này linh hoạt và tiết kiệm hơn.

Đầu tiên, do phương pháp lưu trữ của các kịch bản Taproot, chúng ta có thể lưu trữ nội dung chữ khắc trong các kịch bản chi tiêu đường dẫn của kịch bản Taproot này. Các kịch bản này gần như không có hạn chế về nội dung, đồng thời cũng có thể nhận được giảm giá trên dữ liệu chứng nhận, khiến việc lưu trữ nội dung chữ khắc trở nên tương đối tiết kiệm. Vì việc tiêu thụ của kịch bản Taproot chỉ có thể được thực hiện từ đầu ra Taproot đã tồn tại, việc chữ khắc sử dụng một quy trình nộp/độc lập hai giai đoạn. Đầu tiên, khi nộp một giao dịch, một đầu ra Taproot được tạo ra, hứa hẹn một kịch bản chứa nội dung của chữ khắc. Sau đó, trong giao dịch tiết lộ, đầu ra được tạo ra từ việc nộp giao dịch đã được tiêu thụ, từ đó tiết lộ nội dung của chữ khắc trên chuỗi.

Phương pháp này đã giảm đáng kể việc tiêu thụ tài nguyên. Nếu không sử dụng P2TR, thông tin chứng kiến được lưu trữ trong đầu ra của giao dịch. Theo cách này, miễn là đầu ra này chưa được tiêu thụ, thông tin chứng kiến sẽ luôn được lưu trữ trong hồ bơi UTXO. Ngược lại, nếu sử dụng P2TR, thông tin chứng kiến sẽ không xuất hiện trong các giao dịch được tạo ra trong giai đoạn nộp, vì vậy nó sẽ không được ghi vào tập hợp UTXO. Chỉ khi UTXO này được tiêu thụ, thông tin chứng kiến mới xuất hiện trong đầu vào của giao dịch trong giai đoạn tiết lộ. P2TR cho phép viết dữ liệu siêu dữ liệu vào blockchain Bitcoin, nhưng nó không bao giờ xuất hiện trong UTXO. Vì việc duy trì/sửa đổi tập hợp UTXO đòi hỏi nhiều tài nguyên hơn, phương pháp này có thể tiết kiệm tài nguyên đáng kể.

chữ khắc

Giao thức Ordinals đã sử dụng SegWit để nới lỏng các hạn chế về kích thước đối với nội dung được ghi vào mạng Bitcoin, lưu trữ nội dung dòng chữ trong dữ liệu nhân chứng. Nó cho phép nó lưu trữ tối đa 4MB siêu dữ liệu. Taproot giúp lưu trữ dữ liệu nhân chứng tùy ý trong các giao dịch Bitcoin dễ dàng hơn, cho phép nhà phát triển Ordinals Casey Rodarmor sử dụng lại các mã opcode cũ (OP_FALSE, OP_IF OP_PUSH) để lưu trữ dữ liệu tùy ý trong những gì ông mô tả là một "phong bì" được gọi là "dòng chữ".

Quá trình đề chặn chữ khắc bao gồm hai bơm sau:

Đầu tiên, cần tạo một cam kết trong giao dịch nộp cho đầu ra của Taproot của kịch bản chứa nội dung của chữ khắc. Định dạng lưu trữ là Taproot, nghĩa là đầu ra của giao dịch trước đó là P2TR (Pay-To-Taproot), và đầu vào của giao dịch sau nhúng nội dung theo một định dạng cụ thể trong kịch bản Taproot được chứng kiến; chuỗi ord được xếp đầu tiên để loại bỏ sự mơ hồ rằng chữ khắc có các ứng dụng khác. OP_PUSH 1 cho biết rằng đẩy kế tiếp chứa loại nội dung, và OP_PUSH 0 cho biết rằng đẩy dữ liệu tiếp theo bao gồm nội dung chính. Chữ khắc lớn phải sử dụng nhiều đẩy dữ liệu vì một trong số ít hạn chế của taproot là một đẩy dữ liệu đơn không thể lớn hơn 520 byte. Tại thời điểm này, dữ liệu chữ khắc đã được áp dụng cho đầu ra UTXO của giao dịch, nhưng chưa được tiết lộ.

Thứ hai, cần phải tiết lộ đầu ra được tạo ra bởi giao dịch nộp mua trong giao dịch. Ở giai đoạn này, giao dịch được khởi tạo bằng cách sử dụng UTXO tương ứng với chữ khắc đó như đầu vào. Tại thời điểm này, nội dung của chữ khắc tương ứng đã được công khai cho toàn bộ mạng lưới.

Thong qua hai buoc tren, noi dung cua chu khac da duoc gan voi UTXO da khac. Ngoai ra, theo vi tri cua Satoshi duoc mieu ta o tren, viec chu khac duoc thuc hien tren Satoshi dau tien tuong ung voi dau vao UTXO, va noi dung cua chu khac duoc bao gom trong dau vao hien thi giao dich. Theo gioi thieu ve su luu thong va theo doi cua Satoshi duoc mieu ta o tren, Satoshi nay, duoc khac voi noi dung dac biet, co the duoc chuyen, mua, ban, mat, va phuc hoi. Luu y rang chu khac khong the duoc lap lai, nguoc lai cac chu khac sau do se khong hop le.

Chúng tôi sẽ giải thích quy trình này chi tiết bằng cách khắc một ví dụ về hình ảnh NFT BTC nhỏ. Quy trình này chủ yếu bao gồm hai giai đoạn của việc nộp (commit) và tiết lộ (reveal) đã đề cập trước đó. Đầu tiên, chúng ta thấy rằng Hash ID cho giao dịch đầu tiên là 2ddf9... f585c. Có thể lưu ý rằng đầu ra của giao dịch này không bao gồm dữ liệu chứng kiến, và không có chữ khắc liên quan trên trang.

Tiếp theo, hãy xem bản ghi của giai đoạn thứ hai. ID băm là e7454... 7c0e1. Ở đây, chúng ta có thể thấy thông tin về Chữ Khắc Thứ Tự, đó là nội dung của chứng nhận nhân chứng. Địa chỉ đầu vào cho giao dịch này là địa chỉ đầu ra của giao dịch trước, và đầu ra 0.00000546 BTC (546 Satoshi) đang gửi NFT này đến địa chỉ của chính nó. Đồng thời, chúng ta cũng có thể sử dụng Sat Tìm Satoshi để xác định vị trí chữ khắc này ở 1893640468329373.

Trong ví Bitcoin, chúng ta có thể thấy tài sản này. Nếu chúng ta muốn giao dịch NFT này, chúng ta có thể gửi trực tiếp đến địa chỉ của người khác, tức là gửi UTXO này, và điều này hoàn thành vòng quay của chữ khắc.

4. Ví Bitcoin

Sau khi chúng tôi đã tìm hiểu về hệ sinh thái Ordinals, lưu thông của Satoshi và kiến thức liên quan đến chữ khắc, hiện nay có nhiều kịch bản ứng dụng. Cho dù là sự xuất hiện của các hợp đồng phái sinh liên quan như BRC-20, ORC-20, BRC-721, GBRC-721, v.v., chúng ta cần một ví tiền tương ứng để hỗ trợ và hiển thị thông tin token hoặc hình ảnh NFT nhỏ. Trong phần này, chúng tôi sẽ giới thiệu các khái niệm và đặc điểm của các địa chỉ ví Bitcoin khác nhau.

Địa chỉ Bitcoin bắt đầu bằng 1, 3 hoặc bc1. Giống như địa chỉ email, chúng có thể được chia sẻ với người dùng Bitcoin khác, người có thể sử dụng chúng để gửi bitcoin trực tiếp vào ví của họ. Từ quan điểm về bảo mật, địa chỉ Bitcoin không chứa bất kỳ nội dung nhạy cảm nào. Nó có thể được đăng bất cứ nơi nào mà không đe dọa đến an ninh của tài khoản. Không giống như địa chỉ email, chúng ta có thể tạo ra địa chỉ mới bất kỳ lúc nào cần thiết, tất cả đều sẽ gửi tiền trực tiếp vào ví của bạn. Trên thực tế, nhiều ví tiền điện tử hiện đại tự động tạo ra một địa chỉ mới cho mỗi giao dịch để tối đa hóa quyền riêng tư. Một ví chỉ đơn giản là một bộ sưu tập địa chỉ và khóa để mở khóa số tiền trong đó. Đầu tiên, chúng ta cần biết cách tạo ra địa chỉ ví Bitcoin.

Bitcoin private và public keys

Bitcoin sử dụng một đường cong elliptical secp256k1. “Khóa riêng tư” là một số ngẫu nhiên giữa 1 và n-1. n là một số lớn (256 bit), và n được biểu diễn dưới dạng chuẩn khoa học khoảng 1.15792*10^77. Phạm vi rất lớn, và gần như không thể đoán được khóa riêng tư của người khác. Số nguyên ngẫu nhiên khóa riêng tư này có thể được sử dụng để biểu thị 256 bit có nhiều cách mã hóa. Nếu khóa riêng tư sử dụng WIF hoặc WIF-compressed không được mã hóa, số nguyên ngẫu nhiên ban đầu có thể được thu được bằng cách giải mã. Một phương pháp khác là BIP38. Đề xuất sử dụng thuật toán AES để mã hóa khóa riêng tư. Khóa riêng tư thu được bởi sơ đồ này bắt đầu bằng ký tự 6P. Khóa riêng tư này phải được nhập vào các ví Bitcoin khác nhau. Đây là khóa riêng tư chúng ta thường sử dụng.

Chúng tôi sau đó sẽ sử dụng công thức đường cong elip K = kG để tạo ra khóa công khai của Bitcoin K từ khóa riêng k. G là điểm cơ sở, là một tham số của secp256k1. Bạn có thể lấy hai tọa độ của K, đó là hai biểu thức của khóa công khai, "Định dạng không nén" và "Định dạng nén", tương ứng.

  1. Dạng không nén là kết nối trực tiếp hai tọa độ x và y, sau đó thêm tiền tố 0x04 vào phía trước;
  2. Dạng nén là khi y là một số chẵn, mã là 02 x, và khi y là một số lẻ, mã là 03 x;

Địa chỉ Bitcoin

Các loại địa chỉ Bitcoin khác nhau có thể được nhìn thấy trong hình sau. Có bốn cách để diễn đạt chúng:

1. Định dạng cũ (P2PKH)

Ví dụ: 1fh7ajxabjbpzw8bjd3qu4cuq3prty9u

Địa chỉ bắt đầu bằng “1” là định dạng địa chỉ ban đầu của Bitcoin và vẫn được sử dụng đến ngày nay. Được lấy từ khóa công khai thông qua tính toán hash, còn được gọi là P2PKH, viết tắt của Pay To PubKey Hash (thanh toán tới khóa công khai hash).

2. Định dạng SegWit nhúng (P2SH)

Ví dụ: 3kf9nxowq4assgxrrzeitpdjmuwM2nyPan

Địa chỉ bắt đầu bằng “ 3 “. P2SH là viết tắt của Pay To Script Hash (Pay To Script Hash), hỗ trợ các tính năng phức tạp hơn so với địa chỉ Legacy. Nested P2SH thu được một địa chỉ P2SH hiện có (bắt đầu bằng “3”) và bao gói nó với địa chỉ SegWit.

3. Định dạng Native SegWit (Bech32)

Địa chỉ bắt đầu bằng bc1 được đề xuất trong BIP0173; họ là địa chỉ chứng kiến cách ly bản địa. Địa chỉ được mã hóa Bech32 là một định dạng địa chỉ được phát triển đặc biệt cho SegWit. Bech32 được xác định trong BIP173 vào cuối năm 2017. Một trong những tính năng chính của định dạng này là nó không phân biệt chữ hoa chữ thường (địa chỉ chỉ chứa 0-9, az), vì vậy nó có thể hiệu quả tránh nhầm lẫn và dễ đọc hơn khi nhập. Vì cần ít ký tự hơn trong địa chỉ, địa chỉ sử dụng mã hóa Base32 thay vì Base58 truyền thống, điều này giúp tính toán thuận tiện và hiệu quả hơn. Dữ liệu có thể được lưu trữ chặt chẽ hơn trong mã QR. Bech32 cung cấp bảo mật cao hơn, tối ưu hóa mã xác minh và mã phát hiện lỗi tốt hơn, và giảm thiểu cơ hội của địa chỉ không hợp lệ.

Chính địa chỉ Bech32 chính nó tương thích với SegWit. Không cần thêm không gian để đặt địa chỉ SegWit vào địa chỉ P2SH, vì vậy sử dụng địa chỉ định dạng Bech32, phí xử lý sẽ thấp hơn. Địa chỉ Bech32 có một số lợi ích so với địa chỉ cũ Base58 ( mã hóa Base58Check được sử dụng để mã hóa mảng byte trong Bitcoin thành chuỗi có thể mã hóa bằng con người): Mã QR nhỏ hơn; chúng cần ít lỗi hơn; chúng an toàn hơn; chúng không phân biệt chữ hoa chữ thường; chúng chỉ bao gồm các chữ cái viết thường, vì vậy chúng dễ đọc, gõ và hiểu hơn.

4.Định dạng Taproot (P2TR)

Bech32 có một nhược điểm: nếu ký tự cuối cùng trong địa chỉ là p, chèn hoặc xóa bất kỳ số lượng ký tự q nào ngay trước p cũng sẽ không làm hỏng bảo điểm của nó.

Để giảm thiểu nhược điểm trên của Bech32, địa chỉ Bech32M đã được đề xuất trong BIP0350:

  1. Đối với địa chỉ chứng kiến phân tách bản địa với phiên bản 0, hãy sử dụng Bech32 trước đó;
  2. Đối với địa chỉ chứng nhận cách ly bản địa với phiên bản 1 (hoặc cao hơn), hãy sử dụng Bech32M mới.

Đối với địa chỉ Bech32M, khi phiên bản là 1, chúng luôn bắt đầu bằng bc1p (nghĩa là địa chỉ Taproot). Cụ thể, giống như một nhân chứng cách ly địa phương, một ví có thể bao gồm cụm từ hạt giống và mật khẩu. Chúng được sử dụng để tạo ra các khóa công khai và khóa bí mật mở rộng, và được sử dụng để tạo ra các địa chỉ cho các đường dẫn tùy ý trong các ví xác định phân cấp theo hệ thống. Chủ yếu là các NFT lưu trữ BRC-20 và BTC.

5. Về chúng tôi

Spectrum Labs là một nhóm các bậc thầy và Tiến sĩ tập trung vào nghiên cứu blockchain, cũng như là những người đã từng làm việc trong ngành công nghiệp blockchain. Chúng tôi cam kết với công nghệ chuỗi nghiên cứu blockchain và các ứng dụng của nó để giúp mọi người hiểu rõ hơn về blockchain. Các hoạt động chính của Spectrum Labs bao gồm viết báo cáo nghiên cứu, viết các khóa học và phát triển các công cụ.

Cộng đồng Trung Quốc NFT BTC là một nền tảng trao đổi BTC NFT Trung Quốc dành cho người mới từ khắp nơi trên thế giới.

Miễn trừ trách nhiệm:

  1. Bài viết này được sao chép từ [Phòng lab mô phỏng]. Tất cả bản quyền thuộc về tác giả gốc [Ash Li, Noah Ho]. Nếu có ý kiến ​​phản đối về việc tái in này, vui lòng liên hệ với Học cửađội ngũ, và họ sẽ xử lý nó ngay lập tức.
  2. Bản Miễn Trách Nhiệm Về Trách Nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không đại diện cho bất kỳ lời khuyên đầu tư nào.
  3. Các bản dịch của 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 là không được phép.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!