Tác giả: 0xShinChann, crypto KOL; Bản dịch: 0xjs@金财经
OP_CAT từng là một opcode bị Satoshi Nakamoto xóa khỏi ngôn ngữ tập lệnh BTC và giờ đây nó một lần nữa trở thành trung tâm thảo luận sôi nổi ở cộng đồng (Lưu ý: OP_CAT được các nhà phát triển Bitcoin thảo luận nhiều nhất trong hội nghị Bitcoin Châu Á).
Là một bản nâng cấp tiềm năng, nó đã nhận được đề xuất chính thức ban đầu về Đề xuất cải tiến Bitcoin (BIP) 347.
OP_CAT là một sáng kiến nhằm cải thiện chức năng của hợp đồng thông minh Bitcoin (tương tự như Ethereum). Bài viết này giải thích chi tiết OP_CAT là gì, cơ chế hoạt động của nó, trường hợp sử dụng của nó, những tranh cãi trong cộng đồng, v.v.
1. Một số kiến thức cơ bản: OP_CAT xuất hiện như thế nào
OP_CAT là một opcode ban đầu trong Bitcoin. Ban đầu nó được tạo ra như một lối tắt lập trình bởi người tạo ra Bitcoin Satoshi Nakamoto. Nhưng nó đã bị xóa vào năm 2010 do lo ngại về việc sử dụng bộ nhớ cao + các lỗ hổng bảo mật tiềm ẩn.
Vào tháng 10 năm 2023, các nhà nghiên cứu Bitcoin Ethan Heilman và Armin Sabouri đã đề xuất Đề xuất cải tiến Bitcoin (BIP), đề xuất giới thiệu lại opcode OP_CAT sang ngôn ngữ tập lệnh Bitcoin.
Mã hoạt động này sẽ cho phép các nhà phát triển xây dựng và đánh giá cây Merkle cũng như các cấu trúc dữ liệu băm khác trong Tapscript, ngôn ngữ tập lệnh gốc được sử dụng để kích hoạt các loại giao dịch mới trong bản nâng cấp Taproot.
2. Về lý thuyết, OP_CAT hoạt động như thế nào?
(i) Giá trị Popping: Trước tiên, hãy xóa hai mục trên cùng khỏi ngăn xếp.
(ii) Kết nối: Sau đó kết hợp hai Mục này. Nếu x1 và x2 là các mục và x2 là mục được thêm cuối cùng, OP_CAT sẽ ghép chúng thành x1x2.
(iii) Đẩy lùi: Sau đó đặt vật phẩm mới được kết hợp trở lại đầu ngăn xếp.
Tuy nhiên, OP_CAT sẽ không hoạt động nếu có ít hơn hai mục trên ngăn xếp hoặc kích thước của các mục kết hợp vượt quá 520 byte (là giới hạn cho các thành phần tập lệnh trong Bitcoin). Nếu được kích hoạt thông qua một soft fork, nó sẽ thay thế các hoạt động không được sử dụng hiện có trong tập lệnh, khiến chúng hoạt động mà không yêu cầu những thay đổi lớn đối với mạng.
3. Tại sao lại cần OP_CAT? cái này để làm gì?
Đơn giản hóa việc xử lý dữ liệu: OP_CAT cho phép hợp nhất hai giá trị ngăn xếp trong Tapscript. Điều này giúp đơn giản hóa việc tạo cấu trúc dữ liệu phức tạp + nâng cao khả năng tạo tập lệnh.
Mở rộng chức năng Bitcoin: OP_CAT giới thiệu chức năng phổ biến không tồn tại trong Bitcoin nhưng lại rất quan trọng trong Ethereum. Điều này có thể đơn giản hóa việc phát triển L2, DEX + dApps và làm cho mạng Bitcoin trở nên linh hoạt.
Tập lệnh nhiều dấu hiệu: OP_CAT có thể giúp giảm kích thước của tập lệnh nhiều dấu hiệu, làm cho chúng hiệu quả hơn và ít cồng kềnh hơn.
Tạo điều kiện thuận lợi cho các hợp đồng phức tạp: OP_CAT hỗ trợ các hợp đồng nâng cao như vault, có thể bảo vệ tiền ngay cả khi khóa riêng bị rò rỉ.
4. Tranh cãi về vai trò của OP_CAT trong Bitcoin: OP_CAT có hoàn hảo không?
Đề xuất này gây tranh cãi phần nào vì nó ảnh hưởng đến con đường tương lai về việc Bitcoin sẽ hoặc sẽ không phát triển như một blockchain.
Một phe tin rằng Bitcoin nên giữ nguyên như cũ, giữ lại chức năng cốt lõi là giao dịch BTC, trong khi những người khác tin rằng Bitcoin vẫn chưa cứng nhắc và nhận thấy những cải tiến đối với tất cả các giải pháp khả năng mở rộng mới nổi như cầu nối và không gian L2) để phát triển.
Trọng tâm của vấn đề là một quyết định quan trọng: liệu Bitcoin có nên mở rộng thành một chuỗi công khai có thể lập trình nhiều hơn hay vẫn là lớp thanh toán P2P.
Để biết chi tiết về BIP 347, vui lòng tham khảo địa chỉ này: https://github.com/bitcoin/bips/blob/master/bip-0347.mediawiki