summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bip-0347.mediawiki1
1 files changed, 1 insertions, 0 deletions
diff --git a/bip-0347.mediawiki b/bip-0347.mediawiki
index 24df645..dca2100 100644
--- a/bip-0347.mediawiki
+++ b/bip-0347.mediawiki
@@ -30,6 +30,7 @@ Given the stack ''<nowiki>[x1, x2]</nowiki>'', where ''x2'' is at the top of the
This opcode would be activated via a soft fork by redefining the tapscript opcode OP_SUCCESS126 (126 in decimal and 0x7e in hexadecimal) to OP_CAT.
==Motivation==
+
Bitcoin tapscript lacks a general purpose way of combining objects on the stack restricting the expressiveness and power of tapscript. This prevents among many other things the ability to construct and evaluate merkle trees and other hashed data structures in tapscript. OP_CAT by adding a general purpose way to concatenate stack values would overcome this limitation and greatly increase the functionality of tapscript.
OP_CAT aims to expand the toolbox of the tapscript developer with a simple, modular, and useful opcode in the spirit of Unix <ref>R. Pike and B. Kernighan, "Program design in the UNIX environment", 1983, https://harmful.cat-v.org/cat-v/unix_prog_design.pdf</ref>. To demonstrate the usefulness of OP_CAT below we provide a non-exhaustive list of some usecases that OP_CAT would enable: