
13 dòng mã giúp Bitcoin thực hiện hợp đồng thông minh? Hiểu rõ đợt nâng cấp mềm OP_CAT
Tuyển chọn TechFlowTuyển chọn TechFlow

13 dòng mã giúp Bitcoin thực hiện hợp đồng thông minh? Hiểu rõ đợt nâng cấp mềm OP_CAT
Bitcoin tại ngã tư đường đang đối mặt với một lựa chọn lịch sử: chấp nhận kích hoạt lại OP_CAT để khám phá hợp đồng thông minh, hay kiên định giữ vững bản sắc thuần túy theo tinh thần của Satoshi.
Tác giả: Jaleel, BlockBeats
Trong kho mã Bitcoin, một opcode từng bị Satoshi Nakamoto xóa bỏ và chôn vùi trong lịch sử lâu nay – «OP_CAT» – có thể sắp được «hồi sinh».
Xung quanh opcode OP_CAT, dự án NFT trên Bitcoin Taproot Wizards đã ra mắt bộ sưu tập NFT mới mang tên Quantum Cats, thu hút sự chú ý lớn từ cộng đồng. Dù cái tên OP_CAT không liên quan đến loài «mèo» như chúng ta vẫn nghĩ, nhưng Taproot Wizard lại sử dụng hình ảnh con mèo để phát hành NFT mang tên Quantum Cats, tận dụng văn hóa meme nhằm tạo hiệu ứng truyền thông cho OP_CAT.
OP_CAT, một opcode từng bị loại bỏ khỏi ngôn ngữ script của Bitcoin, hiện đang được đưa trở lại bàn thảo. Một số nhà phát triển Bitcoin muốn «hồi sinh» opcode này bằng cách thông qua một đợt nâng cấp mềm chỉ với 13 dòng mã, nhằm mở đường cho việc triển khai hợp đồng thông minh trên Bitcoin. Nhờ sự thúc đẩy từ các lập trình viên và chiến dịch truyền thông dựa trên hình ảnh con mèo, chủ đề OP_CAT đã đạt đến đỉnh cao về độ nóng và mức độ tranh luận.

«Hồi sinh» opcode bị Satoshi Nakamoto xóa bỏ
Opcode (mã thao tác), còn gọi là lệnh hoặc hàm, là thành phần cơ bản cấu thành ngôn ngữ script của Bitcoin. Trong quá khứ, vì lo ngại về những lỗ hổng tiềm tàng trong việc triển khai client, một số opcode nhất định trong phiên bản đầu tiên của Bitcoin đã bị loại bỏ, và OP_CAT là một trong số đó.
Ban đầu, OP_CAT là một phần của tập lệnh chính thức Bitcoin, cho phép thực hiện thao tác nối chuỗi, ghép hai phần tử thành một. Tuy nhiên, do phát hiện ra lỗi nghiêm trọng trong các opcode như OP_LSHIFT có thể khiến bất kỳ nút Bitcoin nào cũng bị sập, đồng thời lo ngại rằng OP_CAT có thể dẫn đến sự bùng nổ theo cấp số nhân số lượng phần tử trên ngăn xếp, gây ra việc sử dụng bộ nhớ tăng theo cấp số mũ so với kích thước script.
Do đó, vì lý do thận trọng, Satoshi Nakamoto đã loại bỏ OP_CAT vào ngày 15 tháng 8 năm 2010. Những opcode bị loại bỏ này thường được gọi là «bị cấm», tuy nhiên cách nói này không hoàn toàn chính xác, bởi chúng đã bị xóa sổ hoàn toàn khỏi giao thức, khiến bất kỳ ai dùng Bitcoin đều không thể sử dụng những opcode này.
Vào tháng 10 năm 2023, nhà phát triển Bitcoin Core Ethan Heilman và kỹ sư phần mềm trưởng của Botanix Labs Armin Sabouri đã cùng nhau công bố một bản dự thảo đề xuất cải tiến Bitcoin (BIP) mang tên «OP_CAT», đưa cuộc tranh luận lên một tầm cao mới.
Bản dự thảo này chỉ gồm 13 dòng mã ngắn gọn, nhưng mang chức năng rõ ràng và trực quan, định nghĩa một opcode tapscript mới cho phép nối hai giá trị trên ngăn xếp. Ý tưởng triển khai mã này rõ ràng bắt nguồn từ OP_CAT nguyên bản từng bị xóa bỏ.

Điều kiện «hồi sinh» đã chín muồi
Tại sao một opcode từng bị Satoshi Nakamoto loại bỏ lại giờ đây lại có nhà phát triển mong muốn phục hồi? Phần «lý do» trong bản BIP này đã giải thích chi tiết: điều này chủ yếu dựa trên cân nhắc về việc sử dụng bộ nhớ. OP_CAT có thể khiến lượng bộ nhớ sử dụng khi xây dựng script tăng theo cấp số mũ so với kích thước script. Cụ thể, chỉ cần một script đơn giản đẩy một giá trị 1 byte vào ngăn xếp, sau đó dùng OP_DUP để sao chép, rồi nối lại 40 lần bằng OP_CAT, có thể khiến giá trị trên ngăn xếp phình to vượt quá 1TB.
Dù vậy, theo thời gian và sự phát triển công nghệ, vấn đề này không còn là rào cản. Trong kiến trúc tapscript, một quy tắc rõ ràng đã được thiết lập: giới hạn chặt chẽ kích thước mỗi phần tử trên ngăn xếp dưới 520 byte. Thay đổi này hiệu quả giải quyết vấn đề sử dụng bộ nhớ mà OP_CAT có thể gây ra, mở ra khả năng «hồi sinh» và tích hợp nó.
Rõ ràng, OP_CAT đang được tái thảo luận và xem xét phục hồi vì tiềm năng giá trị trong việc xây dựng các script phức tạp và mạnh mẽ hơn. Ngoài ra, một số yếu tố và thay đổi đã thỏa mãn điều kiện «hồi sinh», bao gồm:
1. Nhu cầu về hợp đồng thông minh và giao thức cao cấp: Khi hệ sinh thái Bitcoin phát triển, nhu cầu về các hợp đồng thông minh và giao thức phức tạp hơn gia tăng. OP_CAT, bằng cách cho phép kết hợp các đối tượng trên ngăn xếp, làm tăng tính biểu đạt và chức năng của tapscript. Ví dụ, nó có thể dùng để xây dựng và đánh giá cây Merkle và các cấu trúc dữ liệu băm khác, hỗ trợ chữ ký cây, chữ ký Lamport chống lượng tử, hợp đồng phi từ chối, ví lưu ký, v.v.
2. Các ví dụ thành công trên các chuỗi khác: Một số phân nhánh Bitcoin, như Bitcoin Cash và sidechain Liquid, đã bật lại OP_CAT và dùng nó để tạo và quản lý token, kênh thanh toán, cũng như phương pháp nhúng và truy xuất dữ liệu trên blockchain. Điều này chứng tỏ rằng trong môi trường và giới hạn phù hợp, OP_CAT có thể được sử dụng an toàn và hiệu quả.
3. Khám phá an toàn lượng tử: Một số nghiên cứu đề xuất rằng nếu có thể sử dụng các thao tác như OP_CAT kết hợp với các công nghệ như chữ ký Lamport, có thể xây dựng giao dịch và giao thức Bitcoin an toàn trước máy tính lượng tử. Việc khám phá này có giá trị tiềm năng trong việc nâng cao an ninh tương lai của hệ thống Bitcoin.
4. Sự phát triển của cộng đồng và công nghệ: Sự phát triển liên tục của cộng đồng và công nghệ Bitcoin thúc đẩy việc xem xét lại và đánh giá các quyết định trước đây. Với hiểu biết sâu sắc hơn về giao thức Bitcoin và sự xuất hiện của công nghệ mới, các tính năng từng bị coi là có vấn đề hoặc không phù hợp có thể tìm thấy ứng dụng an toàn và hữu ích trong bối cảnh mới.
Nâng cấp mềm, đâu dễ dàng gì
Về mặt kỹ thuật, hiếm có đề xuất Bitcoin nào dễ hiểu và tiếp cận như OP_CAT. Tuy nhiên, việc kích hoạt OP_CAT sẽ thông qua nâng cấp mềm bằng cách định nghĩa lại opcode OP_SUCCESS126 – rõ ràng đây không phải chuyện dễ dàng.
Nhìn lại lần nâng cấp mềm gần nhất của Bitcoin diễn ra ba năm trước, khi Taproot được kích hoạt, đã mở đường cho sự ra đời của Ordinals.
Cộng đồng Bitcoin rất coi trọng sự đồng thuận và minh bạch. Mọi thay đổi mã lớn đều được thảo luận và kiểm tra rộng rãi trong cộng đồng, kể cả các đợt nâng cấp mềm. Để một đoạn mã được hợp nhất vào kho mã Bitcoin, cần trải qua một quy trình nghiêm ngặt và chi tiết, đảm bảo chất lượng đề xuất và sự đồng thuận của cộng đồng. Các bước chính trong quy trình này bao gồm:
1. Viết đề xuất và mã: Trước tiên, nhà phát triển cần viết một tài liệu đề xuất chi tiết, mô tả rõ động cơ, chi tiết kỹ thuật, đánh giá tác động, cũng như các vấn đề hoặc thách thức tiềm tàng.
2. Thảo luận cộng đồng: Sau khi đề xuất mã được gửi đến cộng đồng Bitcoin, các thành viên (gồm nhà phát triển, thợ đào, nhà đầu tư và người dùng) sẽ thảo luận và xem xét. Giai đoạn này rất quan trọng để đảm bảo tính khả thi và thu thập phản hồi.
3. Sửa đổi và cải tiến: Dựa trên phản hồi từ cộng đồng, tác giả có thể cần sửa đổi và cải thiện đề xuất.
4. Bỏ phiếu, đạt đồng thuận: Với các cải tiến quan trọng (đặc biệt liên quan đến thay đổi giao thức Bitcoin), cần đạt được mức độ đồng thuận nhất định từ cộng đồng. Thường yêu cầu sự ủng hộ từ thợ đào, họ phải thể hiện bằng cách bao gồm tín hiệu cụ thể trong khối họ khai thác.
5. Triển khai mã: Khi đạt đồng thuận, mã sẽ được đội ngũ nhà phát triển Bitcoin Core xem xét. Bước này đảm bảo chất lượng và an toàn của mã.
6. Hợp nhất vào kho mã: Sau khi được duyệt, mã sẽ được hợp nhất vào kho mã chính thức của Bitcoin.
7. Triển khai và kích hoạt: Mã mới cần được thợ đào và người vận hành nút cập nhật vào hệ thống của họ. Với các thay đổi ở tầng giao thức, thường có ngưỡng kích hoạt – chỉ khi đủ nhiều người tham gia mạng nâng cấp lên phiên bản mới thì cải tiến mới có hiệu lực.
Rõ ràng, việc thực hiện nâng cấp mềm OP_CAT vẫn ở giai đoạn rất sơ khai. Kể từ khi công bố bản dự thảo BIP chưa đầy bốn tháng, hiện tại thậm chí mã BIP vẫn chưa được xác định, vẫn đang ở giai đoạn một (viết đề xuất và mã) và giai đoạn hai (thảo luận cộng đồng bao gồm nhà phát triển và người dùng).
Các nhà phát triển Bitcoin nói gì?
Chúng ta hãy đặc biệt chú ý đến các cuộc thảo luận gần đây của các nhà phát triển Bitcoin về OP_CAT.
Mặc dù opcode OP_CAT đã bị xóa, nhưng tiềm năng của nó trong việc thúc đẩy hợp đồng nâng cao và tăng cường ngôn ngữ script Bitcoin vẫn luôn được các nhà phát triển thảo luận lặp đi lặp lại. Ví dụ, khả năng nối các giá trị ngăn xếp được coi là rào cản đối với một số giao thức Bitcoin, chẳng hạn như TumbleBit – nếu hỗ trợ OP_CAT, kích thước giao dịch có thể giảm đáng kể.
Sau khi tổng hợp bản tin Optech và các nội dung liên quan, dưới đây là tóm tắt theo thứ tự thời gian về các cuộc thảo luận của nhà phát triển Bitcoin về opcode OP_CAT.
Năm 2019
Một trong những người khởi xướng bản dự thảo BIP «OP_CAT» này, Ethan Heilman, vào tháng 10 năm 2019 đã bày tỏ trong email rằng ông hiểu tại sao nó bị loại bỏ – vì tình hình script lúc đó rất nghiêm trọng – nhưng ông nhấn mạnh rằng giá trị của OP_CAT như một opcode là không thể xem nhẹ: «Hiện tại, hầu hết các giao thức muốn xây dựng trên nền tảng Bitcoin đều gặp phải một giới hạn: các giá trị ngăn xếp không thể được nối lại. Là một nhà nghiên cứu, nếu tôi gặp phải hạn chế này, rất có thể nó cũng đang cản trở sự tiến bộ của người khác. Nếu tôi có thể dùng phép màu để bật lại một trong các opcode bị cấm, tôi sẽ chọn OP_CAT. Tất nhiên, kèm theo một điều kiện: kích thước mỗi giá trị nối phải bị giới hạn dưới 64 byte hoặc ít hơn.»

Andrew Poelstra là một nhân vật không thể bỏ qua trong các cuộc thảo luận về OP_CAT. Vào ngày 30 tháng 1 năm 2021, ông viết một bài báo mang tên «CAT and Schnorr Tricks I» gây nên một làn sóng thảo luận về OP_CAT. Andrew Poelstra là Giám đốc Nghiên cứu tại Blockstream, đồng thời là một nhà phát triển script mật mã Bitcoin kỳ cựu, có ảnh hưởng lớn trong ngành.
Trong bài viết, Andrew Poelstra giới thiệu: «OP_CAT giúp kết hợp hai phần tử trong ngăn xếp và đẩy kết quả về lại ngăn xếp. Chức năng này có thể dùng để lắp ráp nhiều phần tử nhỏ thành một phần tử lớn, hoặc tách một phần tử lớn thành nhiều phần tử nhỏ. CHECKSIGFROMSTACK (CSFS) là một opcode chưa từng tồn tại trong Bitcoin, cho phép người dùng xác minh chữ ký trên dữ liệu tùy ý, khác với opcode CHECKSIG chỉ có thể xác minh chữ ký giao dịch.»
Quan trọng hơn, ông chỉ ra rằng việc kết hợp OP_CAT với CHECKSIGFROMSTACK có thể cung cấp một phương pháp nội suy giao dịch tinh tế.

