Tác giả: Jeffrey HU & Harper LI, HashKey Capital
Gần đây Đã có một làn sóng thảo luận trong cộng đồng Bitcoin về việc kích hoạt lại các opcode như OP_CAT. Taproot Wizard cũng đã thu hút rất nhiều sự chú ý khi tung ra NFT Quantum Cats và tuyên bố đã nhận được số BIP-420. Những người ủng hộ tuyên bố rằng việc kích hoạt OP_CAT có thể kích hoạt "giao ước", hợp đồng thông minh hoặc khả năng lập trình của Bitcoin.
Nếu bạn nhận thấy từ "hạn chế" và thực hiện tìm kiếm một chút, bạn sẽ thấy rằng đây là một từ khác Một cái lỗ thỏ lớn. Các nhà phát triển đã thảo luận trong nhiều nămNgoài OP_CAT, còn có các kỹ thuật như OP_CTV, APO, OP_VAULT, v.v. để triển khai các điều khoản hạn chế.
Vậy, những "hạn chế" của Bitcoin là gì? Tại sao nó lại thu hút được nhiều sự chú ý và thảo luận của các nhà phát triển trong vài năm qua? Loại khả năng lập trình nào có thể đạt được với Bitcoin? Nguyên tắc thiết kế đằng sau nó là gì? Bài viết này cố gắng đưa ra một giới thiệu và thảo luận tổng quan.
"Hạn chế" là gì
Giao ước, bản dịch tiếng Trung A "điều khoản hạn chế", đôi khi được dịch là "hợp đồng", là một cơ chế có thể đặt ra các điều kiện cho các giao dịch Bitcoin trong tương lai.
Tập lệnh Bitcoin hiện tại cũng chứa các điều kiện hạn chế, chẳng hạn như nhập chữ ký hợp pháp và gửi tập lệnh Tuân thủ, v.v. Nhưng miễn là người dùng có thể mở khóa nó, anh ta có thể sử dụng UTXO ở bất cứ nơi nào anh ta muốn.
Điều khoản hạn chế là đưa ra nhiều hạn chế hơn dựa trên cách giải quyết hạn chế này, Ví dụ: hạn chế chi tiêu sau UTXO là để đạt được hiệu quả tương tự như "quỹ chuyên dụng" hoặc các điều kiện đầu vào khác được gửi trong giao dịch, v.v. Phân tích cuối cùng làcác điều khoản hạn chế có thể trực tiếp hạn chế việc chi tiêu thêm cho các giao dịch trong tập lệnh Bitcoin, từ đó đạt được các quy tắc giao dịch tương tự như hiệu ứng hợp đồng thông minh.
Nói đúng hơn, tập lệnh Bitcoin hiện tại cũng có một số hạn chế nhất định. Ví dụ: khóa thời gian dựa trên opcode được triển khai thông qua trường nLock hoặc nSequence của giao dịch xem xét nội tâm. Có giới hạn thời gian trước khi giao dịch được chi tiêu, nhưng về cơ bản nó được giới hạn trong giới hạn thời gian.
Vậy tại sao các nhà phát triển và nhà nghiên cứu lại thiết kế những biện pháp kiểm tra hạn chế này? Bởi vì các điều khoản hạn chế không chỉ là những hạn chế vì mục đích hạn chế mà còn đặt ra các quy tắc để thực hiện giao dịch. Bằng cách này, người dùng chỉ có thể thực hiện các giao dịch theo các quy tắc đặt trước để hoàn thành quy trình kinh doanh được xác định trước.
Vì vậy, điều phản trực giác là điều này có thể mở ra nhiều kịch bản ứng dụng hơn.
Kịch bản ứng dụng giao ước
Đảm bảo hình phạt cho việc đặt cược
Một trong những ví dụ trực quan nhất về các điều khoản hạn chế là Giao dịch Slash đặt cược Bitcoin của Babylon đang được xử lý.
Quy trình đặt cược Bitcoin của Babylon là người dùng gửi tài sản BTC của họ đến một tập lệnh đặc biệt trên chuỗi chính. Các điều kiện chi tiêu bao gồm hai Loại: <. /p>
·Kết thúc có hậu: Sau một khoảng thời gian nhất định, người dùng có thể mở khóa bằng chữ ký của mình. Tức là hoàn tất quá trình hủy đặt cược
·Kết thúc xấu: Nếu người dùng ở trong PoS có bảo mật được Babylon thuê Nếu có các hành vi xấu như ký hai lần trên chuỗi, phần tài sản này có thể được mở khóa thông qua EOTS (chữ ký một lần có thể trích xuất, chữ ký có thể trích xuất một lần) và vai trò thực thi trong mạng sẽ bị ép buộc gửi một phần nội dung đến địa chỉ đang ghi (dấu gạch chéo) )
< /p>
(Nguồn: Đặt cược Bitcoin: Mở khóa 21 triệu Bitcoin để đảm bảo nền kinh tế bằng chứng cổ phần)
Hãy chú ý đến việc "gửi bắt buộc" ở đây, điều đó có nghĩa là ngay cả khi UTXO này có thể được mở khóa, tài sản không thể được gửi đi bất cứ nơi nào khác một cách tùy tiện và chỉ có thể được gửi bị đốt cháy. Điều này sẽ đảm bảo rằng những người dùng có ác ý không thể sử dụng chữ ký đã biết của họ để chuyển tài sản về cho chính họ nhằm thoát khỏi hình phạt.
Nếu chức năng này được triển khai sau khi các hạn chế như OP_CTV được triển khai, các mã opcode như OP_CTV có thể được thêm vào nhánh "kết thúc xấu" của tập lệnh đặt cược để triển khai những hạn chế.
Trước khi OP_CTV được kích hoạt, Babylon cần sử dụng một phương pháp linh hoạt, do người dùng + ủy ban cùng thực hiện, để mô phỏng hiệu quả của việc thực thi các điều khoản hạn chế.
Kiểm soát tắc nghẽn
Nói chung, Tắc nghẽn đề cập đến khi tỷ lệ xử lý trên mạng Bitcoin rất cao và có nhiều giao dịch tích lũy hơn trong nhóm giao dịch đang chờ được đóng gói. Do đó, nếu người dùng muốn xác nhận giao dịch nhanh chóng, họ cần tăng phí xử lý.
Tại thời điểm này, nếu người dùng phải gửi nhiều giao dịch cho nhiều người nhận thanh toán, họ sẽ phải tăng phí xử lý và chịu chi phí cao hơn. Đồng thời, nó cũng sẽ đẩy tốc độ xử lý của toàn bộ mạng lên cao hơn nữa.
Nếu có hạn chế, một giải pháp là người gửicam kết thực hiện giao dịch gửi theo đợt trước. Lời hứa này có thể khiến tất cả người nhận tin rằng giao dịch cuối cùng sẽ được thực hiện và họ có thể đợi cho đến khi tỷ lệ xử lý thấp trước khi gửi các giao dịch cụ thể.
Như được minh họa trong hình bên dưới, khi nhu cầu về không gian khối cao, việc thực hiện các giao dịch sẽ trở nên rất tốn kém. Bằng cách sử dụng OP_CHECKTEMPLATEVERIFY, bộ xử lý thanh toán khối lượng lớn có thể tổng hợp tất cả các khoản thanh toán của họ thành một giao dịch O(1) duy nhất để xác nhận. Sau đó, theo thời gian, khi nhu cầu về không gian khối giảm, các khoản thanh toán có thể được thu nhỏ lại từ UTXO đó.
(Nguồn: https://utxos.org/uses/scaling/)
Tình huống này là hạn chế A của OP_CTV trường hợp ứng dụng điển hình được trình bày. Bạn có thể tìm thấy nhiều trường hợp ứng dụng hơn tại https://utxos.org/uses/. Ngoài tính năng kiểm soát tắc nghẽn ở trên, trang còn liệt kê Cược Soft Fork, tùy chọn phi tập trung, Drivechains, Kênh hàng loạt, Kênh không tương tác, Khai thác miễn phí phối hợp không cần tin cậy. Nhóm, kho tiền, giới hạn hợp đồng khóa thời gian băm (HTLCS) an toàn hơn, v.v.
Vault
Vault là bit Nó được thảo luận rộng rãi kịch bản ứng dụng trong các ứng dụng tiền tệ, đặc biệt là trong lĩnh vực các điều khoản hạn chế. Bởi vì hoạt động hàng ngày chắc chắn đòi hỏi sự cân bằng giữa nhu cầu lưu trữ tiền và sử dụng quỹ,Mọi người hy vọng sẽ có một loại ứng dụng lưu trữ vault có thể đảm bảo an toàn cho tiền, ngay cả khi tài khoản bị hack (khóa riêng bị rò rỉ), Bạn cũng có thể hạn chế việc sử dụng tiền.
Dựa trên công nghệ thực hiện các điều khoản hạn chế, các ứng dụng lớp vault có thể được xây dựng tương đối dễ dàng.
Lấy thiết kế của OP_VAULT làm ví dụ: Khi tiêu tiền vào kho tiền, giao dịch cần phải được gửi đến chuỗi trước tiên. Giao dịch này cho biết ý định chi tiêu vault, một "trình kích hoạt" và đặt một điều kiện bên trong nó:
Nếu mọi thứ đều ổn thì giao dịch thứ hai là giao dịch rút tiền cuối cùng. Sau khi chờ N khối, số tiền có thể được chi tiêu tiếp ở bất cứ đâu
Nếu phát hiện giao dịch bị đánh cắp (hoặc bị tấn công bởi một "cuộc tấn công cờ lê" Cưỡng chế ), trước khi giao dịch rút N khối được gửi, nó có thể được gửi ngay đến một địa chỉ an toàn khác (quyền giám sát an toàn hơn cho người dùng)
(Quy trình OP_VAULT, nguồn: BIP-345) p>
Cần lưu ý rằng một ứng dụng vault cũng có thể được xây dựng mà không bị hạn chế, một giải pháp khả thi là sử dụng khóa riêng để chuẩn bị chữ ký để chi tiêu trong tương lai và sau đó hủy khóa riêng. Nhưng vẫn còn nhiều hạn chế. Ví dụ: cần đảm bảo rằng khóa riêng đã bị hủy (tương tự như quy trình thiết lập đáng tin cậy trong bằng chứng không có kiến thức), số tiền và phí xử lý là được xác định trước (vì phải ký trước) nên thiếu linh hoạt.
(OP_VAULT và các quy trình vault được ký trước, nguồn: BIP-345)
Trạng thái mạnh mẽ và linh hoạt hơn các kênh
Có thể coi một cách tổng thể rằng các kênh trạng thái bao gồm Lightning Network có mức độ bảo mật gần như tương tự như chuỗi chính (đồng thời đảm bảo nút có thể quan sát trạng thái mới nhất và có thể xuất bản trạng thái mới nhất lên chuỗi một cách bình thường). Tuy nhiên, sau khi các hạn chế được áp dụng, một số ý tưởng thiết kế kênh trạng thái mới có thể mạnh mẽ hoặc linh hoạt hơn trên Lightning Network. Những cái được biết đến nhiều hơn bao gồm Eltoo, Ark, v.v.
Eltoo (còn gọi là LN-Symmetry) là một trong những ví dụ điển hình hơn. Giải pháp kỹ thuật này đồng âm với "L2" và đề xuất một lớp thực thi cho Lightning Network cho phép mọi trạng thái kênh tiếp theo thay thế trạng thái trước đó mà không cần cơ chế phạt. Do đó, nó cũng có thể tránh được nhu cầu lưu tương tự như Lightning. Các nút mạng. Nhiều trạng thái trước đó để ngăn chặn đối thủ của bạn làm điều ác. Để đạt được hiệu quả trên, Eltoo đã đề xuất phương thức chữ ký SIGHASH_NOINPUT, cụ thể là APO (BIP-118).
Ark nhằm mục đích giảm bớt khó khăn trong thanh khoản đầu vào và quản lý kênh của Lightning Network. Đây là một dạng giao thức tham gia chung. Nhiều người dùng có thể chấp nhận nhà cung cấp dịch vụ làm đối tác trong một khoảng thời gian nhất định và thực hiện các giao dịch UTXO ảo (vUTXO) bên ngoài chuỗi nhưng chia sẻ UTXO trên chuỗi để giảm chi phí. Tương tự như vault, Ark cũng có thể được triển khai trên mạng Bitcoin hiện tại, tuy nhiên, sau khi đưa ra các hạn chế, Ark có thể giảm lượng tương tác cần thiết dựa trên các mẫu giao dịch và đạt được lối thoát đơn phương đáng tin cậy hơn.
Tổng quan về công nghệ của Covenants
Như có thể thấy từ Các ứng dụng trên, điều khoản hạn chế của Covenants giống như một hiệu ứng hơn là một công nghệ nhất định nên có nhiều cách kỹ thuật để thực hiện nó. Nếu được phân loại, nó có thể bao gồm:
Loại:Loại phổ thông, loại đặc biệt
< p style="text-align: left;">
Phương pháp triển khai: Dựa trên Opcode, dựa trên chữ kýĐệ quy:Đệ quy, không đệ quy
Trong số đó, đệ quy có nghĩa là: có một số hạn chế trong việc triển khai và nó cũng có thể được thực hiện thông qua các hạn chế. Bằng cách sử dụng một đầu ra để giới hạn đầu ra tiếp theo, giới hạn được thêm vào có thể vượt quá một giao dịch và đạt đến độ sâu giao dịch cao hơn.
Một số thiết kế mệnh đề hạn chế phổ biến bao gồm:
Việc thiết kế các điều khoản hạn chế trong Giao ước
Có thể thấy từ phần trước giới thiệu, tập lệnh Bitcoin hiện tại chủ yếu giới hạn các điều kiện để mở khóa và không giới hạn cách chi tiêu thêm UTXO. Để thực hiện các hạn chế, chúng ta phải nghĩ ngược lại:Tại sao tập lệnh Bitcoin hiện tại không thể thực hiện các hạn chế của Giao ước?
Lý do chính là do tập lệnh Bitcoin hiện tại không thể đọc được nội dung của giao dịch, tức là "sự xem xét nội tâm" của sự giao dịch .
Nếu chúng tôi có thể triển khai nội quan giao dịch - kiểm tra bất kỳ nội dung nào của giao dịch (bao gồm cả đầu ra), thì chúng tôi có thể triển khai các điều khoản hạn chế.
Do đó, ý tưởng thiết kế các mệnh đề hạn chế chủ yếu tập trung vào cách đạt được sự xem xét nội tâm.
Dựa trên mã và chữ ký
Ý tưởng đơn giản và thô sơ nhất là thêm một hoặc nhiều opcode (tức là một opcode + nhiều tham số hoặc nhiều opcode với các chức năng khác nhau) để đọc trực tiếp nội dung của giao dịch. Đây là ý tưởng dựa trên mã hoạt động.
Một cách suy nghĩ khác là thay vì trực tiếp đọc và kiểm tra nội dung của giao dịch trong tập lệnh, bạn có thể sử dụng hàm băm của nội dung giao dịch - nếu Hàm băm đã được ký, do đó, miễn là OP_CHECKSIG được sửa đổi trong tập lệnh để kiểm tra chữ ký, việc xem xét nội tâm và hạn chế giao dịch có thể được thực hiện gián tiếp. Ý tưởng này dựa trên thiết kế chữ ký. Chủ yếu bao gồm APO và OP_CSFS, v.v.
APO
SIGHASH_ANYPREVOUT (APO) là Một phương pháp chữ ký được đề xuất cho Bitcoin. Cách ký đơn giản nhất là cam kết cả đầu vào và đầu ra của giao dịch, nhưng Bitcoin cũng có một cách linh hoạt hơn, đó là SIGHASH, cam kết có chọn lọc về đầu vào hoặc đầu ra của giao dịch.
Phạm vi chữ ký hiện tại của SIGHASH và các kết hợp của nó cho đầu vào và đầu ra giao dịch (nguồn "Làm chủ Bitcoin, thứ 2"
Như minh họa trong hình trên, ngoại trừ rằng nó áp dụng cho tất cả dữ liệu Ngoài TẤT CẢ, phương thức chữ ký NONE chỉ áp dụng cho tất cả đầu vào chứ không áp dụng cho đầu ra; SINGLE dựa trên điều này và chỉ áp dụng cho đầu ra có cùng số thứ tự đầu vào. được kết hợp và xếp chồng với công cụ sửa đổi ANYONECANPAY. Cuối cùng, nó chỉ áp dụng cho một đầu vào
SIGHASH của APO chỉ ký vào phần đầu ra, không phải phần đầu vào. Các giao dịch được ký ở chế độ APO có thể được đính kèm vào bất kỳ UTXO nào đáp ứng các điều kiện. png">
Tính linh hoạt này là cơ sở lý thuyết để APO triển khai các mệnh đề hạn chế:
Có thể tạo trước một hoặc nhiều giao dịch
Chỉ có thể lấy được một chữ ký bằng cách xây dựng chữ ký từ thông tin của những giao dịch này giao dịch khóa công khai
Vì vậy, mọi tài sản được gửi đến địa chỉ khóa công khai đó chỉ có thể được sử dụng thông qua các giao dịch được tạo trước
Điều đáng lưu ý là vì khóa chung này không có khóa riêng tương ứng nên có thể đảm bảo rằng những tài sản này chỉ có thể được sử dụng thông qua các giao dịch được tạo trước. Sau đó, chúng ta có thể sử dụng các giao dịch được tạo trước này để Chỉ định nơi ở của tài sản để thực hiện các hạn chế
Chúng ta có thể hiểu rõ hơn bằng cách so sánh các hợp đồng thông minh của Ethereum: Thông qua hợp đồng thông minh, chúng ta có thể làm gì. đạt được là chỉ khi vượt qua một số điều kiện nhất định, chúng tôi mới có thể rút tiền từ địa chỉ hợp đồng, thay vì chi tiêu tùy tiện bằng chữ ký EOA. Từ quan điểm này, Bitcoin có thể đạt được hiệu quả này thông qua việc cải tiến cơ chế chữ ký.
Nhưng vấn đề với quy trình trên là có sự phụ thuộc vòng tròn trong tính toán, vì nội dung đầu vào cần phải được biết trước để ký trước và tạo giao dịch .
APO và SIGHASH_NOINPUT Ý nghĩa của việc triển khai phương pháp chữ ký này là nó có thể giải quyết được vấn đề phụ thuộc vòng tròn này. Khi tính toán, bạn chỉ cần biết (nêu rõ) tất cả các giao dịch Chỉ cần xuất ra.
OP_CTV
OP_CHECKTEMPLATEVERIFY (CTV), Đó là BIP-119, áp dụng phương pháp cải tiến Opcode. Nó lấy hàm băm cam kết làm tham số và yêu cầu mọi giao dịch thực thi mã opcode đều chứa một tập hợp đầu ra khớp với cam kết đó. Thông qua CTV, người dùng Bitcoin sẽ được phép giới hạn cách họ sử dụng Bitcoin.
Đề xuất ban đầu được đưa ra dưới tên OP_CHECKOUTPUTSHASHVERIFY (COSHV) và trọng tâm ban đầu của nó là khả năng tạo các giao dịch kiểm soát tắc nghẽn, do đó, rất có sự quan tâm đến những lời chỉ trích về đề xuất cũng tập trung vào thực tế là nó không đủ chung chung và quá cụ thể đối với các trường hợp sử dụng kiểm soát tắc nghẽn.
Trong trường hợp sử dụng kiểm soát tắc nghẽn được đề cập ở trên, người gửi Alice có thể tạo 10 kết quả đầu ra và băm 10 kết quả đầu ra này, đồng thời sử dụng Tóm tắt được tạo để tạo tập lệnh tapleaf chứa COSHV. Alice cũng có thể sử dụng khóa chung của người tham gia để tạo khóa nội bộ Taproot, cho phép họ cộng tác chi tiêu mà không tiết lộ đường dẫn tập lệnh Taproot.
Sau đó, Alice đưa cho mỗi người nhận một bản sao của tất cả 10 kết quả đầu ra để mỗi người có thể xác minh giao dịch thiết lập của Alice. Sau này, khi họ muốn chi tiêu khoản thanh toán, một trong hai người có thể tạo một giao dịch chứa kết quả đầu ra đã hứa.
Trong suốt quá trình, khi Alice tạo và gửi giao dịch thiết lập, Alice có thể gửi giao dịch đó qua các phương thức liên lạc không đồng bộ hiện có, chẳng hạn như email hoặc ổ đĩa đám mây. đầu ra. Điều này có nghĩa là người nhận không cần phải trực tuyến hoặc tương tác với nhau.
(Nguồn: https://bitcoinops.org/en/newsletters/2019/05/29/#proposes-transaction-output-commitments)
Tương tự như APO, địa chỉ cũng có thể được xây dựng dựa trên điều kiện chi tiêu và "khóa" có thể được thực hiện theo nhiều cách khác nhau, bao gồm thêm các khóa khác, khóa thời gian và logic có thể kết hợp.
(Nguồn: https://twitter .com/OwenKemeys/status/1741575353716326835)
CTV đề xuất trên cơ sở này rằng nó có thể kiểm tra xem giao dịch chi tiêu sau khi băm có nhất quán hay không với Đối sánh được xác định sử dụng dữ liệu giao dịch làm chìa khóa để mở khóa "khóa".
Chúng ta có thể mở rộng ví dụ trên với 10 người nhận và người nhận có thể đặt thêm khóa địa chỉ của nó thành đã ký nhưng không phát sóng tx được gửi tới lô địa chỉ người nhận tiếp theo, v.v., tạo thành cấu trúc cây như trong hình bên dưới. Alice có thể thực hiện thay đổi số dư tài khoản liên quan đến nhiều người dùng chỉ bằng cách sử dụng 1 không gian khối utxo trên chuỗi.
Nguồn: https://twitter.com/OwenKemeys/status/1741575353716326835
Và nếu một trong các lá là kênh sét, đó là kho lạnh hay là phương thức thanh toán khác? Khi đó, cây này sẽ mở rộng từ cây chi tiêu một chiều, đa cấp thành cây chi tiêu đa chiều, đa cấp, các kịch bản mà nó có thể hỗ trợ sẽ phong phú và linh hoạt hơn.
Nguồn: https://twitter.com/OwenKemeys/status/1741575353716326835
CTV đã trải qua năm 2019 kể từ khi được đề xuất Nó được đổi tên từ COSHV vào năm 2020, được gán BIP-119 vào năm 2020 và nổi lên như một ngôn ngữ lập trình Sapio để tạo hỗ trợ cho các hợp đồng CTV vào năm 2022 và 23, nó đã nhận được rất nhiều cuộc thảo luận, cập nhật và tranh luận về kế hoạch kích hoạt của mình. từ cộng đồng. Hiện tại, đây vẫn là một trong những đề xuất nâng cấp soft fork được thảo luận rất nhiều trong cộng đồng.
OP_CAT
OP_CAT Như đã giới thiệu ở phần đầu, nó cũng là một đề xuất nâng cấp hiện đang thu hút nhiều sự chú ý thực hiện chức năng nối (concatenante) hai phần tử trong ngăn xếp. Mặc dù có vẻ đơn giản nhưng OP_CAT có thể rất linh hoạt để triển khai nhiều chức năng trong tập lệnh.
Ví dụ trực tiếp nhất là các phép toán liên quan đến cây merkle. Cây Merkle có thể hiểu là hai phần tử đầu tiên được ghép nối rồi sau đó được băm. Hiện tại, có các mã hoạt động băm như OP_SHA256 trong tập lệnh Bitcoin, vì vậy nếu OP_CAT có thể được sử dụng để ghép hai phần tử, thì chức năng xác minh của cây merkle có thể được triển khai trong tập lệnh và ở một mức độ nhất định, xác minh ứng dụng khách nhẹ được cung cấp . khả năng.
Cơ sở triển khai khác cũng bao gồm các cải tiến đối với chữ ký Schnorr: các điều kiện chữ ký chi tiêu của tập lệnh có thể được đặt thành việc ghép khóa chung của người dùng và số không công khai; người ký muốn ký một giao dịch khác để tiêu tiền ở nơi khác, anh ta phải sử dụng cùng một số nonce và rò rỉ khóa riêng. Nghĩa là, cam kết về nonce được thực hiện thông qua OP_CAT, qua đó đảm bảo tính hợp lệ của giao dịch đã ký.
Các kịch bản ứng dụng khác của OP_CAT bao gồm: Bistream, chữ ký cây, chữ ký Lamport kháng lượng tử, vault, v.v.
Bản thân OP_CAT không phải là một tính năng mới. Nó tồn tại trong phiên bản đầu tiên của Bitcoin, nhưng nó có thể bị khai thác bởi các cuộc tấn công. Nó đã bị cấm trong. 2010. Ví dụ: việc sử dụng lại OP_DUP và OP_CAT có thể dễ dàng làm cho ngăn xếp nút đầy đủ phát nổ khi xử lý các tập lệnh như vậy, hãy xem bản demo này.
Nhưng liệu vấn đề nổ ngăn xếp được đề cập ở trên có xảy ra nếu OP_CAT được bật lại ngay bây giờ không? Vì đề xuất OP_CAT hiện tại chỉ liên quan đến việc kích hoạt nó trong tapscript, giới hạn mỗi phần tử ngăn xếp không quá 520 byte nên vấn đề bùng nổ ngăn xếp trước đó sẽ không phát sinh. Cũng có một số nhà phát triển cho rằng lệnh cấm trực tiếp của Satoshi đối với OP_CAT có thể quá khắc nghiệt. Tuy nhiên, do tính linh hoạt của OP_CAT, hiện tại một số tình huống ứng dụng có thể dẫn đến lỗ hổng vẫn chưa thể được khắc phục.
Vì vậy, xét đến các kịch bản ứng dụng và rủi ro tiềm ẩn, OP_CAT gần đây đã nhận được rất nhiều sự chú ý và cũng đã có những đánh giá PR. Đây là một trong những bản nâng cấp phổ biến nhất. đề xuất hiện nay.
Kết luận
"Kỷ luật tự giác mang lại tự do", từ Như có thể thấy từ phần giới thiệu ở trên,các điều khoản hạn chế có thể được triển khai trực tiếp trong tập lệnh Bitcoin để hạn chế việc chi tiêu thêm cho các giao dịch, từ đó đạt được các quy tắc giao dịch tương tự như hiệu ứng hợp đồng thông minh. So với các phương pháp ngoài chuỗi như BitVM, phương pháp lập trình này có thể được xác minh nguyên bản hơn trên Bitcoin và cũng có thể cải thiện các ứng dụng trên chuỗi chính (kiểm soát tắc nghẽn), các ứng dụng ngoài chuỗi (kênh trạng thái) và các ứng dụng mới khác hướng dẫn ứng dụng (đặt cược hình phạt, v.v.).
Nếu công nghệ triển khai các điều khoản hạn chế có thể được kết hợp với một số nâng cấp cơ bản, nó sẽ giải phóng thêm tiềm năng của khả năng lập trình. Ví dụ: đề xuất nhà điều hành 64 bit đang được xem xét gần đây có thể được kết hợp thêm với OP_TLUV được đề xuất hoặc các ràng buộc khác có thể được lập trình dựa trên số lượng satoshi đầu ra của giao dịch.
Tuy nhiên, các điều khoản hạn chế cũng có thể dẫn đến một số hành vi lạm dụng hoặc lỗ hổng ngoài ý muốn, vì vậy cộng đồng cũng thận trọng hơn về điều này. Ngoài ra, việc nâng cấp các điều khoản hạn chế cũng yêu cầu nâng cấp phần mềm các quy tắc đồng thuận. Do tình trạng này xảy ra trong quá trình nâng cấp taproot, các nâng cấp liên quan đến các hạn chế cũng có thể mất thời gian để hoàn thành.