Vào tháng 12 năm 2022, Casey Rodarmor , một nhà phát triển bitcoin, đã phát hành một phần mềm nguồn mở có tên ORD chạy trên nút đầy đủ của Bitcoin Core. ORD cho phép người dùng đúc Bitcoin NFT theo hai bước: 1) khắc thông tin tùy ý như một chuỗi văn bản hoặc hình ảnh lên chuỗi khối Bitcoin (“dòng chữ”) và 2) thuộc tính ghi vào một satoshi riêng lẻ (“thứ tự/thứ tự” lý thuyết”). Satoshi là đơn vị nhỏ nhất của Bitcoin. 1 BTC = 100.000.000 satoshi. Sản phẩm cuối cùng, một satoshi được ghi, là Bitcoin NFT hoặc Ordinal.
Inscriptions
Trong quá trình ghi, thông tin tùy ý được khắc vào tập lệnh taproot của dữ liệu nhân chứng của giao dịch bitcoin. Không giống như việc đúc Ethereum NFT, trong đó mỗi NFT mới được tạo là một mã thông báo ERC-721 riêng biệt, các dòng chữ không tạo ra mã thông báo mới. Thay vào đó, chúng liên kết thông tin tùy ý với các token hiện có (satoshi).
Việc khắc chữ được thực hiện nhờ hai bản cập nhật Bitcoin, Segregated Witness (SegWit) và Taproot. SegWit diễn ra vào tháng 7 năm 2017 và đã tăng quy mô dữ liệu nhân chứng. Taproot đã được hoàn thiện vào tháng 11 năm 2021, giúp việc chèn dữ liệu nhân chứng tùy ý vào giao dịch bitcoin trở nên dễ dàng hơn.
Một dòng chữ bao gồm một loại nội dung, còn được gọi là loại MIME và chính nội dung đó là một chuỗi byte. Nội dung được ghi hoàn toàn trên chuỗi và được lưu trữ trong tập lệnh taproot.
Ví dụ: dòng chữ “Xin chào thế giới!” trông giống như sau:
1 OP_FALSE
2 OP_IF
3 OP_PUSH “ord”
4 OP_1
5 OP_PUSH “text/plain;charset=utf-8”
6 OP_0
7 OP_PUSH “Xin chào thế giới!”
8 OP_ENDIF
Đầu tiên, chuỗi
mệnh lệnh
được đẩy, để báo hiệu rằng phần tiếp theo là dòng chữ dựa trên ORD.
OP_1
Cho biết lần đẩy tiếp theo chứa loại nội dung, là chuỗi văn bản utf-8. Các loại khác bao gồm hình ảnh (jpeg, gif), video (mp4), ứng dụng (pdf), v.v.
OP_0
Cho biết rằng các lần đẩy dữ liệu tiếp theo chứa chính nội dung đó là “Xin chào, thế giới!” trong trường hợp này. Nhiều lần đẩy dữ liệu có thể được sử dụng cho các dòng chữ lớn, vì một trong những hạn chế của taproot là các lần đẩy dữ liệu riêng lẻ không được vượt quá 520 byte. Kích thước tối đa theo lý thuyết của một dòng chữ là 400.000 byte, vì có thể thực hiện một giao dịch dòng chữ chiếm toàn bộ khối bitcoin (4MB, nhưng trên thực tế, Bitcoin Core giới hạn kích thước này ở mức 400.000 byte).
Nội dung dòng chữ được chứa trong đầu vào của giao dịch bitcoin và dòng chữ được gắn với satoshi đầu tiên của đầu ra đầu tiên. Số satoshi này sau đó có thể được theo dõi theo lý thuyết thứ tự, cho phép nó được chuyển nhượng, mua, bán, mất phí và thu hồi.
Một trong những tranh cãi do dòng chữ khắc gây ra là việc sử dụng tập lệnh taproot để lưu trữ dữ liệu tùy ý không phải là mục đích của bản cập nhật Taproot. Bản cập nhật Taproot có lẽ đã không được kích hoạt nếu cộng đồng bitcoin biết về hậu quả không lường trước được này. Tuy nhiên, hiện tại không thể làm gì để hạn chế việc sử dụng tập lệnh taproot cụ thể này. Vì vậy, Ordinals (Bitcoin NFT) vẫn ở đây.
Ordinals (Ordinal Theory)
Lý thuyết thông thường mô tả các tính năng (chữ khắc) tùy ý cho satoshi và cho phép theo dõi và chuyển các satoshi riêng lẻ. Nhưng nó không phải là một cơ chế phức tạp. Đúng hơn, nó là một sơ đồ đánh số đơn giản cho satoshi.
Satoshi được đánh số theo lý thuyết thứ tự theo hai quy tắc.
Đầu tiên, số thứ tự được gán cho satoshi theo thứ tự chúng được khai thác. Ví dụ: satoshi đầu tiên trong khối bitcoin đầu tiên (khối Genesis) có số thứ tự 0 và khối thứ hai có số thứ tự 1.
Do mô hình UTXO của Bitcoin, satoshi tồn tại dưới dạng đầu ra chưa được chi tiêu, nhưng các giao dịch sẽ phá hủy đầu ra và tạo ra đầu ra mới. Lý thuyết thông thường theo dõi satoshi từ đầu vào của giao dịch đến đầu ra của nó dựa trên nguyên tắc nhập trước xuất trước, đó là quy tắc số 2.
Ví dụ: giao dịch sau có ba đầu vào và hai đầu ra, tất cả đều được gắn nhãn với các giá trị tương ứng:
[2] [1] [3] → [4] [2]
Bây giờ, hãy gắn nhãn cho cùng một giao dịch bằng số thứ tự của satoshi mà mỗi đầu vào chứa và dấu chấm hỏi cho mỗi đầu ra. Số thứ tự lớn đến mức không thể tưởng tượng được, vì vậy hãy sử dụng các chữ cái af để biểu thị chúng trong ví dụ này:
[ab] [c] [def] → [? ? ? ?] [? ?]
Dựa vào nguyên tắc nhập trước xuất trước, ta dễ dàng suy ra được các dấu chấm hỏi:
[ab] [c] [def] → [abcd] [ef]
Bạn có thể hỏi về phí thì sao? Câu hỏi hay! Hãy tưởng tượng cùng một giao dịch, lần này với mức phí là hai satoshi. Các giao dịch có tính phí sẽ gửi nhiều satoshi ở đầu vào hơn số satoshi mà đầu ra nhận được:
[2] [1] [3] → [4]
Kết quả là, satoshi “e” và “f” hiện bị mất trong kết quả đầu ra vì chúng được chuyển đến tay người khai thác đã khai thác khối dưới dạng phí giao dịch:
[ab] [c] [def] → [abcd]
Theo lý thuyết thứ tự, phí trả cho các giao dịch được coi là đầu vào bổ sung cho giao dịch coinbase và được sắp xếp theo thứ tự các giao dịch tương ứng của chúng trong khối. Giao dịch coinbase của khối, giả sử nó chỉ chứa một giao dịch, trông như thế này:
[SUBSIDY] [ef] → [SUBSIDY ef]
Ở đây SUBSIDY có nghĩa là phần thưởng khối, tức là bitcoin (satoshi) được trao cho người khai thác khối đó. Việc đánh số SUBSIDY tuân theo quy tắc số 1, quy định rằng các số thứ tự được gán cho satoshi theo thứ tự chúng được khai thác.
Mặc dù các dòng chữ (hình ảnh, video, v.v.) hoàn toàn nằm trên chuỗi, nhưng thứ tự thì không. Mối liên hệ giữa một dòng chữ và một satoshi riêng lẻ (thứ tự) được thiết lập theo lý thuyết thứ tự, một sơ đồ đánh số ngoài chuỗi. Nói cách khác, cần có sự đồng thuận của xã hội, hoặc sự chấp nhận chung đối với lý thuyết thứ tự, để tồn tại. Các dòng chữ không thể được theo dõi hoặc giao dịch nếu không có lý thuyết thứ tự, vì các dòng chữ không tự động trỏ đến các satoshi riêng lẻ.
Để được giải thích chi tiết hơn về lịch sử của Bitcoin NFT và các chi tiết kỹ thuật của Ordinals, chúng tôi thực sự khuyên bạn nên giao dịch bitcoin bất hợp pháp bởi pourteaux hoặc sách trắng này của Galaxy Research .