Ghi chú: Nội suy giao dịch (transaction introspection) là khả năng kiểm tra và phân tích các thành phần của chính giao dịch đó trong script Bitcoin. Đơn giản hơn, tức là cho phép script «hiểu» và xử lý thông tin chi tiết của giao dịch đang được xử lý, ví dụ như kiểm tra nội dung đầu ra, số tiền hoặc chữ ký cụ thể. Như vậy, script có thể phản ứng một cách thông minh và chi tiết hơn dựa trên nội dung cụ thể của giao dịch.
Người dùng cung cấp toàn bộ dữ liệu giao dịch lên ngăn xếp, script dùng OP_CAT đóng gói dữ liệu này thành một mục duy nhất, băm lại, rồi truyền cho CHECKSIGFROMSTACK để xác minh chữ ký trên dữ liệu. Sau đó, truyền cùng chữ ký và khóa cho CHECKSIG. Nếu cả hai lần xác minh đều thành công, chứng tỏ dữ liệu giao dịch do người dùng cung cấp đúng là thật. Như vậy, script có thể trực tiếp sử dụng dữ liệu này để thực hiện mọi kiểm tra cần thiết cho hợp đồng.
Ảnh hưởng của Andrew Poelstra và ý tưởng trong bài viết này đã thu hút sự chú ý của các nhà phát triển Bitcoin, và trong cuộc họp tuần đó, đã có nhiều thảo luận về việc kết hợp các opcode này và việc thay đổi nhỏ trong ngôn ngữ script sau khi kích hoạt taproot có thể nâng cao tính linh hoạt của hợp đồng như thế nào.
Khoảng hai tuần sau khi bài «CAT and Schnorr Tricks I» được đăng, Andrew Poelstra tiếp tục đăng bài thứ hai «CAT and Schnorr Tricks II», trong đó ông trình bày thêm nhiều chi tiết và suy nghĩ của mình:
Vào tháng 5 năm 2019, nhà phát triển Bitcoin Jeremy Rubin đã đề xuất opcode CHECKOUTPUTSHASHVERIFY cho Bitcoin, nhằm thực hiện một loại hợp đồng thông minh cơ bản và có giới hạn, tránh các rủi ro kỹ thuật và xã hội trong các thiết kế hợp đồng thông minh trước đó. Opcode này sau đó được thay thế bởi SECURETHEBAG, rồi lại bị CHECKTEMPLATEVERIFY thay thế, và CHECKTEMPLATEVERIFY chính thức trở thành đề xuất cải tiến Bitcoin BIP 0119 vào tháng 1 năm 2020.
Đồng thời, Russell O'Connor đề nghị bổ sung trực tiếp hai opcode CHECKSIGFROMSTACK và OP_CAT vào Bitcoin để hỗ trợ các hợp đồng thông minh không bị giới hạn như đề xuất của Rubin. Dù đề xuất này gặp phải một số phản đối và thảo luận dần lắng xuống, chủ yếu do hiệu quả thấp của các hợp đồng thông minh kiểu CAT+CHECKSIG, và ấn tượng tiêu cực lâu dài của cộng đồng về các hợp đồng thông minh phổ quát.
Ban đầu, Andrew Poelstra cũng không muốn ủng hộ các chức năng hợp đồng thông minh trên Bitcoin. Tuy nhiên, vào mùa thu năm 2019, một cuộc trao đổi riêng với Ethan Heilman đã thay đổi suy nghĩ của ông. Ethan Heilman chỉ ra rằng mặc dù có lo ngại, nhưng thực tế các hợp đồng thông minh bị coi là có hại có thể được thực hiện qua CHECKMULTISIG, và những hợp đồng này do thiếu sự công nhận và tính khả dụng nên thực tế không được ví hay người dùng chấp nhận. Để chứng minh điều này, Ethan Heilman đã thách thức trên mạng xã hội, khuyến khích mọi người đưa ra các hợp đồng thông minh «tối tăm» khả thi, nhưng đến nay chưa ai thành công.
Vì vậy, Andrew Poelstra bắt đầu suy nghĩ rằng nỗi sợ về hợp đồng thông minh có thể đã bị thổi phồng. Bài viết cũng cho rằng, dù có lo ngại, hợp đồng thông minh là điều không thể tránh khỏi trong sự phát triển của Bitcoin, và khuyến khích tiếp tục khám phá khả năng tạo hợp đồng thông minh bằng OP_CAT – một opcode không chuyên dụng.
Năm 2021
Tiếp theo là bài viết của Jeremy Rubin vào ngày 6 tháng 7 năm 2021, trình bày về OP_CAT từ góc độ an toàn lượng tử của Bitcoin. Jeremy Rubin không chỉ là nhà phát triển Bitcoin mà còn là người sáng lập Judica, một tổ chức nghiên cứu Bitcoin chuyên phát triển ngôn ngữ lập trình hợp đồng thông minh Sapio cho Bitcoin.
Trong email và bài blog, Jeremy Rubin thảo luận về cách sử dụng opcode OP_CAT và chữ ký Lamport để xác minh Bitcoin trước lượng tử. Tác giả trước tiên nhắc lại một bài viết trước đó, mô tả cách dùng toán học script Bitcoin và chữ ký Lamport để đăng ký giá trị 5 byte. Dù phương pháp này gọn gàng, nhưng nó có giới hạn. Jeremy Rubin đặt ra một câu hỏi: nếu chúng ta có thể ký vào thông tin dài hơn thì sao? Đặc biệt, nếu có thể ký tối đa 20 byte, chúng ta có thể ký một bản tóm tắt HASH160 có thể an toàn trước lượng tử.
Jeremy Rubin tiếp tục khám phá ý nghĩa của việc ký bản tóm tắt HASH160, và giải thích rằng ngay cả khi máy tính lượng tử phá được ECDSA, nó chỉ tiết lộ khóa riêng chứ không làm mất khả năng xác minh nội dung chữ ký thực tế. Vì vậy, tác giả đã tham khảo ý kiến nhà mật mã học Madars Virza và nhận được câu trả lời khẳng định.
Jeremy Rubin chỉ ra rằng, nếu yêu cầu chữ ký ECDSA phải được ký bằng thuật toán chữ ký chứng minh lượng tử, chúng ta sẽ có Bitcoin chứng minh lượng tử. Phương án ký 5 byte trước đó thực tế là một chữ ký Lamport an toàn lượng tử. Nhưng tiếc là, phương pháp này cần ít nhất 20 byte liên tiếp.
Do đó, Jeremy Rubin đề xuất cần một thao tác kiểu OP_CAT. Bài viết nêu rõ OP_CAT không thể nâng cấp mềm trực tiếp vào Segwit v0 vì nó thay đổi ngăn xếp. Vì vậy, để đơn giản, tác giả minh họa cách sử dụng một opcode mới OP_SUBSTRINGEQUALVERIFY, kiểm tra xem một phần chuỗi có bằng nhau hay không thông qua ngữ nghĩa xác minh.
Vào ngày 5 tháng 11 năm 2021, tại hội nghị Bitcoin ở Atlanta, Jeremy Rubin và Andrew Poelstra là diễn giả, đã thảo luận về đề xuất bật lại opcode OP_CAT. Họ cho rằng OP_CAT rất quan trọng trong bối cảnh Bitcoin và nhấn mạnh tiềm năng của nó, đặc biệt trong an toàn lượng tử và tạo hợp đồng thông minh phức tạp. Ví dụ, kết hợp CAT và opcode xác minh chữ ký Schnorr, về lý thuyết có thể tạo hợp đồng thông minh không đệ quy. Loại hợp đồng này có thể đưa trực tiếp băm SHA2 của dữ liệu giao dịch vào ngăn xếp, qua đó có thể áp đặt một số giới hạn nhất định lên các phần của giao dịch.
Cuộc thảo luận cũng đề cập rằng nếu bật lại CAT, có thể khiến Bitcoin trở nên phức tạp hơn ở một số khía cạnh, nhưng đồng thời cũng mở ra các chức năng và khả năng mới. Việc khởi động lại OP_CAT cần được cân nhắc cẩn trọng để tránh các vấn đề trước đây như bùng nổ bộ nhớ.
Năm 2022
Vào ngày 18 tháng 5 năm 2022, trong danh sách email nhà phát triển Bitcoin, trong cuộc thảo luận về việc đưa lại opcode OP_CAT bị loại bỏ khỏi Bitcoin năm 2010, nhà phát triển ZmnSCPxj đề xuất rằng để thực hiện các hợp đồng thông minh đệ quy không thể tránh khỏi, cần kết hợp OP_CAT với các opcode đề xuất như OP_TX, OP_CHECKSIGFROMSTACK (CSFS). Hợp đồng thông minh đệ quy dựa vào quy tắc đồng thuận Bitcoin để đảm bảo rằng tất cả Bitcoin nhận được bởi hợp đồng chỉ có thể được chi tiêu trong cùng hợp đồng đó.
Hợp đồng thông minh đệ quy phụ thuộc vào kỹ thuật nội suy giao dịch, tức là opcode có thể phân tích một phần của giao dịch thực thi opcode đó. Các opcode hiện tại cung cấp khả năng nội suy rất hạn chế. Để tạo hợp đồng đệ quy, cần đảm bảo đầu ra trước và đầu ra tiếp theo giống nhau. Do đó, hoặc đầu ra trước, hoặc đầu ra tiếp theo, hoặc cả hai, phải được xây dựng động từ các thành phần của chúng – đó là lý do tại sao cần CAT hoặc cấu trúc tương tự để thực hiện hợp đồng đệ quy.
Nadav Ivgi chỉ ra rằng khi tạo hợp đồng đệ quy, vẫn cần CAT để giải quyết vấn đề băm, nhưng điều này có nghĩa là các chức năng như CTV và APO tập trung vào nội suy đầu ra cũng có thể kết hợp với CAT để tạo hợp đồng đệ quy. Ivgi cho rằng khi kết hợp với chức năng taproot, việc xác minh đầu ra trước bằng đầu ra tiếp theo sẽ giúp viết script hợp đồng thông minh dễ dàng hơn, và cung cấp hai liên kết ví dụ về hợp đồng đệ quy.
ZmnSCPxj đồng ý với phân tích của Ivgi, và nhắc lại mối lo ngại của ông về rủi ro khi bật hợp đồng đệ quy trên Bitcoin, mặc dù trong bài viết sau đó ông cũng chỉ ra rằng hợp đồng đệ quy có thể an toàn vì thực tế chúng không hoàn chỉnh Turing. Russell O'Connor trích dẫn bài viết của Andrew Poelstra, mô tả cách CAT bản thân nó kết hợp với các chức năng Bitcoin hiện có đã đủ để tạo hợp đồng không đệ quy, và về lý thuyết, nếu được thêm lại vào Bitcoin, có thể tự tạo được hợp đồng đệ quy.
Năm 2023
Tháng 1, Anthony Towns ra mắt Bitcoin Inquisition, một phần mềm sao chép Bitcoin Core, được thiết kế chạy trên signet mặc định, nhằm thử nghiệm các đề xuất nâng cấp mềm và các thay đổi giao thức lớn khác. Tính đến cuối năm 2023, Bitcoin Inquisition đã hỗ trợ nhiều đề xuất, ngoài ra, các PR (yêu cầu kéo) nhằm bổ sung OP_CAT, OP_VAULT và giới hạn giao dịch 64 byte đã được gửi vào kho mã của nó, dự kiến sẽ mở rộng thêm chức năng nền tảng thử nghiệm này.
Vào ngày 23 tháng 8 năm 2023, trong danh sách email Lightning-Dev, Thomas Voegtlin đưa ra một ý tưởng về bằng chứng gian lận cho trạng thái sao lưu hết hạn. Voegtlin chỉ ra rằng nếu Bitcoin thêm opcode OP_CHECKSIGFROMSTACK (CSFS) và OP_CAT bằng nâng cấp mềm, thì có thể sử dụng bằng chứng gian lận này trên chuỗi. Đề xuất này gây ra nhiều thảo luận, Peter Todd chỉ ra cơ chế cơ bản là phổ quát, không chỉ giới hạn ở LN, có thể hữu ích trong nhiều giao thức, dù ông cũng nêu ra một cơ chế đơn giản hơn, nhưng ở đây sẽ không đi sâu.
Đến tháng 10, Rusty Russell nghiên cứu về các hợp đồng thông minh phổ quát trong ngôn ngữ script Bitcoin. Đồng thời, điều rất quan trọng là, Ethan Heilman và Armin Sabouri đã cùng công bố một bản dự thảo BIP, đề xuất bổ sung opcode OP_CAT, dùng để nối hai phần tử trên ngăn xếp. Hai chủ đề này tiếp tục được thảo luận đến tháng 11.
Năm 2024
Thời gian trôi đến tháng 1 năm 2024, Quantum Cats thực sự đã nâng cuộc thảo luận về BIP OP_CAT và tiến trình Bitcoin lên một tầm cao mới.
Trong tương tác với cộng đồng, nhà phát triển Bitcoin Core Ava Chow từng nói: «Tôi không nghĩ CTV là sự đồng thuận sơ bộ. Tôi nghĩ thực tế các đề xuất hợp đồng thông minh tổng quát hơn lại gần hơn, ví dụ như txhash hay CAT. Tuy nhiên, tôi không theo dõi sát các cuộc thảo luận.»

