Ordinals được nhà phát triển Casey Rodarmor ra mắt vào ngày 20 tháng 1 năm 2023 trên mạng chính Bitcoin dưới dạng giao thức đặt hàng cho “Satoshis”. “Satoshi” là đơn vị nhỏ nhất của Bitcoin và mỗi Bitcoin được tạo thành từ một. Bao gồm 100 triệu Satoshi (1 btc = 10^8 sat), giao thức Ordinals cung cấp cho mỗi Satoshi một danh tính duy nhất.
Dòng chữ thông thường là các mã thông báo không thể thay thế (NFT) được xây dựng trên giao thức Ordinals và chứa dữ liệu như hình ảnh, văn bản và video.
So với Ethereum NFT, chúng ta có thể nghĩ đơn giản rằng giao thức Ordinals triển khai tokenID và dòng chữ triển khai siêu dữ liệu.
TokenID cung cấp mã định danh duy nhất cho mỗi NFT, cho phép người dùng phân biệt các token với nhau. TokenID là điều làm cho NFT thực sự độc đáo.
Ethereum có khả năng lập trình tốt nên dễ dàng triển khai TokenID. Tuy nhiên, trong Bitcoin, việc triển khai tương tự thường yêu cầu sử dụng mạng lớp thứ hai. Các nền tảng như Counterparty và Stacks đã triển khai NFT dựa trên Bitcoin, nhưng dòng chữ Ordinals có những khác biệt cơ bản so với các kiến trúc NFT Bitcoin khác.
Giao thức Ordinals sử dụng mô hình giao dịch UTXO của Bitcoin. UTXO tương tự như hệ thống tiền mặt, trái ngược với mô hình dựa trên số dư tài khoản truyền thống.
Trong chuỗi khối Bitcoin, tất cả số dư được lưu trữ trong danh sách được gọi là Đầu ra giao dịch chưa được chi tiêu (UTXO). Mỗi UTXO chứa một lượng Bitcoin nhất định, cùng với thông tin về chủ sở hữu của nó và liệu nó có thể chi tiêu được hay không. Bạn có thể coi nó như một tấm séc tiền mặt có tên chủ sở hữu trên đó, có thể chuyển nhượng cho người khác bằng chữ ký của chủ sở hữu. Đối với một địa chỉ cụ thể, tổng tất cả số tiền UTXO của nó thể hiện số dư trong ví của địa chỉ đó. Bằng cách lặp qua tất cả các UTXO, chúng tôi có thể thu được số dư hiện tại cho từng địa chỉ. Cộng tất cả số tiền UTXO sẽ cho chúng ta tổng lượng Bitcoin lưu hành.
Để hiểu rõ hơn về mô hình thanh toán trong mạng Bitcoin, chúng ta hãy xem qua ví dụ về việc A gửi n Bitcoin cho B. Sơ đồ bên dưới minh họa quá trình A gửi 3 Bitcoin cho B.
Đối với người dùng A, trước tiên cần xác định tập hợp tất cả các UTXO mà anh ta sở hữu, tức là tất cả số Bitcoin mà người dùng A có thể kiểm soát;
A chọn một hoặc nhiều UTXO từ bộ này làm đầu vào của giao dịch. Tổng số lượng của các đầu vào này là m (2+0,8+0,5=3,3 BTC), lớn hơn số tiền phải trả n (3 BTC);
Người dùng A đặt hai đầu ra cho giao dịch, một đầu ra được trả cho địa chỉ của B, số tiền là n (3 BTC) và đầu ra còn lại được trả cho địa chỉ thay đổi của chính A, số tiền là mn-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ỉ. Nói chung, mỗi địa chỉ chỉ được sử dụng một lần và theo mặc định, thay đổi sẽ được trả về địa chỉ mới;
Sau khi người khai thác đóng gói giao dịch và tải nó lên chuỗi để xác nhận, B có thể nhận được thông tin giao dịch. Vì kích thước khối có giới hạn trên (khoảng 1 MB) nên thợ đào sẽ ưu tiên các giao dịch có tỷ lệ giao dịch cao (fee_rate=fee/size) để thu được mức phí cao nhất.
Theo giao thức Ordinals, số lượng “Satoshi” dựa trên thứ tự chúng được khai thác và vì mỗi BTC “Satoshi” được tạo ra thông qua phần thưởng khai thác nên số sê-ri của nó có thể được xác định thông qua khả năng truy xuất nguồn gốc.
Giả sử rằng người dùng A nhận được Satoshi thứ 100-110 thông qua khai thác (toàn bộ 10 Satoshi được lưu trữ trong cùng một UTXO với ID adc123). Khi người dùng A muốn trả 5 satoshi cho người dùng B, anh ta chọn sử dụng ID abc123 làm đầu vào của giao dịch, trong đó 5 satoshi được trao cho người dùng B và 5 satoshi được trả lại cho người dùng A dưới dạng tiền thừa. Hai bản sao của 5 “Satoshi” này là một tổng thể và được lưu trữ trong hai UTXO có ID lần lượt là abc456 và abc789. Id UTXO ở trên và số lượng “Satoshi” chỉ được hiển thị làm ví dụ. Trong các tình huống thực tế, số lượng “Satoshi” tối thiểu được gửi được giới hạn ở 546 và id UTXO không được biểu thị ở dạng này.
Trong giao dịch trên, đường dẫn lưu thông 10 Satoshi của Người dùng A là:
Khai thác tạo ra 10 “Satoshi”, được đánh số [100, 110). Cho biết “Satoshi” thứ 100 đến thứ 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.
Khi A chuyển tiền, 10 “satoshi” được chia thành hai phần, mỗi phần có 5 “satoshi”. Được sử dụng ở đây”Đến trước, phục vụ trước”Nguyên tắc là thứ tự số lượng của “Satoshi” được xác định theo 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 đó số sê-ri của 5 satoshis còn lại của người dùng A là [100, 105), được lưu trữ trong UTXO với id abc456 và 5” của người dùng B satoshis” Số thứ tự là [105, 110) và được lưu trữ trong UTXO với id abc789.
Siêu dữ liệu cho dòng chữ Ordinals không được lưu trữ ở một vị trí cụ thể. Thay vào đó, siêu dữ liệu này được nhúng vào dữ liệu nhân chứng của giao dịch (dữ liệu nhân chứng, trường nhân chứng), đó là lý do tại sao nó được gọi là “dòng chữ” vì dữ liệu này được “khắc” giống như dòng chữ trên các phần cụ thể của giao dịch Bitcoin. và những dữ liệu này được đính kèm với “Satoshi” cụ thể. Quá trình ghi chú này được thực hiện thông qua Segregated Witness (SegWit) và Taproot, bao gồm hai giai đoạn: cam kết và tiết lộ, đồng thời có thể ghi bất kỳ dạng nội dung nào (chẳng hạn như văn bản, hình ảnh hoặc video) trên “satoshi” được chỉ định.
SegWit là bản cập nhật năm 2017 dẫn đến sự phân nhánh mềm của chuỗi khối Bitcoin. Bản cập nhật tách các giao dịch Bitcoin thành hai phần một cách hiệu quả bằng cách thêm phần “dữ liệu nhân chứng” có thể hỗ trợ dữ liệu tùy ý.
Nhân chứng tách biệt tách dữ liệu giao dịch và nhân chứng (chữ ký) thành các phần riêng biệt và cho phép lưu trữ dữ liệu tùy ý trong phần nhân chứng.
Về mặt kỹ thuật, việc triển khai Segregated Witness có nghĩa là các giao dịch không còn cần bao gồm dữ liệu nhân chứng (và sẽ không chiếm 1 MB dung lượng mà Bitcoin phân bổ ban đầu cho các khối). Thay vào đó, ở cuối khối, một không gian riêng biệt bổ sung được tạo cho dữ liệu nhân chứng. Nó hỗ trợ truyền dữ liệu tùy ý và có “trọng lượng khối” được giảm giá, giúp giữ một lượng lớn dữ liệu trong giới hạn kích thước khối của Bitcoin một cách khéo léo để tránh phải thực hiện hard fork.
Được triển khai vào tháng 11 năm 2021, Taproot là một bản nâng cấp nhiều mặt được thiết kế để cải thiện quyền riêng tư, khả năng mở rộng và bảo mật của Bitcoin. Taproot tạo ra một hệ thống giúp lưu trữ dữ liệu nhân chứng tùy ý dễ dàng hơn và nới lỏng các giới hạn về lượng dữ liệu tùy ý có thể được đặt trong giao dịch Bitcoin. Mục tiêu ban đầu của việc nâng cấp này là nâng cao hơn nữa các hợp đồng thông minh dựa trên Bitcoin, chẳng hạn như các hợp đồng có thời gian khóa, thường được thể hiện bằng dữ liệu nhân chứng.
Ordinals lưu trữ siêu dữ liệu trong tập lệnh chi tiêu trong đường dẫn tập lệnh Taproot.
Đầu tiên, do cách lưu trữ tập lệnh Taproot, chúng tôi có thể lưu trữ nội dung dòng chữ trong tập lệnh chi tiêu đường dẫn tập lệnh Taproot, hầu như không có hạn chế về nội dung, đồng thời được giảm giá đối với dữ liệu nhân chứng, giúp việc lưu trữ nội dung dòng chữ tương đối tiết kiệm. Vì việc sử dụng các tập lệnh Taproot chỉ có thể được thực hiện từ đầu ra Taproot đã có sẵn nên các dòng chữ được tạo ra bằng quy trình cam kết/tiết lộ hai giai đoạn. Đầu tiên, trong giao dịch cam kết, đầu ra Taproot được tạo ra hứa hẹn một tập lệnh chứa nội dung dòng chữ. Sau đó, trong giao dịch tiết lộ, giao dịch được bắt đầu bằng cách lấy UTXO tương ứng với dòng chữ đó làm đầu vào. Lúc này, nội dung dòng chữ tương ứng đã được công khai trên toàn bộ Internet.
Cách tiếp cận này làm giảm đáng kể việc tiêu thụ tài nguyên. Nếu bạn không sử dụng tập lệnh Taproot, thông tin nhân chứng sẽ được lưu trữ ở đầu ra của giao dịch. Bằng cách này, miễn là đầu ra này không được sử dụng, thông tin nhân chứng sẽ luôn được lưu trữ trong bộ UTXO. Ngược lại, nếu sử dụng P2TR, thông tin nhân chứng sẽ không xuất hiện trong giao dịch được tạo trong giai đoạn cam kết, do đó nó sẽ không được ghi vào bộ UTXO. Chỉ khi UTXO này được sử dụng thì thông tin nhân chứng mới xuất hiện trong đầu vào giao dịch trong giai đoạn tiết lộ. P2TR cho phép siêu dữ liệu được ghi vào chuỗi khối Bitcoin nhưng không bao giờ xuất hiện trong bộ UTXO. Vì việc duy trì/sửa đổi bộ UTXO yêu cầu nhiều tài nguyên hơn nên phương pháp này có thể tiết kiệm rất nhiều tài nguyên.
Mặc dù tên của BRC-20 rất giống với ERC-20 của Ethereum nhưng sự khác biệt về mặt kỹ thuật giữa hai loại này thực sự rất đáng kể. Trạng thái nắm giữ của mã thông báo ERC-20 được lưu trên chuỗi và có thể đạt được sự đồng thuận của mạng trên chuỗi, trong khi BRC-20 Just là một dòng chữ giao thức Ordinals đặc biệt, được tạo bởi người dùng Twitter @domodata vào ngày 8 tháng 3 năm 2023, sử dụng thứ tự ghi dữ liệu JSON để triển khai các hợp đồng mã thông báo, đúc và chuyển mã thông báo. JSON được triển khai như sau:
{
"p": "brc-20",//Protocol: Helps offline accounting systems identify and handle brc-20 events
"op": "deploy",//op operation: event type (Deploy, Mint, Transfer)
"tick": "ordi", //Ticker: identifier of the brc-20 token, 4 letters in length (can be emoji)
"max": "21000000",//Max supply: The maximum supply of brc-20 tokens
"lim": "1000"//Mint limit: The limit on the minting amount of brc-20 tokens each time
}
Các hoạt động tương ứng là đúc và chuyển khoản, và hai định dạng gần như giống nhau. Khi op là Chuyển khoản, người nhận chuyển khoản của dòng chữ là người nhận “Satoshi” tương ứng với dòng chữ. Do đó, việc chuyển BRC-20 phải đi kèm với việc chuyển quyền sở hữu Bitcoin chứ không chỉ được coi là phí xử lý.
BRC-20 thực hiện cơ chế “đến trước được phục vụ trước”. Việc triển khai lặp đi lặp lại và sử dụng quá nhiều sẽ không hợp lệ. Tổ chức tập trung sẽ suy ra số dư hiện tại mà người dùng phải có dựa trên mỗi OP đã đăng ký trên chuỗi và đưa ra phán quyết về tính hợp lệ của giao dịch.
Trong quá trình này, các dòng chữ được 'gắn' vào "Satoshi" giao dịch. Những người khai thác bitcoin sẽ không xử lý những dòng chữ này. Từ góc độ của chuỗi, chúng vẫn không khác biệt so với các “Satoshi” khác. Tất cả chúng đều được coi là “Satoshi” bình thường. “Công” được chuyển giao.
Đối với giao thức BRC-20, nó xử lý dòng chữ như một sổ cái ghi lại việc triển khai, đúc và chuyển mã thông báo BRC-20. Vì hợp đồng thông minh không thể chạy trên Bitcoin nên mã thông báo BRC-20 không thể truy vấn thông tin liên quan về mã thông báo hiện tại bằng cách chạy hợp đồng thông minh. Do đó, BRC-20 sử dụng các truy vấn ngoài chuỗi, tức là sử dụng máy chủ tập trung để truy xuất các khối Bitcoin, ghi lại các hoạt động triển khai, đúc và chuyển của tất cả các token BRC-20 để truy vấn số dư cuối cùng của token BRC-20 của mỗi người dùng.
Nói một cách đơn giản, sổ cái BRC-20 được phân cấp và ghi lại trên chuỗi Bitcoin, nhưng quy trình thanh toán được tập trung hóa. Hiện tại có hai trang web, brc-20.io và unisat.io, hỗ trợ các truy vấn liên quan đến mã thông báo BRC-20.
Việc tập trung hóa quy trình thanh toán có thể khiến các nền tảng khác nhau có kết quả khác nhau khi truy vấn số dư tài khoản nhất định. Mặc dù tất cả các hoạt động đều được ghi lại trên chuỗi nhưng khách hàng có trách nhiệm xác minh các hoạt động này. Nếu các nhà cung cấp dịch vụ tập trung này không tiết lộ các quy tắc xác minh của họ thì thực sự không có gì đảm bảo cho toàn bộ hệ sinh thái BRC-20.
Trên thực tế, vào tối ngày 23/4, UniSat đã ra mắt nền tảng giao dịch BRC-20 nhưng do lỗ hổng trong thư viện mã nên đã hứng chịu một số lượng lớn các cuộc tấn công chi tiêu gấp đôi. Địa chỉ bc1pwturekq4w455l64ttze8j7mnhgsuaupsn99ggd0ds23js924e6ms9fxyht ban đầu đã tạo ra các Ordials9fxyht được chuyển giao và cố gắng chuyển 5.000 ORDI và 35.000 ORDI đến địa chỉ của chính anh ta một cách bất ngờ, đồng thời cố gắng bán ordi được đúc từ không khí cho những người dùng khác. Unisat sau đó đã đình chỉ quyền truy cập vào trang web và tiến hành một cuộc điều tra, cuối cùng phát hiện ra rằng 70 giao dịch đã bị ảnh hưởng.
Nếu Unisat không khắc phục được lỗi vào đêm hôm đó thì thiệt hại từ cuộc tấn công chi tiêu gấp đôi ước tính lên tới hơn 1 triệu USD. Làm thế nào để đảm bảo rằng việc truy xuất và xác minh máy chủ tập trung không có lỗi là vấn đề quan trọng nhất cần được giải quyết trong quá trình phát triển BRC-20.
Bản chất của dòng chữ Thông thường là: trên mạng Bitcoin với sự trợ giúp của aTaproot Tập lệnh xây dựng một lớp kế toán đơn giản để đếm và ghi lại tài sản và dữ liệu.
Vì nó chỉ liên quan đến kế toán, điều này có nghĩa là sẽ không có quy trình xác minh và thực thi tập lệnh tương tự như hợp đồng thông minh và nó phải phụ thuộc nhiều vào kết quả báo cáo và quản lý tập trung ngoài chuỗi.
Do đó, ngoại trừ BRC-20, tất cả các dòng chữ Ordinals phải dựa trên các dịch vụ ngoại tuyến bên ngoài mạng Bitcoin để duy trì trạng thái miễn là chúng liên quan đến chuyển trạng thái (chẳng hạn như giao dịch). Nếu dịch vụ trạng thái cơ bản không khả dụng hoặc bị lỗi, điều đó có thể dẫn đến tổn thất tài sản vì mạng Bitcoin không thể ngăn chặn việc tải các dòng chữ không hợp lệ lên chuỗi. Nền tảng tập trung phải quyết định dòng chữ nào hợp lệ và nó sẽ hợp lệ trên nền tảng.
Phương thức định giá và giao dịch tập trung này mang lại cho nền tảng tập trung một cơ hội đáng kể cho hành vi độc hại. Ngoài ra, sự kết hợp giữa nghịch lý logic của dòng chữ “đến trước được phục vụ trước” và cơ chế thợ mỏ ưu tiên đóng gói dựa trên phí khai thác cho phép thợ mỏ và robot chạy trước tạo ra một số lượng lớn các dòng chữ phổ biến trước những người khác, dẫn đến quá trình đúc tiền không công bằng.
Tuy nhiên, việc dự đoán và đánh giá sự phát triển của những điều mới là một thách thức. Sự ra đời của dòng chữ thứ tự chắc chắn đã gây ra một cuộc tranh luận trong cộng đồng Bitcoin về vai trò cơ bản và bản chất của Bitcoin. Cuộc thảo luận này có khả năng dẫn đến một đợt phân nhánh của Bitcoin, tập trung vào bảo mật và khả năng lập trình. Có vẻ như chiếc hộp Pandora đang được mở.
Ordinals được nhà phát triển Casey Rodarmor ra mắt vào ngày 20 tháng 1 năm 2023 trên mạng chính Bitcoin dưới dạng giao thức đặt hàng cho “Satoshis”. “Satoshi” là đơn vị nhỏ nhất của Bitcoin và mỗi Bitcoin được tạo thành từ một. Bao gồm 100 triệu Satoshi (1 btc = 10^8 sat), giao thức Ordinals cung cấp cho mỗi Satoshi một danh tính duy nhất.
Dòng chữ thông thường là các mã thông báo không thể thay thế (NFT) được xây dựng trên giao thức Ordinals và chứa dữ liệu như hình ảnh, văn bản và video.
So với Ethereum NFT, chúng ta có thể nghĩ đơn giản rằng giao thức Ordinals triển khai tokenID và dòng chữ triển khai siêu dữ liệu.
TokenID cung cấp mã định danh duy nhất cho mỗi NFT, cho phép người dùng phân biệt các token với nhau. TokenID là điều làm cho NFT thực sự độc đáo.
Ethereum có khả năng lập trình tốt nên dễ dàng triển khai TokenID. Tuy nhiên, trong Bitcoin, việc triển khai tương tự thường yêu cầu sử dụng mạng lớp thứ hai. Các nền tảng như Counterparty và Stacks đã triển khai NFT dựa trên Bitcoin, nhưng dòng chữ Ordinals có những khác biệt cơ bản so với các kiến trúc NFT Bitcoin khác.
Giao thức Ordinals sử dụng mô hình giao dịch UTXO của Bitcoin. UTXO tương tự như hệ thống tiền mặt, trái ngược với mô hình dựa trên số dư tài khoản truyền thống.
Trong chuỗi khối Bitcoin, tất cả số dư được lưu trữ trong danh sách được gọi là Đầu ra giao dịch chưa được chi tiêu (UTXO). Mỗi UTXO chứa một lượng Bitcoin nhất định, cùng với thông tin về chủ sở hữu của nó và liệu nó có thể chi tiêu được hay không. Bạn có thể coi nó như một tấm séc tiền mặt có tên chủ sở hữu trên đó, có thể chuyển nhượng cho người khác bằng chữ ký của chủ sở hữu. Đối với một địa chỉ cụ thể, tổng tất cả số tiền UTXO của nó thể hiện số dư trong ví của địa chỉ đó. Bằng cách lặp qua tất cả các UTXO, chúng tôi có thể thu được số dư hiện tại cho từng địa chỉ. Cộng tất cả số tiền UTXO sẽ cho chúng ta tổng lượng Bitcoin lưu hành.
Để hiểu rõ hơn về mô hình thanh toán trong mạng Bitcoin, chúng ta hãy xem qua ví dụ về việc A gửi n Bitcoin cho B. Sơ đồ bên dưới minh họa quá trình A gửi 3 Bitcoin cho B.
Đối với người dùng A, trước tiên cần xác định tập hợp tất cả các UTXO mà anh ta sở hữu, tức là tất cả số Bitcoin mà người dùng A có thể kiểm soát;
A chọn một hoặc nhiều UTXO từ bộ này làm đầu vào của giao dịch. Tổng số lượng của các đầu vào này là m (2+0,8+0,5=3,3 BTC), lớn hơn số tiền phải trả n (3 BTC);
Người dùng A đặt hai đầu ra cho giao dịch, một đầu ra được trả cho địa chỉ của B, số tiền là n (3 BTC) và đầu ra còn lại được trả cho địa chỉ thay đổi của chính A, số tiền là mn-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ỉ. Nói chung, mỗi địa chỉ chỉ được sử dụng một lần và theo mặc định, thay đổi sẽ được trả về địa chỉ mới;
Sau khi người khai thác đóng gói giao dịch và tải nó lên chuỗi để xác nhận, B có thể nhận được thông tin giao dịch. Vì kích thước khối có giới hạn trên (khoảng 1 MB) nên thợ đào sẽ ưu tiên các giao dịch có tỷ lệ giao dịch cao (fee_rate=fee/size) để thu được mức phí cao nhất.
Theo giao thức Ordinals, số lượng “Satoshi” dựa trên thứ tự chúng được khai thác và vì mỗi BTC “Satoshi” được tạo ra thông qua phần thưởng khai thác nên số sê-ri của nó có thể được xác định thông qua khả năng truy xuất nguồn gốc.
Giả sử rằng người dùng A nhận được Satoshi thứ 100-110 thông qua khai thác (toàn bộ 10 Satoshi được lưu trữ trong cùng một UTXO với ID adc123). Khi người dùng A muốn trả 5 satoshi cho người dùng B, anh ta chọn sử dụng ID abc123 làm đầu vào của giao dịch, trong đó 5 satoshi được trao cho người dùng B và 5 satoshi được trả lại cho người dùng A dưới dạng tiền thừa. Hai bản sao của 5 “Satoshi” này là một tổng thể và được lưu trữ trong hai UTXO có ID lần lượt là abc456 và abc789. Id UTXO ở trên và số lượng “Satoshi” chỉ được hiển thị làm ví dụ. Trong các tình huống thực tế, số lượng “Satoshi” tối thiểu được gửi được giới hạn ở 546 và id UTXO không được biểu thị ở dạng này.
Trong giao dịch trên, đường dẫn lưu thông 10 Satoshi của Người dùng A là:
Khai thác tạo ra 10 “Satoshi”, được đánh số [100, 110). Cho biết “Satoshi” thứ 100 đến thứ 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.
Khi A chuyển tiền, 10 “satoshi” được chia thành hai phần, mỗi phần có 5 “satoshi”. Được sử dụng ở đây”Đến trước, phục vụ trước”Nguyên tắc là thứ tự số lượng của “Satoshi” được xác định theo 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 đó số sê-ri của 5 satoshis còn lại của người dùng A là [100, 105), được lưu trữ trong UTXO với id abc456 và 5” của người dùng B satoshis” Số thứ tự là [105, 110) và được lưu trữ trong UTXO với id abc789.
Siêu dữ liệu cho dòng chữ Ordinals không được lưu trữ ở một vị trí cụ thể. Thay vào đó, siêu dữ liệu này được nhúng vào dữ liệu nhân chứng của giao dịch (dữ liệu nhân chứng, trường nhân chứng), đó là lý do tại sao nó được gọi là “dòng chữ” vì dữ liệu này được “khắc” giống như dòng chữ trên các phần cụ thể của giao dịch Bitcoin. và những dữ liệu này được đính kèm với “Satoshi” cụ thể. Quá trình ghi chú này được thực hiện thông qua Segregated Witness (SegWit) và Taproot, bao gồm hai giai đoạn: cam kết và tiết lộ, đồng thời có thể ghi bất kỳ dạng nội dung nào (chẳng hạn như văn bản, hình ảnh hoặc video) trên “satoshi” được chỉ định.
SegWit là bản cập nhật năm 2017 dẫn đến sự phân nhánh mềm của chuỗi khối Bitcoin. Bản cập nhật tách các giao dịch Bitcoin thành hai phần một cách hiệu quả bằng cách thêm phần “dữ liệu nhân chứng” có thể hỗ trợ dữ liệu tùy ý.
Nhân chứng tách biệt tách dữ liệu giao dịch và nhân chứng (chữ ký) thành các phần riêng biệt và cho phép lưu trữ dữ liệu tùy ý trong phần nhân chứng.
Về mặt kỹ thuật, việc triển khai Segregated Witness có nghĩa là các giao dịch không còn cần bao gồm dữ liệu nhân chứng (và sẽ không chiếm 1 MB dung lượng mà Bitcoin phân bổ ban đầu cho các khối). Thay vào đó, ở cuối khối, một không gian riêng biệt bổ sung được tạo cho dữ liệu nhân chứng. Nó hỗ trợ truyền dữ liệu tùy ý và có “trọng lượng khối” được giảm giá, giúp giữ một lượng lớn dữ liệu trong giới hạn kích thước khối của Bitcoin một cách khéo léo để tránh phải thực hiện hard fork.
Được triển khai vào tháng 11 năm 2021, Taproot là một bản nâng cấp nhiều mặt được thiết kế để cải thiện quyền riêng tư, khả năng mở rộng và bảo mật của Bitcoin. Taproot tạo ra một hệ thống giúp lưu trữ dữ liệu nhân chứng tùy ý dễ dàng hơn và nới lỏng các giới hạn về lượng dữ liệu tùy ý có thể được đặt trong giao dịch Bitcoin. Mục tiêu ban đầu của việc nâng cấp này là nâng cao hơn nữa các hợp đồng thông minh dựa trên Bitcoin, chẳng hạn như các hợp đồng có thời gian khóa, thường được thể hiện bằng dữ liệu nhân chứng.
Ordinals lưu trữ siêu dữ liệu trong tập lệnh chi tiêu trong đường dẫn tập lệnh Taproot.
Đầu tiên, do cách lưu trữ tập lệnh Taproot, chúng tôi có thể lưu trữ nội dung dòng chữ trong tập lệnh chi tiêu đường dẫn tập lệnh Taproot, hầu như không có hạn chế về nội dung, đồng thời được giảm giá đối với dữ liệu nhân chứng, giúp việc lưu trữ nội dung dòng chữ tương đối tiết kiệm. Vì việc sử dụng các tập lệnh Taproot chỉ có thể được thực hiện từ đầu ra Taproot đã có sẵn nên các dòng chữ được tạo ra bằng quy trình cam kết/tiết lộ hai giai đoạn. Đầu tiên, trong giao dịch cam kết, đầu ra Taproot được tạo ra hứa hẹn một tập lệnh chứa nội dung dòng chữ. Sau đó, trong giao dịch tiết lộ, giao dịch được bắt đầu bằng cách lấy UTXO tương ứng với dòng chữ đó làm đầu vào. Lúc này, nội dung dòng chữ tương ứng đã được công khai trên toàn bộ Internet.
Cách tiếp cận này làm giảm đáng kể việc tiêu thụ tài nguyên. Nếu bạn không sử dụng tập lệnh Taproot, thông tin nhân chứng sẽ được lưu trữ ở đầu ra của giao dịch. Bằng cách này, miễn là đầu ra này không được sử dụng, thông tin nhân chứng sẽ luôn được lưu trữ trong bộ UTXO. Ngược lại, nếu sử dụng P2TR, thông tin nhân chứng sẽ không xuất hiện trong giao dịch được tạo trong giai đoạn cam kết, do đó nó sẽ không được ghi vào bộ UTXO. Chỉ khi UTXO này được sử dụng thì thông tin nhân chứng mới xuất hiện trong đầu vào giao dịch trong giai đoạn tiết lộ. P2TR cho phép siêu dữ liệu được ghi vào chuỗi khối Bitcoin nhưng không bao giờ xuất hiện trong bộ UTXO. Vì việc duy trì/sửa đổi bộ UTXO yêu cầu nhiều tài nguyên hơn nên phương pháp này có thể tiết kiệm rất nhiều tài nguyên.
Mặc dù tên của BRC-20 rất giống với ERC-20 của Ethereum nhưng sự khác biệt về mặt kỹ thuật giữa hai loại này thực sự rất đáng kể. Trạng thái nắm giữ của mã thông báo ERC-20 được lưu trên chuỗi và có thể đạt được sự đồng thuận của mạng trên chuỗi, trong khi BRC-20 Just là một dòng chữ giao thức Ordinals đặc biệt, được tạo bởi người dùng Twitter @domodata vào ngày 8 tháng 3 năm 2023, sử dụng thứ tự ghi dữ liệu JSON để triển khai các hợp đồng mã thông báo, đúc và chuyển mã thông báo. JSON được triển khai như sau:
{
"p": "brc-20",//Protocol: Helps offline accounting systems identify and handle brc-20 events
"op": "deploy",//op operation: event type (Deploy, Mint, Transfer)
"tick": "ordi", //Ticker: identifier of the brc-20 token, 4 letters in length (can be emoji)
"max": "21000000",//Max supply: The maximum supply of brc-20 tokens
"lim": "1000"//Mint limit: The limit on the minting amount of brc-20 tokens each time
}
Các hoạt động tương ứng là đúc và chuyển khoản, và hai định dạng gần như giống nhau. Khi op là Chuyển khoản, người nhận chuyển khoản của dòng chữ là người nhận “Satoshi” tương ứng với dòng chữ. Do đó, việc chuyển BRC-20 phải đi kèm với việc chuyển quyền sở hữu Bitcoin chứ không chỉ được coi là phí xử lý.
BRC-20 thực hiện cơ chế “đến trước được phục vụ trước”. Việc triển khai lặp đi lặp lại và sử dụng quá nhiều sẽ không hợp lệ. Tổ chức tập trung sẽ suy ra số dư hiện tại mà người dùng phải có dựa trên mỗi OP đã đăng ký trên chuỗi và đưa ra phán quyết về tính hợp lệ của giao dịch.
Trong quá trình này, các dòng chữ được 'gắn' vào "Satoshi" giao dịch. Những người khai thác bitcoin sẽ không xử lý những dòng chữ này. Từ góc độ của chuỗi, chúng vẫn không khác biệt so với các “Satoshi” khác. Tất cả chúng đều được coi là “Satoshi” bình thường. “Công” được chuyển giao.
Đối với giao thức BRC-20, nó xử lý dòng chữ như một sổ cái ghi lại việc triển khai, đúc và chuyển mã thông báo BRC-20. Vì hợp đồng thông minh không thể chạy trên Bitcoin nên mã thông báo BRC-20 không thể truy vấn thông tin liên quan về mã thông báo hiện tại bằng cách chạy hợp đồng thông minh. Do đó, BRC-20 sử dụng các truy vấn ngoài chuỗi, tức là sử dụng máy chủ tập trung để truy xuất các khối Bitcoin, ghi lại các hoạt động triển khai, đúc và chuyển của tất cả các token BRC-20 để truy vấn số dư cuối cùng của token BRC-20 của mỗi người dùng.
Nói một cách đơn giản, sổ cái BRC-20 được phân cấp và ghi lại trên chuỗi Bitcoin, nhưng quy trình thanh toán được tập trung hóa. Hiện tại có hai trang web, brc-20.io và unisat.io, hỗ trợ các truy vấn liên quan đến mã thông báo BRC-20.
Việc tập trung hóa quy trình thanh toán có thể khiến các nền tảng khác nhau có kết quả khác nhau khi truy vấn số dư tài khoản nhất định. Mặc dù tất cả các hoạt động đều được ghi lại trên chuỗi nhưng khách hàng có trách nhiệm xác minh các hoạt động này. Nếu các nhà cung cấp dịch vụ tập trung này không tiết lộ các quy tắc xác minh của họ thì thực sự không có gì đảm bảo cho toàn bộ hệ sinh thái BRC-20.
Trên thực tế, vào tối ngày 23/4, UniSat đã ra mắt nền tảng giao dịch BRC-20 nhưng do lỗ hổng trong thư viện mã nên đã hứng chịu một số lượng lớn các cuộc tấn công chi tiêu gấp đôi. Địa chỉ bc1pwturekq4w455l64ttze8j7mnhgsuaupsn99ggd0ds23js924e6ms9fxyht ban đầu đã tạo ra các Ordials9fxyht được chuyển giao và cố gắng chuyển 5.000 ORDI và 35.000 ORDI đến địa chỉ của chính anh ta một cách bất ngờ, đồng thời cố gắng bán ordi được đúc từ không khí cho những người dùng khác. Unisat sau đó đã đình chỉ quyền truy cập vào trang web và tiến hành một cuộc điều tra, cuối cùng phát hiện ra rằng 70 giao dịch đã bị ảnh hưởng.
Nếu Unisat không khắc phục được lỗi vào đêm hôm đó thì thiệt hại từ cuộc tấn công chi tiêu gấp đôi ước tính lên tới hơn 1 triệu USD. Làm thế nào để đảm bảo rằng việc truy xuất và xác minh máy chủ tập trung không có lỗi là vấn đề quan trọng nhất cần được giải quyết trong quá trình phát triển BRC-20.
Bản chất của dòng chữ Thông thường là: trên mạng Bitcoin với sự trợ giúp của aTaproot Tập lệnh xây dựng một lớp kế toán đơn giản để đếm và ghi lại tài sản và dữ liệu.
Vì nó chỉ liên quan đến kế toán, điều này có nghĩa là sẽ không có quy trình xác minh và thực thi tập lệnh tương tự như hợp đồng thông minh và nó phải phụ thuộc nhiều vào kết quả báo cáo và quản lý tập trung ngoài chuỗi.
Do đó, ngoại trừ BRC-20, tất cả các dòng chữ Ordinals phải dựa trên các dịch vụ ngoại tuyến bên ngoài mạng Bitcoin để duy trì trạng thái miễn là chúng liên quan đến chuyển trạng thái (chẳng hạn như giao dịch). Nếu dịch vụ trạng thái cơ bản không khả dụng hoặc bị lỗi, điều đó có thể dẫn đến tổn thất tài sản vì mạng Bitcoin không thể ngăn chặn việc tải các dòng chữ không hợp lệ lên chuỗi. Nền tảng tập trung phải quyết định dòng chữ nào hợp lệ và nó sẽ hợp lệ trên nền tảng.
Phương thức định giá và giao dịch tập trung này mang lại cho nền tảng tập trung một cơ hội đáng kể cho hành vi độc hại. Ngoài ra, sự kết hợp giữa nghịch lý logic của dòng chữ “đến trước được phục vụ trước” và cơ chế thợ mỏ ưu tiên đóng gói dựa trên phí khai thác cho phép thợ mỏ và robot chạy trước tạo ra một số lượng lớn các dòng chữ phổ biến trước những người khác, dẫn đến quá trình đúc tiền không công bằng.
Tuy nhiên, việc dự đoán và đánh giá sự phát triển của những điều mới là một thách thức. Sự ra đời của dòng chữ thứ tự chắc chắn đã gây ra một cuộc tranh luận trong cộng đồng Bitcoin về vai trò cơ bản và bản chất của Bitcoin. Cuộc thảo luận này có khả năng dẫn đến một đợt phân nhánh của Bitcoin, tập trung vào bảo mật và khả năng lập trình. Có vẻ như chiếc hộp Pandora đang được mở.