Theo số lần nộp, tính đến nay, Ava Chow (@achow101) đứng thứ 5 trong bảng xếp hạng đóng góp mã cho Bitcoin Core, với 1292 lần nộp mã, đồng thời là một trong số ít người có quyền hợp nhất mã vào Bitcoin. Vì vậy, ảnh hưởng của cô trong cộng đồng phát triển rất lớn.
«Tôi không đang đề xuất chúng ta kích hoạt OP_CAT. Tôi ủng hộ OP_CAT vì nó là opcode có khả năng đạt đồng thuận rất cao. Nếu bạn chưa hiểu rõ tình hình OP_CAT, tôi đã tóm tắt trong hình ảnh này.» Đó là những gì Eric Wall (@ercwl), đồng sáng lập Taproot Wizard, nói.

Tuy nhiên, Ava Chow dường như không hoàn toàn tán thành việc triển khai OP_CAT: «Như tôi đã nói, tôi không nghĩ bất kỳ đề xuất hợp đồng thông minh nào đang ở gần hoặc đạt được sự đồng thuận sơ bộ. Tôi nghĩ chúng ta không nên cố gắng kích hoạt bất kỳ cái nào trong số đó.»
Mười dòng mã, biến Bitcoin thành nền tảng hợp đồng thông minh
Như Eric Wall (@ercwl), đồng sáng lập Taproot Wizard, nói: «Mọi người không nhận ra, nhưng OP_CAT thực tế là một trong những khối xây dựng zkrollup trên Bitcoin.»

Việc đưa lại OP_CAT cung cấp cho Bitcoin một công cụ mạnh mẽ, có thể hỗ trợ các dự án như BitVM. Khái niệm gần đây của BitVM – xác minh tính toán tùy ý trên Bitcoin – sẽ trở nên đơn giản và hiệu quả hơn nhờ OP_CAT. Hệ sinh thái Bitcoin có thể tạo các hợp đồng thông minh phổ quát và biểu đạt hơn.
Thông qua OP_CAT, có thể thực hiện các hợp đồng thông minh – đặt điều kiện tiên quyết cho đầu ra Bitcoin cụ thể. Điều này không chỉ mở ra cánh cửa cho các phương pháp mở rộng mới như Ark của Blockstream, mà còn hỗ trợ nhiều phương pháp đổi mới khác dựa trên hợp đồng thông minh. Hơn nữa, điều này đánh dấu Bitcoin không chỉ là một mạng thanh toán, mà còn có thể trở thành một nền tảng tính toán đa năng và có thể mở rộng.
Dù Eric Wall, đồng sáng lập Taproot Wizard, cảm thấy hào hứng với khái niệm đằng sau BitVM, nhưng ông cho rằng đề xuất này có thể là «ngõ cụt kỹ thuật» của Bitcoin do chi phí lớn và chu kỳ triển khai dài. Ông lo ngại BitVM có thể làm xao nhãng cộng đồng, cản trở sự phát triển thực sự. Tuy nhiên, việc đề xuất BitVM vẫn cho thấy tinh thần khám phá và đổi mới sôi nổi trong lĩnh vực công nghệ blockchain và hợp đồng thông minh.
Thực tế, bản thân đội dự án Taproot Wizard cũng đang nỗ lực thực hiện giải pháp lớp hai trên Bitcoin; trong một buổi trò chuyện Space trước đó, họ cho biết khoản tài trợ 7,5 triệu USD đã hoàn thành sẽ được dùng để nghiên cứu các giải pháp mở rộng Bitcoin.
Do đó, việc nâng cấp mềm OP_CAT sẽ là bước đi quan trọng đối với họ. Eric Wall từng là thành viên hội đồng StarkNet Foundation, ông rất quan tâm đến việc xây dựng tài chính phi tập trung trên lớp thanh toán không cần giấy phép, vì vậy khi Ethereum bắt đầu xuất hiện vào năm 2019, ông đã tự nhiên bị lĩnh vực DeFi trên Ethereum thu hút.
Khi vào năm 2019 rõ ràng Ethereum và các blockchain khác có thể mở rộng bằng zk-Rollups hoặc bằng chứng gian lận lạc quan, thì việc khám phá DeFi trên Bitcoin gần như đã bị bỏ hoàn toàn. Với các câu hỏi như «khả thi của việc áp dụng mở rộng zk-Rollup lên Bitcoin», Wall chuyển sang ủng hộ DeFi trên Ethereum. Nhưng cuối cùng, ông đang nỗ lực mang hệ thống và lợi thế công nghệ này trở lại Bitcoin.
Ngoài ra, trong chủ đề thảo luận về OP_CAT trên diễn đàn bitcointalk, Carter Feldman (@cmpeq), người sáng lập dự án QED, được hỏi về kế hoạch sử dụng opcode này trong script Bitcoin, và liệu anh đã tính toán trung bình số byte của ngăn xếp chứng cứ và chi phí phát sinh chưa.
Carter Feldman cho biết anh nhận thức được điều này có thể hơi tốn kém, nhưng giải thích rằng bằng chứng Merkle trong dự án của anh chủ yếu dùng để xây dựng script khóa không tin cậy hoặc hệ thống neo, như một phần của lớp hai zk trên Bitcoin. Hệ thống này nhằm chứng minh rằng, với một gốc cây rút tiền nhất định (là đầu vào công khai của bằng chứng kiến thức không), có thể rút một lượng Bitcoin nhất định đến địa chỉ cụ thể.
Để giải quyết vấn đề chi phí, anh ấy đề cập đây sẽ là một biện pháp. Anh hình dung người dùng thông thường có thể mua wBTC trên lớp hai bằng cách để người bán BTC được đóng gói khóa token của họ trên L2 trong một khoảng thời gian, trong thời gian đó người mua phải chứng minh họ đã thanh toán cho người bán trên L1 Bitcoin. Họ biết rằng nếu muốn, họ luôn có thể đổi lại Bitcoin một cách không tin cậy. Đồng thời, một vài nhà cung cấp thanh khoản lớn sẽ là bên thực sự trao đổi giữa wBTC và BTC, và có thể thu một khoản phí nhỏ từ các người dùng nhỏ muốn mua wBTC từ họ hoặc chuyển ngược lại Bitcoin.
Tóm lại, đề xuất BIP OP_CAT này chỉ với 13 dòng mã có thể giúp xây dựng hợp đồng thông minh trên Bitcoin, nhưng cụ thể với từng dự án, sẽ còn rất nhiều thảo luận và thử nghiệm chi tiết.
Văn hóa meme thúc đẩy tiến bộ công nghệ
Thành viên nhóm TaprootWizards Rijndael (@rot13maxi) trên mạng xã hội chia sẻ về các cơ chế phức tạp khác nhau mà họ sử dụng để tạo nghệ thuật. Để đạt được mục tiêu này, họ dựa vào nhiều công nghệ, bao gồm đệ quy thứ tự, giao dịch đã ký trước, mật mã đối xứng và quản lý tải phía client. Trong quá trình sáng tạo nghệ thuật, họ đặc biệt chọn sử dụng giao dịch đã ký trước để thực hiện thao tác, minh họa cách sử dụng các giá trị băm giao dịch đã cam kết trước với các hợp đồng thông minh như OP_CAT hay CTV.
Tuy nhiên, Armin Sabouri đã đưa ra bình luận mỉa mai: «Lượng mã và nỗ lực công nghệ bỏ ra để tạo một bộ sưu tập NFT liên tục phát triển có thể gấp 100 lần so với công việc cần thiết để bật lại một opcode.»

OP_CAT được coi là một opcode đơn giản và dễ hiểu, có quan điểm cho rằng nó có thể khiến Bitcoin trở nên «an toàn trước lượng tử» bằng cách ký chữ ký ECDSA. Quan điểm này được một số người ủng hộ và đã thúc đẩy Taproot Wizard ra mắt chiến dịch quảng bá NFT Quantum Cats (Mèo lượng tử) để nâng cao nhận thức về OP_CAT.
Tuy nhiên, việc dùng văn hóa meme để thúc đẩy công nghệ không chỉ dừng lại ở OP_CAT.
Bị truyền cảm hứng bởi Quantum Cats và mức giá 0,1 BTC của nó, và có lẽ cũng mang theo một phần bất bình với mức giá cao này, cộng đồng OP_CTV cũng ra mắt một meme sandwich mang tên #rubinsreubens để quảng bá công nghệ OP_CTV.

Ban đầu, meme sandwich này là một phản hồi hài hước trước Quantum Cats và meme của nó. Tuy nhiên, nó thực sự rất hiệu quả, vì giống như CTV, nó thêm cấu trúc phân cấp – bạn có thể tạo bao nhiêu tầng tùy ý trên «chiếc sandwich» này.
Meme sandwich này thu hút sự chú ý của nhiều người. Meme là thú vị, có thể dùng để thể hiện sự ủng hộ, nhưng việc hiểu được ý nghĩa đằng sau cũng rất quan trọng. Mục đích của #rubinsreubens là nâng cao hiểu biết về op_ctv, lnhance và các opcode BTC mới, cũng như các đề xuất nâng cấp mềm nhằm bật hợp đồng thông minh.

Các nguyên nhân tiềm tàng khiến OP_CAT thất bại
Chào mừng tham gia cộng đồng chính thức TechFlow Nhóm Telegram:https://t.me/TechFlowDaily Tài khoản Twitter chính thức:https://x.com/TechFlowPost Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News













