From 2ca1fd1964a7bb32ae4d7cdaf29309055fa4800e Mon Sep 17 00:00:00 2001 From: James O'Beirne Date: Wed, 8 Feb 2023 16:11:18 -0500 Subject: [PATCH] Add OP_VAULT BIP --- bip-VAULT/batch-sweep.drawio.png | Bin 0 -> 62296 bytes bip-VAULT/opvault-flow.drawio.png | Bin 0 -> 47748 bytes bip-VAULT/vaults-Basic.png | Bin 0 -> 31544 bytes bip-VAULT/withdrawal-comparison.drawio.png | Bin 0 -> 19737 bytes bip-vaults.mediawiki | 749 +++++++++++++++++++++ 5 files changed, 749 insertions(+) create mode 100644 bip-VAULT/batch-sweep.drawio.png create mode 100644 bip-VAULT/opvault-flow.drawio.png create mode 100644 bip-VAULT/vaults-Basic.png create mode 100644 bip-VAULT/withdrawal-comparison.drawio.png create mode 100644 bip-vaults.mediawiki diff --git a/bip-VAULT/batch-sweep.drawio.png b/bip-VAULT/batch-sweep.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..8f142545793e10484148d50abffc7066a4510c2c GIT binary patch literal 62296 zcmeFYXIN8Pw>GSZf+B*tg)JZ*QKTjzMQVCNCkZVo2nmGH2_%Hj1Qb-1sEnrqB4?=i+b23M>s@S^*q_U+iQ zLzGCskap}4SlqE=XQA*OpryY`EfTow3?SiAJDxPjOaM260VpCx82A?|OuxKi$Nq>w ztbL$2*Ny4rx~(;iDBznJ z(}&Fku3R|O2?{w0d_(&AdAZuTx|lM7r{Q$LFikLYdx$B4Vs54aLIdBun4Ye{1@B7p z^xYnUc4zr|11&fmZG@)w_J5#}?Cj>uV*bYz+bid|vI3aCKL1|0CR|eo{?8g+1DzTF zG;mz+vEcI!JAEUoe%*AaO`g2NQ}VGl-xKqw2a-7ALge6Y!eQRx7G2qHHU-H96u{llOPV)gpKl~BLI~^`J3=4UX1PSMR@_Y zrc?q0Z0+HSC35}fEPEQ*6iuW7TZjuXvFEVeb^T#%h$jhWVeXC5^`Ii*fXGmR<}iD& z0N{(6OMopCZ3`oq!znNZ7Y}#y^2XvY+MaF!7!Jn+qiY`Mk2dqSg3~=9G@?5x(Al4c zr85G(OnuFQuwM9Jsx3Ge#SL~Ru)IKa<`_#56OQu-Bm<0N^6<{?Bzp)O%<*Ewh(rtw zZQ{f5gSf*nD2xpz7zXiVVeLHdmNrxy6v~BWuH$WDW)cW&4bIihf(a-e%Gn;y0=rP0 z?R0R?Iu>Ls+bV$WZ0|+@bRK0-;bHN>)s*UDqU&qo@54s>BTN`*7TM1ON+s&}x?7M? zR!lb?v^I@H!|}*yq94#5&qLUnK+$9}2e`qyx&xm)oVyzthb36~fj~%TfHNCIMRQDj zf;p@}53&s!>W8s&fCSr`JD5<| zvB$dknSx+AZ(9)40ZTOT^0%M{I9pLnoZ)x}n47My1u%`ftrv;tjQ7#?fI{GWJVC*_7&OeD><{;}V6Ywhe6YaNU~B@BY7W*7^npUaRssGfx~Fph z228R*czIB)DV_vpgpMbGDJW|lOEQm220_8ZASBh&97@A^U_hqY2oe$L%5(z-nOgdp z*m~P&qr3whP}bHC=G!l0i3U?RCN6$~C#ZPNC0_z5m8`WGcPb?`wdN8 zOptcEwkRf%XiuYZbhe?2jfLts_@-W)w zP`n$BMezl}e4OzX94mUDH_ZctAVMf8OJ5r_k`)98d$_Z>&gPJ9Mb*`zk*)lp*8V#9 zZQW$?P(DFCoHx`j$j1}zjS9B$F|~7XWd{&xre@|~TcC?282Io3mVn||`2Y)nLVyp3 zpO3c-mu2s+?FRRPYJ;gXuC6fcL?JTs&YnrYX)8MWy>A$(Gt^7F^c@ z=-^GDxO>9sG#eJojADWXIY1a#e~cB+*OW=)1R=c5t-$_txH;3+9RMI4%+;IXM)L_U z_XUPByaS;`nkQ7-H^>G-Bzn1!Kn_6w*5H^>Y#@W+O|bTHM`AokJ|?!lLBS@zNEi=f zZU#5?#o43hUT0*RJJV54Dux}v3 znrh8-^{igvJ%2^xkbbF6T7?pRNA4-D9o zf`ze=G%gROZL5RwBDs?hR^C_|mB`ceLSUg32M*EI9PJPB(?;pqnp&HCJ9s0BU>{pu zKL;Mg8AJs{U{zbcx@X8cW-}B*tV8>n)WyI$P29l*Q;ZLrMP-1u@!H#&XbFY7^O(#4uCEK(%h|&v0HFgk| z4i<;R1(N&-2x~hsm~HLq0T0{;9gwAuy^EzTi{S~}=t3D@G&3s(#3lelFr(6gbu4+N z6o{u)z_!sMTR9-DEZxa~T|w#ilLN`Y90wAZ9YDjN5o~KPg~q`UT!XA!TmtDtyqOLP z;*Q?dbRF!rsbMe>5GK|G4I&bVIDc;hof7E3tqC?@ls}%rwDEvI5Pl%+w)HZ@JF~Dn zXW+!)+$?z}CT0{U3&BIsJuN6e6Y%3{>g>T~Y##}XuZ ziNWBIWQevm(wgcT?8f7m1X<#I?RBkqcnA#Ss*3?^jSX4{N=JIbfJs2UAi5dF4eV*f z@n!2kD7N;_5I}S~Y&yb=46~(CJw2HaZKku1DI9Qda2_;moCU_$+d;<@V-Ll+Lj!!R zC`fH9KW`mCjV!I;G^91#!HsBTLt)!9f#V%)2G-qvRVxn!m}AA`dK2y30k}Z3gZ+8i z78dxig?j5+z_;y^ zXcr5bF5R5K;`&(Qu(q~T9)SVFSrLga2QM6yX=~{b>_TLkIpZlLBo!0rYGMN{-xdOc zU}$bu2oQ+r?PbMAaI_(Qb}$_9auyIburr0o-BvXu*VUe8fdsqQ1X-KOdGU{gdO zfHF8=m>Uo6<7R?nYLg%?UOGVlETJ$cG8GEe!MnKP5!POTfgtMua~--4+=^*oLEC;T znCQax_qWGudticrTT_H*;PwVnz&wt3Fo5(pOJEj+4Vz?%B@==!=s zecgO948-=j0s(ACxp{%iC~yJ_*vgD0@N`d&;;I=mq4W-%o>sZ==seX1|Iwlm4ZJcFusD7R(ZA&T}<%7jpKy`Ep zKr6@E1nSO&xqztN3>~61$3D=)lV#6BlEDbBF4Zp>WRK=)BLWd5YrF;9+02_kz@e>m zbajKA-2=@{nHW=Cpe+%2B!NJox-q=`e09*SRtSQbpE=S2gZ3g)gD7kso(IC4np-fz zwoH;ca3*mOy8vha6K%t>0E~zU!OIhE>*8WXL^uH2g7df0@rP>zehQ8qWC!MGTLJDd zaPw~u`EPd_xc^tI0mf1e>SpZNA-{u&K~lJmKeG1rn0GE$cNf0ZKXM3_XLeHAJlP~= zPpAwGCYG44r z1o8i-{x4boKY{%J(-7mXVttMj zGP#GlK6>%6MIzL@k5J_DQ6MgsJ@7w{!)GVK;`olOrG8)5@?cQ?1M7REJ+y?I;3haa z-f-0&F@8Hb*Emw($){ftTWdM%^UX$2>b{%Y@$P?F`|gs6>!)i+L9TUwq#1^loegNz zWxW@L)fle*NI5n5lq2;YN9(+B?vBVuii?Mjn^`6I6}y_2e!F!hm-Ve~FB@T$yh@P2 zrRAgL=lGZMc2 z0*79(~R_-0)Lwun}IT4!tSSe=p|<~8*L3pqM8Tx zN%4a&hou}hH@li5=BU}V``^eUFS9e5{&|NkDyJ-XXAyqZn04#yi)+ceC>Jq<1uG|I z*q2@67?S1Iv6D@}%elUNR=SFzmW%!i*&?+CU-}F_9A0S5fJtkf#N8$&DI%^1;D}*4 zhGF!deJ|!_-ixiBHbbf`Uf_1x*byh%?z^_!M!t4Qms2bMdiB)kY_;5$rCr^PlS=H# zj#l}f&zer3G79W0F>FW!VHb1kSwlYMoxqGtUsXYP?!@?zwww<|hO#H(P({e zbDp_F(vIaO3CHwoqiL#^*_r1>i?l>Qe4!&1je?CYeTRpFyaGy51OwU6Kl@9z@}<}J zCqRTUHvo~94wyUj|BC5Y{xx`JD0u9c6Cq6Tdh^0Y0{8F_;?w9goKu(`o}oQRI;UkO^m2?-VlAirO}w6 z{#=bxnch2z31)uQadgc7q+-{4kF=_-%`^2@Fjb{{y=WKIjj)Z?#rqD=+~(G%tLg_z z1A?SAD>4~5VK0Bl%LEPhKj|Ysrs|&S@b8-mTOL$xxWxI{S6X&!w`l8D;p^3hFVj-u z^n!k==jVj;%vQ|jzc+r17BlSW^m&T>bi*!()>uziF@H>b@kg^#JRG&UJY6WFX<;i1 z_q+YvyWiGjaJaGO<2$vkW-<8Z9mlq+WkbB|=2ymNWJ5--!xn;moK_^?m3tp6)_v~w zWM{!t==rl>U%(C>hAr2N$dv?$995ne$g{{&E3hl<3U2s4%0$~`E9}Mc z4Zu`?z{z(L43fK?A~tmS3XAvRF;ak74|brsL&o*JT7&xh#Bsh; ziBFcxGq*;m;Q2<_eE_t}+-nP(i%8wLWZsaN`qLAZr%M2so#M7YKY0{ZE?wnCz&5U5 zvU!wKuJA(q_c1+AjY6!35_2_(any(%?#oMKRr42WESg?>@ zn`|Pu?~fCS=S6$XCzCWjSB}sQIIK`EX;blOq&gwh_A!-tRDXSWAi%QYW%A=42?l}& zp<@?Q73djj2M6{uF9|;*yt$0H;~>^zQ2FJ?EO{!DMR1(C6l_dq#%U=YGEt{Zsq1(a-C;wSxl*FF(D{_aFHb-1OLf znQ`!=(DnhmTA8tgsq6vRZu*3VD2rtEOB3bZoX`B?Ad5BjsBmBV#*Sa zAPP_1S`VJLFb8(*k+)w5?1*KYxc1fR5dc8! zR$?-iw5R2R399c@bbOxtY`GKd@#htG>F=*`LAr+#dqkwQa)-Qg?tM9Oy<`5zMIo4$ z{ZnJfh-QQ3OkSnZm3x0n5Q=@Dm{YFu;+h>dq*Q{`9GVXIzdN04s1-Vwex@i}qhhJ1 z@RsJehsmlX8)D7jwA`TtSZe3NKtT|4GAYg?9YPH9)!{^l98t?9Sr5GhG$tum_P|Bj z4#%Z#r-+FIutP?#y?rJL%RSP3OYvFCp=nCjv4ZkPgw{jg*}|$#9s#GTlb5X}N~wO=-ZZCJoId&e{B5?X=>b>n1k&+t8d)sv z2Dn*2phQvVSYYBI4kz%pL3Ttgd2zCnd`wR&sG{w!j3whg6>`TPt(2s`etO1lu2!}F z#!2$RP&`8Kup^PAZ<~8t1IhTZBp4}2{wrU3i2q2B8kA&n zmecF1_GP^7zG>9u9@ipq?#x@E&Nz!cV#UZ6s``p3EyhkDOJ8tr1|lHOxJj6E?N)iV zP|oh1Lw28XQppf>aum#ndQ^W>oLO^H_S(K9YU53UVXmoB3+YXokr_*V=8)vE?^MUK zYMFqB2+lFbh>gWpk;My$+=me67$Cy8YfRT=Hx+U7rn#d%FD6>=Rcl%ThwHEPg1 zMJatY`QCo&Tl?6bGayc#ak32BZI=RV(>POmHHML$s`NoN3m%ydXoZ!gRBb?j2J-sz zlyk>HJ@7qU^w!#Xa>BrV(DmSn0OcoFc$4p^r}L_co?cxJh+0d!BOW^W=jmWh@H?V` zs;iPp^q;inqF4489ULbrEPestCT(z_S(M-G>7z5|&{EXd!g;n{7~sqS`5qsMdhhftq|<)x1{oy_$9F$Wy2z8SDfLC;S8 zA5Y&0IvWpknQB$$UfI=?#5sdk`>Hu&F0Hh<*O2m$=2Vn(o%SkXjOwc!)L#hSev2M9 zUrNE~FU^vuig(^Bi6NEFA5nUcWK?q~F*h+UiIo_ttgkM3!nDum`R`oFhg~~cY0ej3 zN-O=o`97_u>0-+)2>tLw{8?fDWegf%eGtiex!mHg&DvqzFX>ANM>zZ!X~I<#xW zqW+eK?&Uu7t@pZ%K5OZHu-Hx?;ZdkSn*5^tr?ui zw)AF~n0p@N+A;IZ#^pZ_HJ4nP-iyguXoepg=!(4Y-1;7lDQyhM5S3-}HLI>H>(}Yn zxtSt}SXfkwd}O`Mbr|Vrq10N%T*u)b`*c2z{K%!cO2%A{kobe^xR>`SLv-gm`PJO8 z4{^xsRlrxXi*{N$s-<`Bf*)O9Q1-OL*-TKb*nU`zz83mH!@4LXi{28=s3*K7-O{_s{6*L(cEIv)nc|bNaBtV(YJeRBv(KDSQPBK7#yy zG)N*+JgCCK;_U99sv(C1Qq)mg{!uc=Xolik)F*xAamHGy%3{YcU!Q|DjVR%$gryvR z<*ti}3;FTKRGt_4tjbwT4le0N+C`po5fpitV;rjrD_ZWuXW`6HeBmaz06j-5~Mbj zS3W+r*Ch~?qAZN;sLvdD;@&fN+AmVW|FWKPx56-2tTme~=8X|J6t2j8p21UC%;cF| zReL!_%%}<8m8Lx^TC;QABq;5QVUNMQoIq0g+E$Ah=fTMz4Y$?rPvYJKAVglRrp3=!O!m8fR)*k28zVx-31Sc7Ht5*Hzj(1+VLsj zqgL{5bUlB90TnW~JX#skb2t#yqJqif5%1STMV(k6kSv3LnQE)XMOF|Dl(RmY5#S;_ zqb{_v$y$+oarfff7AFbS_@s&GH%Pxb8qcLy#5OJtwByDWETaf}E07V{-4+_j0JZT|!T9Nk;U@PY+n7uv;lu^O*AUMx^$4{FV-4J- zK~xiZw{vy-kG~FA5Zw+hOjREX8hCQ;IQP@+8@%4_n%P?^3Q>;^*}wYZlft54{=rA3 zVQUA=m=aM$v9_2Xt1B=e%VhPaNy%2()&>iAsLzM6r}lJiJ`1nsb7902cdZKIBOPc9I{v-u35@xBeQp@m>-yf74*82VL_hicy7* zJ@BwVOm$Ia{+ii|v*Cw-8q(R3m)kicZt?lIA_->sW@#XvUVcK7)#VI)7i0B<3Wbx7iJF!s!r}E|tJWyy4tgGI7u}HCt`K|J3pvmw!`wgS{X;!8$yzM!WWyCirYu} z>F=T}6*i{aKrlCO+?rW?3O=Ygr631G^w-vI_IVag#C@D?m@oGeGnC>(auKSBggW%WeSr=Csy7fa%W-*G)G=0M^lxt<8E9rvO2Yp4z5|WQU9q zfm7}?NkyNLV{pcSt5-TYVuM6$#Z~i)rCjePY|6PLsLENM{&~4VY~u}B&cPSp5f*u? zyNIeKx?#%FVng8&<|wr~qd7Xt>vG7*7oi-0ZyHvbY>f-JTM)p?(mFy_`A>3r^aMad z8yqh+WVpI)6dJ$Xt+cGSjCA|p;yhFlyv0x5O!kju z)m(sw#%1lbX!_vUB;fqv^1<@rEx&1>!Lo_w%c8dj!yVM3?{0Y9>!kf#X#pDD_~Aid z!w-H5Os>I*-JR>Xe?x*1yJN#pXHRZ91{57MsAW3F{oUzSQ2n0-WYyn;T7g09#*@S( zqDg(-%~K){EJFW8{`~;`b+3|6*Z+9Pg&g3hFJI0}A|zb6|LWCs{MDTn=ta8QS25)G z%wc0S%2$;+Q;v`eV~*^!Pg3)d4(LNQ#Am=hdgT4C(ROXu9}@qPskQjFc2fVmvLI}K zHLjnV`{(CBY^p+6Siz%7_ys?Zu%aIP15-Q!*=K8^(WG^2`1?3OXhEWn6rXPEI28LH z^$3Wn(4KbQ*th4dZBG6$+p zNzre9^gg>!ec_S5q-WPisH{#B`6|?>gkfsYpa;3)RI)qjsL|wyi$?2S(e3R=9^TxAuL{?=!(jppks%v_RXy&w>II-dvz2d^+0yVz3)E$za89*&7tM9}u zM*dnF*oP?f+3WC}7q^hLey?H5&XRL+jvREf3YDkTC%+~!X!;9Y5EZEJF~)pY5WaP4 zq5Rw2P>D3X&|ph7^e#J%yHlGtk}oaaFw|I1)vTV*@3u@UcU-L~Hj&sYwz(?VhdzDmjP0J6 zeMdX~EVM|lS|#a^U#yiBCtK}x@BwH$RltIXX2uvEvdFl1cdo#(l2=<1JgYHs!I469SpDl*!lC%i1ywnI#$xVnc8KYM)A_v^hPShOyStj^qv> z{f3UabiM7zujz#`1IyLI=R4mSd9JvXuD&W}(QC-Vv$d{m4_F6Ra_zjC{?qTQ1|#ah zcS6n{QQT^O-7hbVhukng#a$&Cd?#eY+z&iB*T9$>UG(jW?Xx}Cf9zj^>XtKhGOl@N z!dw2OG1c|>FsX3&pjZ5_%$-@M*~!~Ze9Zo%hZascZ@>igm7ekzJ$iksvf^Pzj{u`P zH&s~WVWY?Sk!Y|y(4OG2MaHWU!npm1y#pVeW^IId0|x8bW$5QKC0j}#%bISXPaV0X z<;%aPi;B?-cj4>%Ayp=%<}Nfl7CA_Xo|R82e5{bE-Rsfea+JlvPO$4XO`b?@7GodY zJb9vB!Y2_breT}F8*|fR&%_@1OUo1Lm3jm{Y5GO;*|+3-ruE}-1vL&zRjFFHyl<%l z$*Nyk9vU>2W7U~n`St9+|INFg$74;OKd8YXG;B(%x3-2SR$tsX79DG7uOuz!{-;O3 z1xajWI)oRDD6*J6#}47QD?QpP*}N#E{Ux3;dr3y!rjo~A`4TH9kn$2VRqa@WJ+-zzWjTvY{%hLpAquI3GeZ!&$$Eodg_k5aZs^-my zHU(~D%6_eCN{gDt`?L=Ie4Bn)@rNk-Vwf@EF3Yoij=Em9_tfa?AiJ&nrJzDR!cb<3 zV~qI*R&qzI&B@|3Y0{2oPre`C#JUYq@lv*ZE9D!$nWyff4yE}{KTv()o1xlSCvoG8 z!gOfm=KSd9e2}KpufOI}7DR&A7Kb$IYHb?p2#>9L-+HT=Op}*WMbB^uwc-xdp2Hg# zH%9ZW6pYr(L2H+)utEFPrq3AP+TRx}EMB&9#?euw%6sTw^6-z7mgiWvdA}UEA0DQh zA29ptV4m4+*{$qQWvK6v`tneS?~<hOnxgk9es z_zt}CPrniylGLB|7k@Z>&D^8o!5!rauU;4@JoMkS0LAYD;spanYm#(`VHF`Cl}5jK zCv@XW*stUw2Tm{n#fM`bx32Tae=jBxh-z@kd}T6_dW z&*}Jr@4_!^^Q3hX*bQr1RI3tQZ)V$ywDY+To__V)wM&2J5fL7VxD z5yX^Tadia>KlNDIQ6U?ac}-jB?_1BY(_yH`U+2zUzK{dsT``*=q3`Q~C44CkVtPAh zM(0#dh4<&hU9CiWpT50(7V*N7cykNBWcQ#_E@sr=Shf01mdettw6Mt<5pYDDL;kaZ z&j*`w*x%FwZWtu0kidtDQhLcCp)u^z=Lu`6(J;uxBUF6uDgDEp7cC z5vvUUHBia|k|C4vUbz641c2Nc{v1@e{EeRwRJdD2;=@7*K6%wXj6SAttHh`xejQp0 z7+RTDce!y#t;fmbL#x4(#QZvcg%$I)#PvO5oQv zyAYAxZxu`Ul@SVQ;WUll&HCZdD12&-sA_8a?Y=Xr8xN8*OG`RCcN;fL+SY+{3R4>U zH*Yz6pZb+Nj^W&E&b48UNpHQZt)+sMa`W>yH6k`N4i`RrLfxu1T(#k4+FQh2s@SS@ zr1Gg7)q0dxwXBy4(pT-qtUEUwpMc$Kv`b$M??{_{t2a0FT(Nxst&YTYuON935D8sqGU_JvUy!)P8v*b4Q2unb+ z`|!<<>H@LC@ZVATp^@>&w_>Dy61S5 zH9wX#;?wJUDD=?!dJ7h+Fvu?1@0z>vd+mDh=H{OA^mjpV`=OSx1hC-x@5JTxBC9T` ziXr-)iKEHAx6APf!|S(Q6vTK(_~QF8ABEG88En|yY=AtrHrwSqWpm zfitJCuOXj}Siz80N@zX70WHU@kMBU!&!_y-u0?EO9je@Jp6$FJ(h-q*!dm}r+OsuR zzKo}n)SpjHe5y7$gPh9wCcRx<^F4!$wD{L^b*ESWjPSd!zt4;}+T;%IbuQ>{kQNX> zAY2P17YZGM;ReZ<+zV_USJ=?+i$?BOx=@m_i*G+pi`ZPruj`-5J6s+WE?a2u9iU1Y z)O~2dleErQyrBdipVOSC3_k{>nr_GKhb+z#!YW=qvnn0G8%I&QXr6W2ri?w6C-N7; zGVGCITLg@qn_`qlEBh;dNU1J7^tQoJ+tq61n@>vRc|zIErwS|Dgh@S5mBIKGaVK`C zP1(GEzjsM3kO|8;w<}wW8vXruyxy4ybcffNEwZ!{6z z0e0e(R77pJQ^4PVP86{f=h$O;7q_0bTeR<1pB9&R4j1YvQe4`5^mE5QGH=NLtVHyD;Z zj>ZyRsm#A_idk{l4q-=EFNFN?>5?p&t$CvG6}t|E$Gcabo~+V0%9O3`0!8|TLK;bN zZ(ejeo_fY;wryruSsGbryt54f34d7assu7QQ8zx;o__!CkG*?yWmR|RStW)F>-T!d zl=cFYf_j{UM)J;GdxZ5KSuADPFMd>7#{F>!ZwCIaOD2yD%lNdfAFi|kB_`+4G(h(=@AH*urPQD(t39j5 zlz8^-Nb{%j2M8^1 zckt;C*xvZeZn3P?{!x!X$5nUNAjQPGq9)w6=&oV2>ybI|kjEm8o(ZxB>L;M&Xt^@2 zx6dq~3Hzb%eY}B?mx;RoKOVSLdP}V*vQ~dlR`pu9*z@Yi$FJ~$QBYarRAKeR=QI9B z{!1julV45;{d#m%jl`rUJs{`D@2M?1^|=ckmP}ST*6&$Z2|1B)udndc*Q>8OKa}T_ zeG45c7ivPblburH-LL#<=1jX+GfmH5Pk=}HKOn>?y4`F81|sLt3g8skdVf4@Ebl&Y@cHI(ZI#f{50;sg9c&<#?Rnw&NeMF3 z{Zs3`e!;hdP9;o14>O`y~#{m8}GWQv(<-Hjxmv||b%y0x*~EswTvQ<9H~cAFu6 z1izdBVA`d0b+RDn6qL8%Zt#1jrDRNgT>H1*4^HFusU3LI`_wu5k5jf@-OV|nbHt-C zpG;Y)FVC-!+##O&W)I}z7SVA@DKELRU!$rIoGGSXxpBh!ozlZAlFO%MuMD5md$OMz z0lriQY&3rga5rsG&0k2Z*OmoF(|6sN?0Q_l9LoHIoj93o5HcBX;3)2JlPySa1@Le? z)lbVDYUh(x4Tc71JJ2mF2HnMEN&pdL7n=>&%;NRu2;22k zqq!*-Z7+>h$M2cw%K(IN?WIP8y%?23=!DXl=k9l=rRxxj#bjg-*N(;V;qr+3OF#Dc zoe=dNNz8~oaGEe}s>dx%3QAu-9NRVkV4Rw($p?7mK9}hV{9*q4Cpv=bmeU#!58?cVotASbv%b(S0*B9029@A2Q4&M zCJXiYONQNHO@$mK$%Sjx7?!%NJYc-5h{qrA8y_=>?s76JnkS`h3pnl)ROlf_?_}3M zB=xznz}AI3GG|A}FHd^e;xm-9kg_cA9lBjI5)rn#U@fLM-C4m=bZHb}eEBf!_BZ=9 zDzHuE#V4nVEdZ5Fi%J*?kqTn`m&)q;z((EfaSu>(2RZ(|_;2lMy|T=Ex9d~23O@|4 z{Ps5i;wlUB`{;PPxCE)(?4L`qvb-9AYtd=W`|9}J3Hm~>yYH)Nlh0J$DU}nW$9zkl zZNzunr|?PpG(SZMm#w z6%+8|W#7iH@7XwcVBf+68NU=sK7(b?nKv zG1W}JsHaL-?1qE8i|lvos+d<7C+tmsl$v!OVcMGRX<7K9TU=Q4@7J#E7lU*bcbd1@ zJ?{t^ctox<>Y_^L=$$t^L0G{bOEP^Q|B1p#k5`DuwzNz3xk@ z+qVEvSZ#3TYDii{Z`=2?Ua>jw^2Z``mjeY!#~S6!Dq!-hHQ%}MzGV}~Z%+BSAIe7+ z@A|XU^Sd}Vd|HMM6e*A`hhK*+cEJT^evIfQ;3l({kUYQvd6*r>5lq@~DTO!WUlH`~ z8?5zLbm$I6i~inyjJHvevS|lE*oFz3GL*ZX0b$;iiWp+A=Xn0A+6o_RBz$s5Kbj@v zIhJ>AbDNPAAipxC^w7tsg;M`kM+OmZXwWuuIteOz{Vbe6T*fZIIVrU|Pw8ugo$hb+ z;*UJ8?%8=>#}6oas{lkw;%}Bj4yw0a9oF; z@u7+5_sI( z>RX@Yn}noA!yWe=H0EtPIg4{yoIYl8-~?%-CJS(PCQE60(gAd%8`x*mvOs2Me~gyQ z%wKnsA^-zI+fx@)QVUrOzMfcBwG7%iR2p!Xf8cPb9n@*$Ujlg6ql#m!|DGik*lMUW z)!4U$DupP}c3n&#JiRcJ=tS4y{#I(Y!znG+*l`)#5o-GPLxZOe?4ql4TM*7SFRT&F z!+yi>&K6qTiRyTA?u?4=_?E&FcWySfJ-%kGMNEG_X^}HMbgnSpC^0bi(n6A#K6kBk zMvMBKP`UDh`q_GHNZfx$p+(mLNNcJ`aVod-f`@kkoK`DmEi#X4=$Ghd_-It0b1mV= zwkvq%y_W+%Wthv9Kss|PfBz=IO7kPOHi9-T96Irxo)-zBJUQ#|%))rQmbYs{b^a2~ zeMVuG`_aXVC14jIkZfh9soS5yI}?%27kX^TkbLV`y{kozmUXBxLm$rtk*fW)8)*c zVFq%L8mOEt2q*p<7gn3hGyEEQQDHH+{9VRJ{B<#fWzmv)&2lr9)1m9X$G>bS-j~@K z#2pvD@cw;uHN=i+K+n!PKqvelt*?yb$l?(paUod|Uku)&_q|noz1Ryi6 zBY$7q`cu8=UAwn)7C$Z|drDPfi`{Y!9Rz>!w%KmgZTPzTb7|L4O5B)C^Fh_a$((p^ z7f_$^X@xeQ%g-{7CzIk|B6?+eG^>7b6-F5J?d^2hr2{aQ0~m=9fRDUhpic?bwDcZ*oSSSbfjb`1pq_=VUFET_fM< z7PW~MyI;O}RmU;?lUe*35PVFE->lr!8}6&L*lUP-%aof|ezqWgfvo*ca$tU*Ha**A ztG|bjhna=@eBBpy{>p2=%oL-fa9x1lAU`hl#Iz_RYjfB&uGy0O>Nv|_38BPrg5j9T z=ZOT!uPe5vZPh+;nNncHt#HFJVEb;YA5VcZ)+(=eFxG^3=ZEl!q&GXd`~ zQ*uJaFYr!Lye4ka*l_H2M)2fd^9~6E!t3ptZc(_h=RO??aZdpSVx-CO`xt^j?0w`f z+I{KVo2?|ByYtOcLBB%Aorp#`0VQlej=t;b4{HgPP6Vn!t>Wh;gXAA!QQ=`vM!bM% zY=6_@&gGuLM_RImvU&XGkXOQ98(-tJ7G!pPJwm>NW*tITlDTIBNQ?{U|Af z>+!+Q(ja@yeqv88TlUluB|e$9(S*>@opxMtde=NQ;C&7^xgl3g_k{d|G)}^=!V-S7 zt8RCtOu?o3%kY4Jur~%A*i;-|TC6_&a7a&$WPE7MHE^y`pvAgZ&(k}3j@KJ59?EV? zJbap##DgpW8}`Zc<6m~bc9|Rh{aWAD_*?%g$MSl=1CU|Kbp|Rsk&RD?y9EHD@?Qld zPB#1_)W@ZUpJmH47C(+$kNw7PUj0(vw`X-Fv;6TXJL1NBxhF{lIS!gROHVZL6phLH zzw+)jVWfcbbg<(`Iz@h4Y*#~s_)TZ4djTJ&H+^c?ucC4XC;h*}2{#Xc)ho~X%LWox zeVQL9rcB*R#1@nghHH)LD#91(_!GzP*8e^N3TxfdTQcs*s&+V%J7TRD@Vsz!qp)TA zR(;5@Ph#cLdd}HHt1E+JGU6r?r;0b5kFiER+ypV3ri&K~BSw4DKaSpsQ>*VT*u2q> z57kO|S*U0S(YUwx`HEA8TY>s9iqlnz0a}T3WQ&o`h}}`%(oWE5V~%U}@K(+HJG?$< zAKq>AsY985$=TP`+58*o75NLy(yBm2xKU+z-N0ho*iD<_nbgOmiWb?niJoH6Q=8oz z=PFLOBUFJpmBZfUcKU(?ukoZyiW9L~uRaSH>{7JBsr|Av+JM+}mOq5G!^=JBnJ55s z6#x3agmZf1du{QHe$>U%8#3g|zmgZC*P2re(E4jHp6I&%$oITyA7M0eo^S8r%Y?W` zu9x|jn~hVavP59jkJaH`Bwa zlKPt;$!|2BkfW-5-Ea$v$Tyk}Zfkn;-7k8knflt{iQ$t+GDqh+fZ^-JI$I za8|%OLfGlnmm#iTe!e%50%_TGjO+>oZ?#-0kCN#rigTh@<^L^;ImN~QofK&?{=bqU zcO0%$uT$00O;1i#TJ$>AF1~YmNq7O;?b`QFwC($ykCWEZ177(DHd}ViyEexBEOsG; zog8p|d6pH(JR0VI1mQWlJomAnjNtj%(pMP+kJeMWY`W@?cWQyCkGq;jZn{L zg@FK7cjv~3Uhi|kNvjBjcSG8k9-)iMY9%k#3tP^@oG%S5|C-!-v+#>8RGTs1RsWP< zH7@Y^sT!7ZD&T$GDc9fqRW*;!OcCCj=tY!lT@ScVAt=uOJhqs-DZeM{)tcy$B;8Zn4Z9?7At*$5Y## z8;TPf@?xIrzsf~LFNbtI*PS!3DkGKkI2MOh8$Ha@I=l*74bdMl+W(}GE~OQIr*bLr z^fwWHQ#gJ6v@q0>{d`$yA-#YeN-3{nxz*@xwXas?)<$B#btWzyLs-78+*BoxZ7Ix0 z^sTfS+_Cjv(ZsxImafF)1@iB-WgU%!J$w{<>_Sn_lawP>-tE|rLwBIZT0)*=QVVnI zB4pN1bqtB2=d$Bzw@gY8h153~vPUnaRegNa-fKhXuFxjsXy*Pj3|82NVLO8>n}*39 zBi3V(Ag_NX4kktuc?V!;tHQ%haK<8dhQzl~yIp~r=ZDn^-}pd5@p#RT@GQWMfV-`} zo$DD0{cqr2+XimnKmxqIN>JtEyk_zN=m=^qV@Y8}RQAW}5s~^*g(y)Syoiz8Cu->r zzANYf8_Sf~7lrj9hisuh8=t6i>#0?>yAw2%q%Ab_kuORtR;^VK0lozVA{Vl?9^GIV zI;m!qY-qgivmH=ry&{ufm||O-<-6X0T-CGjT4HwgYRURyiCM+NGLH?pwQ;)%e;342 ziMh>X9`nA(qTI9M`{eOhL zWmJ?=-#1E!AgKb<9U>qqAuR|)D}czhyw@$QqrxIl;8l;9S$8s$Gb1@ z`#I~Zb=G;_FMe?8%r*Pk@&Es7du-{mqKoe4UVj}2AY#zNOH*%q#}YsKbH4F3+)?p67HxAPHMjq%%#vqpudBh*+1q`XGbcSuBZCANk)WAR&cT(_%x zhX<}*0%g;7SDrKn4rBTDurfPH5+#Aj(~D$yobT7$od3Iy@sSvbJLRF6V6|-9<>IIw zFYkd`BS~uS$(qSKwB5^IZKDQ-OV22Z&g67(7$t`c@g0$4*6xrqI;9B|DM%#@GPsGO zfd&CsmZ*&0z?EFei!=+BfXPJ5+$q~9P<{{$1l_-ZD7)h{QJJsx<)tcv-)_4c-w?{q z)kQoB^HJJWCE6PxyF|9%pJrU^S43l6BB=&Loe|9O3NaY{H2 z?|<7nPv>p&uklI#n_!ed4N7y$?*nD~jL?H!?=)4(^JkxZClOO2WfkA5{=E#OD-xS$?Bqyo?H zWOtz>D#M=tvF(T)@H?^sSUdOi012?>(LAzARLK_CYXQC+@PRR}2g~XfZ>W+!4!H0V z1qAaq_QbS}vPQK?K7Jj(Tag~4+9Org>Zib z_LG_c`1i(G{%)G)NmVyPqqW%H0j(xB(_}6g)mq9aQAP95N2@ zsbg62?%q=raB3LZjuyZ711+-BNN=ng5V_d=cC1^#yP3_-Rb$lXu@6+vJ$cV!4m|;e zS9#_8Uld=2cgGQbn-ypd~$L+*9A(-xzwZ&0waiw`UlL(TtU>68K&564=`cf>qg--X#+8H$87T z-xkaAge)k0YEYw_^_`bV&(s*$9H9w=T05)>NZvLWw1Of0(Dy0iK@HG1# z4<;i$x2N?O0#3|s8W(95CA}W~!^~yeR41LJ60qb_URCa8e86v<%qoHIZwAVoBJnR~ z-@|#j%}AbRGEehzOvsmNe@PiM!ut3}W99ATYK9Z4DHbi}kzJQ^#yo0Y>zV+(ZR?rw zO(qtNd#GvewXEVQi;X)^Op5qg64ifR7 z4EP@M5oi)aF1q%RV#j~#Ts~2F!>$0r1?gm{t=;x4j5mQ#=yDNg)7}$P-FvBGHISa4 z?X{2dFfibJOSt{h(BiM*vE+^tU|TyABcX{xH~#%yxZ!8jH}+t40|>qHWkT^9XZR_c zETsCqJ&3n~RfPQz6l1M?VdkT~SRn!B%AJl>jh2Z%H9?dW7S2K%IRuLn-f{4=O}bR3 znx8|S8f1HJQ)~ZvoGJL#wd*k61sL)aX4!Bq%ns$iUo!YbTJ86W5)P40Q#Go+H{r{4 zv(m=8uqT!H)dxMSvB+!nZ*wvg7RDkAi0mw8m=Mhk0(ptQh-8b=V(lBO%M7Y)71Xe< z#MFgv-MiJSkC%45S~q?dCMbDD5)lfEuk#Xj?BLr zUnu|5h>`rry~U#iqxuCb&fXorS)iB6N$fjj^nt2q4zM45K?4BKWSw6V;~sSwSUGc} zw}w<(Ce@fbv(1e@BaFVA4}hUCi^3riclM2Vx|h_97m8k0Vr3XfsnYQ(I7kOUahpf$ zxgJh~_cnfoLV8dW^992~wohf|uRDU-zY7Z&wb7(Vnd7H70-DCUuVMUT{9!<30P z7P^>r`CBh4RRFBzj_PrV>~4!3mG%i8l$hQ5)j`?X9wI!#vO{(1`|1T`kv-nRIqMUkv_0{ zQB1abkoB%uXf?v;zrW9{8dHH%9fJuGwH2@|0CppddSchRwTSEjraoXnioj!fx(F9e zypJEcp4+Q%g;6B6QBtK50+)jI4FEJ0F-03|O&O}z(u+`nd zy16Issdj-IUfATk(4lm;*CngZ^waBD&(LH2myBop;w4GiO@^a!V_#ME+idPMLj-O@ z`vGw3c{t}iB#^6rB(flRV0P67erC4+k)FRK(@~Fe(tjo&@&1In16z@2k9eiPt8A~r zeY!LntRnd~Fb|8T()-YBPXI6^G1&6|Dr^6Z`rfbP%Wz!A{kxG3tidw-Pvd;)*aiNw69Mw7j{Q^%{ccLwBrf5F;tO(M5`>RTrzW@6E9Rspz> z(GTt#_zi*kyUFqcisTvVIBIxnDv3VJ0kK4lZ^1;Yat>h?SybiIEQqCeUd|~Lyl3i{ zC|`js8(!ii-$dHTN2dRZpUxMU=-eaL08TuiE!CI;vI*wO1UGA*$F~v&aL7{Az&qk* z81LBk-;UK~^`MPXaP3#7eOaRWF|Ccx{OU=JxQ80NPkQWug+))(t29~E_g-;VDFpn7 zy39J<5XhPSuVX^Pwc+keIM4A_KunYDhjYxa*wed}z}Vo&9tJvs z-YCMBh+C{#ul8^W<>P;(-TncSR->tM?f~4@4k{$>O#!@ubiv?L-U6UKAg6s*t; zlUb!_jlwK4{-g&g@!Qyf^21bsy4J(-O8AhEA8Z)^8=__7>n^2zOU9x(BO%s0?aD{= z#TX3Xt@rxtwhA1^fExlF!TzTEfMU%<8vr$tf zr+5hwQ}5&lTbYj99-vr%ll^_8_?|XyS1<*ZxoAn~s{DCxk&<2qU*HX#Neh1phx5(s?4|}HLk-RDw4z-r()cefzQ1CyG@&4aql>KjyK}RfK!&1Ekm(LY%|21d}_a4Vwhkp~i(wIhCMqp8$LT6ofTD5t(kJe-uq$xByzG*dE`TM6b0xo?h&=>0>bg z@H{*kJM-x_xxARGY|kTOIbl9|`ndnt!7ye}crLwhJ`X<9Exiqt1-Wqwzs@q|t6^t? zQZ8V|MQ#}O>_eKv$5h$35>uHfQee?hW)-0ePDW_NK0DD}N zz;^7YsbBev87<)dPn0gpr2TK4N~TEPczv_yKX9?U=L3wH>2V$Xj5riDq=DO+Y5L&( z_2=@YhyVU+%3bTuu7uM0YFs*DOc2R_o?u>`lkCy^RBqSSI86A?ST#|zcvyxTHl6G> z$*{sp3PsceIn&h5J(5h@w#K0cuO1NCSdmN9DrWs;wz1i$AB>8cZ^8ML@~?IiE5{YHj3z_3N1hLS~62b zX@=-4n)Pyz;{<`64gJv12_lP;*B}gF5u;qk*!!6#JUrQ_l5>wQ3@LkJ2b7JN6&9T? zYNQ^MPd#YZo@9SOz3X9)es23fJijNKwh0c;g>`_IM0Gz0^j{$#UaE z0>jjdy+i~p0~a`DF^4|Y8FVb~7(LW605gCa@vnL8P4p3;Z3={~or3Ha8)t3?v*pK4 z37NnWEjm53c)pesi27)j>8Pr&AifR?@9`>`0{S22zZwW*~JuAwUTj%oWtIx z@r3q&6h7)3lsvbW_+0F^Hi#-xLta40Q*Yv#+_~*|rvlTy+=Rt$hqAg=u4P{eyJnn` z9pwFxR)M}Olg?4{m&JQ(5c^`42{}zn6FO&NBf5F28oV0LmD6Q7ogdt8V|vC~6_w)w za%et#PQsdVKI2vKNhwOi2vrih=$EDai+U=OZUZf;)+abmB&i%0Df84U&UeU(b*=co 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
}q2Cf7sc+g>-iR9ziC6tq28_xtBz|^ttE5Zs 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%0AB4oj> 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 qJrHo>(FHFMQ32LCVh*k0ZM literal 0 HcmV?d00001 diff --git a/bip-vaults.mediawiki b/bip-vaults.mediawiki new file mode 100644 index 0000000000..1efbb814b2 --- /dev/null +++ b/bip-vaults.mediawiki @@ -0,0 +1,749 @@ +
+  BIP: xxxx
+  Layer: Consensus (soft fork)
+  Title: OP_VAULT
+  Author: James O'Beirne 
+  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-xxxx
+  Status: Draft
+  Type: Standards Track
+  Created: 2020-02-03
+  License: BSD-3-Clause
+  Post-History: 2023-01-09: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-January/021318.html [bitcoin-dev] OP_VAULT announcment
+
+ + +== Introduction == + +This BIP proposes new tapscript opcodes, OP_VAULT and +OP_UNVAULT, that add consensus support for a specialized covenant. +These opcodes allow users to enforce a delay period before designated coins may +be spent to an arbitrary destination, with the exception of a prespecified +"recovery" path. At any time prior to final withdrawal, the coins can be spent to +the prespecified path. + + +=== Motivation === + +The hazard of custodying Bitcoin is well known. Users of Bitcoin must go to +significant effort to secure their private keys, and hope that once provisioned +their custody system does not yield to any number of evolving and +persistent threats. Users have little means to intervene once compromise is +detected. This proposal introduces a mechanism that significantly +mitigates the worst-case outcome of key compromise: coin loss. + +Introducing a way to intervene during unexpected spends allows users to +incorporate highly secure key storage methods or unusual fallback strategies +that are only exercised in the worst case, and which may otherwise be +operationally prohibitive. The goal of this proposal is to make this strategy +usable for custodians of any size with minimal complication. + +==== Example uses ==== + +An individual custodying Bitcoin uses the common "single signature and +passphrase" configuration with a hardware wallet. They are concerned about the +risk associated with relying on a single manufacturer for key management as +well as physical access to the hardware, so they generate a new key that is +highly secure, but would be impractical for daily use. For example the key +could be generated in some analog fashion, or on an old computer (with added +entropy) that is then destroyed, with the private key replicated only in paper +form. Or the key could be a 2-of-3 multisig using devices from different +manufacturers. Perhaps the key is geographically distributed. + +This individual can use OP_VAULT to make use of the highly secure +key as the unlikely recovery path, while using their existing signing procedure +as the withdrawal trigger key, with a configured spend delay of 1 day. They can +run software on their mobile device that monitors the blockchain for spends of +the vault outpoints. + +If the vaulted coins move in an unexpected way, the user can immediately sweep +them to the highly secure recovery path, but spending the coins on a daily +basis works in the same way it did prior to vaulting - aside from the spend +delay. + +The recovery key could be any number of things: a 2-of-3 multisig with keys +that live on different devices, a 3-of-5 with socially distributed keys, a +Taproot construction that incorporates one of these methods along with a +time-delayed fallback to an "easier" recovery method, in case the highly secure +key winds up being ''too'' highly secure. + +Institutional custodians of Bitcoin would likely use vaults in similar fashion. + +===== Avoiding the hostage situation ===== + +This proposal uniquely provides a solution to the "hostage situation;" by +setting the spend delay to, say, a week, and using as the recovery path a +script that enforces a longer relative timelock, the owner of the vault can +prove that he is unable to access its value immediately. To the author's +knowledge, this is the only way to configure this defense without rolling +timelocked coins for perpetuity or relying on a trusted third party. + +== Goals == + +[[File:bip-VAULT/vaults-Basic.png|frame|center]] + +Vaults in Bitcoin have been discussed formally since 2016 +([http://fc16.ifca.ai/bitcoin/papers/MES16.pdf MES16]) or earlier. The value of +having a configurable delay period with recovery capability in light of an +unexpected spend has been widely recognized. + +The only way to implement vaults given the existing consensus rules, aside from +[https://github.com/revault emulating vaults with large multisig +configurations], is to use presigned transactions created with a one-time-use +key. This approach was first demonstrated +[https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-April/017755.html +in 2020]. + +Unfortunately, this approach has a number of practical shortcomings: +* generating and securely delete ephemeral keys, which are used to emulate the vault covenant, is required, +* amounts and withdrawal patterns must be precommitted to, +* there is a necessity to precommit to an address that the funds must pass through on their way to the final withdrawal target, which is likely only known at unvault time, +* the particular fee management technique or wallet must be decided upon vault creation, +* coin loss follows if a vault address is reused, +* the transaction data that represents the "bearer asset" of the vault must be stored for perpetuity else value is lost, and +* the vault creation ceremony must be performed each time a new balance is to be deposited. + +The deployment of a "precomputed" covenant mechanism like +[https://github.com/bitcoin/bips/blob/master/bip-0119.mediawiki OP_CHECKTEMPLATEVERIFY] or +[https://github.com/bitcoin/bips/blob/master/bip-0118.mediawiki SIGHASH_ANYPREVOUT] +would both remove the necessity to use an ephemeral key, since the +covenant is enforced on-chain, and lessen the burden of sensitive data storage, +since the necessary transactions can be generated from a set of compact +parameters. This approach was demonstrated [https://github.com/jamesob/simple-ctv-vault in +2022]. + +However, the limitations of precomputation still apply: amounts, +destinations, and fee management are all fixed. Funds must flow through a fixed +intermediary to their final destination. Batch operations, which may be vital +for successful recovery during fee spikes or short spend delay, are not possible. + +[[File:bip-VAULT/withdrawal-comparison.drawio.png|frame|center]] + +Having a "general" covenant mechanism that can encode arbitrary transactional +state machines would allow us to solve these issues, but at the cost of complex +and large scripts that would probably be duplicated many times over in the +blockchain. The particular design and deployment timeline of such a general +framework is also uncertain. There are no sample vault implementations using +these means known to the author. + +This proposal intends to address the problems outlined above by +providing a delay period/recovery path use with minimal transactional and +operational overhead using a specialized covenant. + +The design goals of the proposal are: + +* '''efficient reuse of an existing vault configuration.''''''Why does this support address reuse?''' The proposal doesn't rely on or encourage address reuse, but certain uses are unsafe if address reuse cannot be handled - for example, if a custodian gives its users a vault address to deposit to, it cannot enforce that those users make a single deposit for each address. A single vault configuration, whether the same literal scriptPubKey or not, should be able to “receive” multiple deposits. + +* '''batched operations''' for recovery and withdrawal to allow managing multiple vault coins efficiently. + +* '''unbounded partial withdrawals''', which allows users to withdrawal partial vault balances without having to perform the setup ceremony for a new vault. + +* '''dynamic unvault targets''', which allow the proposed withdrawal target for a vault to be specified at withdrawal time rather than when the vault is first created. This would remove the need for a prespecified, intermediate wallet that only exists to route unvaulted funds to their desired destination. + +* '''dynamic fee management''' that, like dynamic targets, defers the specification of fee rates and source to unvault time rather than vault creation time. + +These goals are accompanied by basic safety considerations (e.g. not being +vulnerable to pinning) and a desire for concision, both in terms of the number +of outputs created as well as script sizes. + +This proposal is designed to be compatible with any future sighash modes (e.g. SIGHASH_GROUP) or fee management strategies (e.g. [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-September/018168.html transaction sponsors]) that may be introduced. Use of these opcodes will benefit from, but do not strictly rely on, future transaction versions (e.g. [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020937.html v3]) and [https://github.com/instagibbs/bips/blob/ephemeral_anchor/bip-ephemeralanchors.mediawik ephemeral anchors]. + +== Design == + +=== State machine === + +[[File:bip-VAULT/opvault-flow.drawio.png|frame|center]] + +The vault has a number of stages, some of them optional: + +* '''vault transaction''': encumbers some coins with an OP_VAULT script invocation. + +* '''trigger transaction''': spends one or more OP_VAULT outputs into one compatible OP_UNVAULT output, which broadcasts the intent to withdrawal to some specific set of outputs. This transaction may have an additional output which allocates some of the vault balance into a partial revault, which simply encumbers the revaulted portion of the value into the same scriptPubKey of the originating OP_VAULT output(s). + +* '''withdrawal transaction''': spends OP_UNVAULT inputs into a compatible set of final withdrawal outputs per the target hash. The only authorization for this spend is the content hash of the withdrawal outputs. + +* '''recovery transaction''': spends one or more OP_VAULT or OP_UNVAULT inputs, which can be done at any time prior to withdrawal confirmation, to the prespecified recovery path. This transaction can optionally require a witness satisfying a specified ''recovery authorization'' script, an optional scriptPubKey gating the initiation of recovery. The use of recovery authorization has certain trade-offs discussed later. + + +=== Parameters === + + + +The recovery parameters dictate both where funds can be swept to during a +recovery, and what kind of authorization (if any) is needed to initiate a +recovery. It is specified in the form + + +[] + + +The first component commits to the destination that vault funds can be swept to +at any point prior to the finalization of a withdrawal. + +The recovery scriptPubKey would usually correspond to a spending script that is +inconvenient to exercise but highly secure. + +The second component, the recovery authorization scriptPubKey, is optional. It +is a raw scriptPubKey that, if specified, must be satisfied to allow the input +to be recovered. The benefit of using this parameter will be discussed later. +If this component is not given, the de facto "authorization" is the reveal of +the preimage. + +Vaults which share the same recovery path can always be swept in batch operations, +which is an important practical aspect of managing large numbers of vaults. + + + +The spend delay dictates the duration of blocks or time which must +elapse for the trigger OP_UNVAULT output to be claimable into the +withdrawal target outputs. Encoded as the least significant 23 bits of a +[https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki BIP-0068] style +relative locktime. + +'''Trigger key''' + +The trigger key, committed to with , is used to +authorize the ''trigger transaction'' - an on-chain declaration to attempt a +withdrawal to a certain set of target outputs. + +This functions as the "normal" spending key, but if an attacker obtains access +to this key, the outcome is not catastrophic: any withdrawal attempt can be +interrupted (within the spend delay) and swept to the recovery path. + +The trigger key can be an arbitrary scriptPubKey so long as it represents a +valid witness program. OP_VAULT outputs which have the same +recovery params and spend delay can be spent into the same +OP_UNVAULT output for a batched withdrawal process. + + + +An arbitrary set of target withdrawal outputs that is specified as a parameter to OP_UNVAULT as a 32 byte tagged hash. The preimage is a list of destination output scriptPubKeys and amounts. If the trigger remains uncontested -- if it isn't swept to recovery before the spend delay elapses -- the vaulted funds may be spent into a compatible set of target outputs. + + +=== Fee management === + +A primary consideration of this proposal is how fee management is handled. +Providing dynamic fee management is critical to the operation of a vault, since + +* precalculated fees are prone to making transactions unconfirmable by high fee environments, and +* a fee wallet that is prespecified might be compromised or lost before use. + +But dynamic fee management can introduce +[https://bitcoinops.org/en/topics/transaction-pinning/ pinning vectors]. Care +has been taken to avoid unnecessarily introducing these vectors when using the new +content-based spending policies that this proposal introduces. + +Originally, this proposal had a hard dependency on reformed transaction +nVersion=3 policies, including ephemeral anchors, but it has since been revised +to simply benefit from these changes in policy as well as other potential fee +management mechanisms. + + +== Specification == + +The tapscript opcodes OP_SUCCESS187 (0xbb) and +OP_SUCCESS188 (0xbc) are claimed to implement the +OP_VAULT and OP_UNVAULT rules, respectively. + +=== OP_VAULT evaluation === + +==== Witness program ==== + +When evaluating OP_VAULT (OP_SUCCESS187, +0xbb), the witness program is pushed onto the stack for the +following result (stack shown top to bottom): + + +OP_VAULT (*) being evaluated + + + + + +where + +* is a 32 byte tagged hash of the scriptPubKey used to authorize the spend of this output into an OP_UNVAULT trigger output +** tagged_hash("VaultTriggerSPK", spk), per BIP-0340. +** If this value is not 32 bytes, script execution when spending this output MUST fail and terminate immediately. +** Because this parameter's scriptPubKey is committed to using a hash, witness version upgradeability for the trigger key is preserved. + +* is a CScriptNum-encoded number (up to 4 bytes) +** It is interpreted as the least significant 23 bits of a [https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki BIP-0068] relative timelock. +** If this value does not decode to a valid CScriptNum, script execution when spending this output MUST fail and terminate immediately. + +* is a variable length data push, consisting of two components: +*# a 32 byte tagged hash, the ''recovery sPK hash'', committing to the scriptPubKey which coins may be recovered to +*#* tagged_hash("VaultRecoverySPK", spk) from the [https://github.com/bitcoin/bips/blob/master/bip-0340/reference.py BIP-0340 reference code]. +*# 0 or more bytes that optionally specify a scriptPubKey that needs to be satisfied to authorize the recovery transaction. +*#* This optional parameter changes the allowable structure of recovery transactions. +** If is less than 32 bytes, script execution when spending this output MUST fail and terminate immediately. +** Because the recovery scriptPubKey is committed to with a hash, witness version upgradeability is preserved. + +==== Check for recovery ==== + +After the witness program is parsed, it must be determined whether this input +is being spent towards a recovery. If an output in the spending transaction is +found whose scriptPubKey hashes to the recovery sPK hash (the +first component of ), the interpreter will +evaluate for recovery. Otherwise, the interpreter will evaluate assuming a withdrawal +is being triggered. + +In pseudocode: + + +is_recovery = False +recovery_out: Optional[CTxOut] = None + +for out in spending_tx.vout: + if tagged_hash("VaultRecoverySPK", out.scriptPubKey) == recovery_sPK_hash: + is_recovery = True + recovery_out = out + +if is_recovery: + eval_for_recovery() +else: + eval_for_withdrawal_trigger() + + +==== OP_VAULT evaluation for recovery spend ==== + +* If the recovery output does not have an nValue greater than this input's amount, the script MUST fail and terminate immediately. +* (Deferred) if the recovery output does not have an nValue equal to the sum of all OP_VAULT/OP_UNVAULT inputs with a corresponding recovery sPK hash, the transaction validation MUST fail. +** Note that in the draft implementation, this is facilitated by a "deferred check" which is queued by the script interpreter, but executed after the script interpreter has finished, in other validation code.'''Why does this proposal require a "deferred checks" framework for correct script evaluation?''' The deferred checks framework is an augmentation to execution of the Bitcoin script interpreter. Currently, the validity of each input is checked in an order-indepdendent manner across all inputs in a transaction. Because this proposal allows batching the spend of multiple vault inputs into a single recovery or withdrawal output, we need a mechanism to ensure that all expected values per output can be summed and then checked. This necessitates the introduction of an "aggregating" set of checks which can only be executed after each input's script is evaluated. Note that similar functionality would be required for batch input validation or cross-input signature aggregation. +* The script must FAIL (by policy, not consensus) and terminate immediately if neither'''Why are recovery transactions required to be replaceable?''' In the case of unauthorized recoveries, an attacker may attempt to pin recovery transactions by broadcasting a "rebundled" version with a low fee rate. Vault owners must be able to overcome this with replacement. In the case of authorized recovery, if an attacker steals the recovery authorization key, the attacker may try to pin the recovery transaction during theft. Requiring replaceability ensures that the owner can always raise the fee rate of the recovery transaction, even if they are RBF rule #3 griefed in the process. +*# the input is marked as opt-in replaceable by having an nSequence number less than 0xffffffff - 1, per [https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP-0125], nor +*# the version of the recovery transaction has an nVersion equal to 3. + +The stack may now have 0 or more elements. Any items on the stack will be used to verify the recovery authorization witness program, if any. + +* If the ''recovery authorization sPK'' is not null: +** If VerifyWitnessProgram(, , ...) fails, the script MUST fail and terminate immediately. +** (This validates that the recovery has been authorized.) +* else (if the recovery is allowed to be unauthorized): +** If the spending transaction has more than two outputs, the script MUST fail and terminate immediately. +** If the spending transaction has two outputs, and the output not the recovery output is not an ephemeral anchor, the script MUST fail and terminate immediately.'''Why can unauthorized recoveries only process a single recovery path?''' Because there is no signature required for unauthorized recoveries, if additional outputs were allowed, someone observing a recovery in the mempool would be able to rebundle and broadcast the recovery with a lower fee rate. + + +(Note: the above rules imply that if all inputs have a recovery authorization sPK specified, the structure of the recovery transaction is "free form," and the only requirement is that for each OP_VAULT/OP_UNVAULT input, there exists a compatible ''recovery output'' which preserves its full nValue.) + +If none of the conditions fail, a single true value (0x01) is left on the stack. + +==== OP_VAULT evaluation for withdrawal trigger ==== + +Else, if it has been determined that the spend is not within a recovery +transaction, it must be evaluated for eligibility as a withdrawal trigger +spend. + +===== Witness stack ===== + +There must be at least 4 items on the stack (shown top to bottom): + + + + + + [...] + + +If the witness stack consists of fewer than four items the script MUST fail and +terminate immediately. + +(Note: in practice, the witness stack will have included the other items necessary to reveal +a witness v1 (or greater) script-path spend, per [https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#user-content-Constructing_and_spending_Taproot_outputs BIP-0341]. This is demonstrated in detail in [[#Transaction examples|the transaction examples section]].) + +The items on the stack must be validated as follows: + +* is a CScriptNum of up to 4 bytes. +** It indicates the vout index of this input's corresponding OP_UNVAULT output. +*** Validation rules for this output are described below. +** If this value does not decode as a valid CScriptNum value, the script MUST fail and terminate immediately. +** If this value does not correspond to a valid output in the spending transaction, the script MUST fail and terminate immediately. + +* is a 32 byte data push. +** It is the hash of the proposed withdrawal target output set, defined by target_outputs_hash(outputs) below. Note that this value is duplicated here.'''Why, when spending an OP_VAULT output into a trigger, does the target hash need to be duplicated on the witness stack?''' The target hash exists in the OP_UNVAULT output script, likely behind a taproot pubkey. Its presence is required on the witness stack also so that the expected taproot pubkey for the OP_UNVAULT output can be constructed for comparison. +** If this value is not 32 bytes, the script MUST fail and terminate immediately. + +* is a variable length data push. +** It must be the scriptPubKey that is the preimage to the specified in the spent OP_VAULT input. +** If this value does not tagged-hash to supplied by the OP_VAULT parameter, the script MUST fail and terminate immediately. +*** Verify tagged_hash("VaultTriggerSPK", ) == +** If this value does not correspond to a valid witness program, the script MUST fail and terminate immediately. + +* the remaining elements serve as the witness stack to satisfy the witness program. +** If VerifyWitnessProgram(, , ...) fails, the script MUST fail and terminate immediately. +** (This validates that the withdrawal trigger has been authorized.) + +===== Transaction outputs validation ===== + +Once the contents of the witness stack have been parsed and validated, the transaction outputs must be checked. + +First, we must check for a ''revault output'': an output in the trigger transaction whose +scriptPubKey exactly matches that of the OP_VAULT input being +spent. Its presence is optional. + +For each vault input citing a particular , the output +located at vout[] (the "trigger output") must: + +* have as its scriptPubKey a witness program version 1 with a single OP_UNVAULT tapscript, having the internal key lift_x(0x0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0), per the NUMS point mentioned in [https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#user-content-Design BIP-0341].'''Why must the OP_UNVAULT taproot use a NUMS point as its internal key?''' This ensures that an OP_UNVAULT trigger output is verifiable as expected. It also ensures that it is spendable only by the conditions of the vault. +** If the witness program has a version less than 1, the script MUST fail and terminate immediately. +** If the scriptPubKey of the output does not match the expected scriptPubKey, as computed by creating a taproot output using the cited NUMS point and a single tapscript spend condition of the form
OP_UNVAULT,
the script MUST fail and terminate immediately. +** Witness versions greater than 1 are allowed for upgradeability. + +* If there does not exist a revault output in the transaction for this input: +** (deferred) the nValue of the trigger output must equal the sum of all vault inputs which cite it as their corresponding trigger output. +*** If these values are not equal, the script MUST fail and terminate immediately. +* else (if there does exist a revault output for this input): +** (deferred) the nValues of the trigger output and the revault output must sum to the sum of all vault inputs which both +*** cite this trigger output as the trigger-vout-idx and +*** have a scriptPubKey identical to the revault output's. +** If these values are not equal, the script MUST fail and terminate immediately. + +If none of the conditions above results in a failure of the script interpreter, the +stack will consist of a single true value (0x01). + +The above amount check can be expressed in Python as: + + + +spending_tx: CTransaction +vault_inputs: [CTxIn] = [inp for inp in spending_tx.vin if inp.is_OP_VAULT] + +"Where we'll accumulate the expected totals for each vault input." +vault_totals_for_outputs: dict[(int, int), int] = defaultdict(0) + +"Build the expected totals." +for vault_in in vault_inputs: + maybe_revault_idx = find_revault_for_vault(vault_in) + vault_total_for_outputs[(vault_in.trigger_vout_idx, maybe_revault_idx)] += vault_in.nValue + + +"Check the expected totals against outputs." +for (out_idx, maybe_revault_idx), expected_amount in vault_totals_for_outputs.items(): + total = spending_tx.vout[out_idx].nValue + + if maybe_revault_idx: + total += spending_tx.vout[maybe_revault_idx] + + if total != expected_amount: + FAIL_AND_TERMINATE_SCRIPT() + + +def find_revault_for_vault(vault_in) -> int: + """Find the index of a revault output for a particular vault input, if one exists.""" + for i, out in enumerate(spending_tx.vout): + if out.scriptPubKey == vault_in.scriptPubKey: + return i + return None + + +=== OP_UNVAULT evaulation === + +==== Witness program ==== + +When evaluating OP_UNVAULT (OP_SUCCESS188, +0xbc), the witness program is pushed onto the stack for the +following result (stack shown top to bottom): + + +OP_UNVAULT (*) being evaluated + + + + + +where + +* is validated exactly as described in [[#witness-program|the above OP_VAULT section]]. +* is validated exactly as described in [[#witness-program|the above OP_VAULT section]]. +* is a 32 byte data push. +** If it is not equal to 32 bytes, the script MUST fail and terminate immediately. + + +==== Check for recovery ==== + +A check is performed to determine if this input is being spent within the context of +a recovery transaction, exactly as in [[#check-for-recovery|the OP_VAULT evaluation described above]]. + + +==== OP_UNVAULT evaluation for recovery spend ==== + +This is identical to the [[#op_vault-evaluation-for-recovery-spend|OP_VAULT case described above]]. + + +==== OP_UNVAULT evaluation for withdrawal ==== + +When spending an OP_UNVAULT input into a withdrawal target, no witness stack is required. + +* is used to check whether the withdrawal of the input has matured. +** If the input's relative timelock check, as described in [https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki BIP-0112] (using this value as "the top item on the stack") fails, the script MUST fail and terminate immediately. +*** The same CheckSequence() code path is used as for [https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki BIP-0112]. + +* The transaction outputs are then checked to verify that the withdrawal outputs are as expected. +** If target_outputs_hash(spending_tx.vout) != per the algorithm defined below, the script MUST fail and terminate immediately. + + +def target_outputs_hash(vout: [CTxOut]) -> bytes: + return hash256(b"".join(serialize_txout(out) for out in vout)) + +def serialize_txout(txo: CTxOut) -> bytes: + spk: bytes = txo.scriptPubKey + return struct.pack(" + +If the above conditions do not fail, a single true value (0x01) is pushed to the stack. + + +== Implementation == + +A sample implementation is available [https://github.com/jamesob/bitcoin/tree/2023-01-opvault here], with an associated [https://github.com/bitcoin/bitcoin/pull/26857 pull request]. + + +== End use == + +=== Creating an OP_VAULT output === + +In order to vault coins, they must be spent into a witness v1'''Can OP_VAULT be used with a future witness version (greater than 1)?''' Yes, however use of yet to be defined witness versions is discouraged, since such a usage makes the coins spendable by anyone. scriptPubKey +that contains a Tapscript spending condition of the form + + + OP_VAULT + + +Typically, the internal key for the vault taproot output will be specified so +that it is controlled by the same descriptor as the recovery path, which +facilitates another (though probably unused) means of recovering the vault +output to the recovery path. This has the potential advantage of recovering the +coin without ever revealing it was a vault. + +Otherwise, the internal key can be chosen to be an unspendable NUMS point to +force tapscript execution of the OP_VAULT specification. + + +=== Recovery authorization === + +When configuring a vault, the user must decide if they want to have the recovery process gated by the optional recovery authorization scriptPubKey. The choice is left to the user because it entails trade-offs. + +==== Unauthorized recovery ==== + +Unauthorized recovery simplifies vault use in that recovery never requires additional information aside from the location of the vault outpoints and the recovery path - the "authorization" is simply the reveal of the recovery path. + +But because this reveal is the only authorization necessary to spend the vault coins to recovery, the user must expect to recover all such vaults at once, since an observer can replay this recovery (provided they know the outpoints). + +Additionally, unauthorized recovery across multiple distinct recovery paths cannot be batched, and fee control is more constrained: because the output structure is limited for unauthorized recovery, fee management relies either on inputs which are completely spent to fees or the use of the optional ephemeral anchor and package relay. + +==== Authorized recovery ==== + +With authorized recovery, the user must keep track of an additional piece of information: how to solve the recovery authorization scriptPubKey when recovery is required. If this key is lost, the user will be unable to initiate the recovery process for their coins. If an attacker obtains the recovery key, they may grief the user during the recovery process by constructing a low fee rate recovery transaction and broadcasting it (though they will not be able to pin because of the replaceability requirement on recovery transactions). + +However, authorized recovery configurations have significant benefits. Batched recoveries are possible for vaults with otherwise incompatible recovery parameters. Fee management is much more flexible, since authorized recovery transactions are "free form" and unrelated inputs and outputs can be added, potentially to handle fees. + +==== Recommendation: use a simple, offline recovery authorization key seed ==== + +The benefits of batching and fee management that authorized recovery provides are significant. If the recovery authorization key falls into the hands of an attacker, the outcome is not catastrophic, whereas if the user loses their recovery authorization key as well as their trigger key, the result is likely coin loss. Consequently, the author's recommendation is to use a simple seed for the recovery authorization key that can be written down offline and replicated. + +Note that the recovery authorization key '''is not''' the recovery path key, and +this is '''much different''' than any recommendation on how to generate the +recovery path key itself. + +=== Address reuse and recovery === + +When creating a vault, four factors affect the resulting P2TR address: +# The internal key (likely belonging to the recovery wallet) +# The recovery parameters +# The spend delay +# The trigger scriptPubKey + +Aside from the spend delay, the end user has the option of varying the other three parameters along descriptors in order to avoid reusing vault addresses without affecting key management. + +Worth noting is that when using unauthorized recovery, the reveal of the recovery scriptPubKey will allow any observer to initiate the recovery process for any vault with matching recovery params, provided they are able to locate the vault outpoints. As a result, it is recommended to expect that '''all outputs sharing an identical unauthorized should be recovered together'''. + +This situation can be avoided with a comparable key management model by varying the generation of each vault's recovery scriptPubKey along a single descriptor, but note that (when configured for unauthorized recovery), this will prevent batched recovery. + +==== Recommendation: vary the internal key ==== + +The recommended mode of use is to keep recovery parameters identical across vaults which should be recovered in batch, but vary the internal key for each vault output along a single descriptor so that no address reuse is necessary. + +==== Recommendation: generate new recovery addresses for new trigger keys ==== + +If using unauthorized recovery, it is recommended that you do not share literal recovery paths +across separate trigger keys. If one trigger key is compromised, that will necessitate the (unauthorized) +recovery of all vaults with that trigger key, which will reveal the recovery path preimage. This +means that an observer might be able to initiate recovery for vaults controlled by an uncompromised +trigger key. + +==== Fee management ==== + +Fees can be managed in a variety of ways, but it's worth noting that both trigger and recovery transactions must preserve the total value of vault inputs, so vaulted values cannot be repurposed to pay for fees. This does not apply to the withdrawal transaction, which can allocate value arbitrarily. + +In the case of vaults that use recovery authorization, all transactions can "bring their own fees" in the form of unrelated inputs and outputs. These transactions are also free to specify ephemeral anchors, once the related relay policies are deployed. This means that vaults using recovery authorization have no dependence on the deploy of v3 relay policy. + +In the case of vaults that do not use recovery authorization, the recovery transaction relies on the use of either fully-spent fee inputs or an ephemeral anchor output. This means that vaults which do not use recovery authorization are essentially dependent on v3 transaction relay policy being deployed. + +==== Mixing input types ==== + +OP_VAULT/OP_UNVAULT outputs can be spent +into a recovery transaction together. Script execution works identically for +both types of outputs. + +[[File:bip-VAULT/batch-sweep.drawio.png|frame|center]] + + +=== Batching === + +==== During trigger ==== + +OP_VAULT outputs with the same recovery-params and spend-delay can +be triggered into the same OP_UNVAULT output, creating a batched +withdrawal trigger. This is allowed regardless of the + values of each input, allowing the trigger keys +to differ. + +Trigger transactions can act on multiple incompatible OP_VAULT +input sets, provided each set has a suitable associated OP_UNVAULT +output. + +Since SIGHASH_DEFAULT can be used to sign the trigger +authorization, unrelated inputs and outputs can be included, possibly to +facilitate fee management or the batch withdrawal of incompatible vaults. + +==== During withdrawal ==== + +During final withdrawal, multiple unrelated OP_UNVAULT outputs can +be used towards the same withdrawal transaction provided that they share +identical parameters. This facilitates +batched withdrawals. + +==== During recovery ==== + +OP_VAULT/OP_UNVAULT outputs with the same recovery +scriptPubKey hash can be recovered into the same output. + +Recovery-incompatible vaults which have authorized recovery can be recovered in +the same transaction, so long as each set (grouped by recovery scriptPubKey +hash) has a suitable associated recovery output. This means that unrelated +recoveries controlled by the same owner can benefit from sharing common fee +management. + +=== Watchtowers === + +The value of vaults is contingent upon having monitoring in place that will alert the owner when unexpected spends are taking place. This can be done in a variety of ways, with varying degrees of automation and trust in the watchtower. + +In the maximum-trust case, the watchtower can be fully aware of all vaulted coins and has the means to initiate the recovery process if spends are not pre-reported to the watchtower. + +In the minimum-trust case, the user can supply a probabilistic filter of which coins they wish to monitor; the watchtower would then alert the user if any coins matching the filter move, and the user would be responsible for ignoring false positives and handling recovery initiation. + +=== Script descriptors === + +Script descriptors for vault-related outputs will be covered in a subsequent BIP. + + +== Deployment == + +It is anticipated that deployment would happen in the same way [https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#user-content-Deployment that BIP-0341 was deployed]. Parameters to be determined. + + +== Rationale == + + + +== Transaction examples == + + +=== Basic creation and withdrawal === + + + +Recovery Taproot: tr( + sPK = 5120cafd90c7026f0b6ab98df89490d02732881f2f4b5900856358dddff4679c2ffb, + internal_pubkey = c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5) + +Trigger Taproot: tr( + sPK = 5120418c46636d9e1a683f58e35b42336e776fdcc3b2d4e39e7a0bf1ab0716e3c5fa, + internal_pubkey = f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9) + +Spend delay: 10 + +Vault Taproot: tr( + sPK = 5120062eb40e358106ea4f39bcac8ce046e44b84e5c0cf8799bd3d08f9ffb4afeb7a, + internal_pubkey = c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5, + merkle_root = 11765541441f95f7af87fc19fcc1c09a1f5b05514d130320e4dfe6d729690230, + leaves = + - opvault: [ + push(5eb59117ddf962d44e11da5ce76c699cd9e6af53764795600543f02960b66023) + 10 + push(523882cb06ae65b1c2ba6e2009c0bf94e3d93ffe74470b354f854d335d9936e2) + OP_VAULT + ] (version=192), +) + + +"Initial vaulting" + +CTransaction 83b4308ccaa83eeb95316050fe2bfd1b027e285ddf31b0bd69762ec113140126: (nVersion=2) + vin: + - [0] CTxIn(prevout=COutPoint(hash=b4ba2b24be456aacaf743be5fe5de25eb3ebebb52f3faf75aecf45921a810101 n=0) scriptSig= nSequence=0) + vout: + - [0] Coin(4999990000, sPK=[1 push(062eb40e358106ea4f39bcac8ce046e44b84e5c0cf8799bd3d08f9ffb4afeb7a)]) + witnesses: + nLockTime: 0 + + +"Trigger" + +CTransaction e0844e873c4319222ebc407b0aa8f385c8a036e3145289d87750d5b895a88b33: (nVersion=2) + vin: + - [0] CTxIn(prevout=COutPoint(hash=83b4308ccaa83eeb95316050fe2bfd1b027e285ddf31b0bd69762ec113140126 n=0) scriptSig= nSequence=0) + vout: + - [0] Coin(4999990000, sPK=[1 push(9a15dca153a8651b610a02f3a92df3ada3cd45fd7f6183c7b2c1bc333bed1e63)]) + witnesses: + - [0] + - [0.0] [push(bdb4b3f6af17c93308af5ea689b33425497e388a0075f4311540e50d4d3d76f068ab645603333929e5ac62ecc125fc98a053aff53f65b0cffaaeef31efd415ff)] + - [0.1] [1 push(418c46636d9e1a683f58e35b42336e776fdcc3b2d4e39e7a0bf1ab0716e3c5fa)] + - [0.2] [push(c707f3e01b67c9dac06ad15cf0800cc07278a0a1c4f54cb92457ee5c0d84519a)] + - [0.3] [push()] + - [0.4] [ + push(5eb59117ddf962d44e11da5ce76c699cd9e6af53764795600543f02960b66023) + 10 + push(523882cb06ae65b1c2ba6e2009c0bf94e3d93ffe74470b354f854d335d9936e2) + OP_VAULT + ] + - [0.5] [push(c0c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5)] + nLockTime: 0 + + +"Withdrawal" + +CTransaction 9595af9728de3ae9ca6110c040ad34f02f9db8b610296f99618354b99d5ec395: (nVersion=2) + vin: + - [0] CTxIn(prevout=COutPoint(hash=e0844e873c4319222ebc407b0aa8f385c8a036e3145289d87750d5b895a88b33 n=0) scriptSig= nSequence=10) + vout: + - [0] Coin(1666663333, sPK=[push() push(c42e7ef92fdb603af844d064faad95db9bcdfd3d)]) + - [1] Coin(1666663333, sPK=[push() push(4747e8746cddb33b0f7f95a90f89f89fb387cbb6)]) + - [2] Coin(1666663334, sPK=[push() push(7fda9cf020c16cacf529c87d8de89bfc70b8c9cb)]) + witnesses: + - [0] + - [0.0] [ + push(5eb59117ddf962d44e11da5ce76c699cd9e6af53764795600543f02960b66023) + 10 + push(c707f3e01b67c9dac06ad15cf0800cc07278a0a1c4f54cb92457ee5c0d84519a) + OP_UNVAULT + ] + - [0.1] [push(c150929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0)] + nLockTime: 0 + + +== References == + +* [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-February/012470.html Bitcoin Vaults (2016)] +* [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-April/017755.html On-chain vaults prototype (2020)] +* [https://arxiv.org/abs/2005.11776 Custody Protocols Using Bitcoin Vaults (2020)] +* [https://jameso.be/vaults.pdf Vaults and Covenants (2023)] + +== Acknowledgements == + +The author would like to thank + +* AJ Towns and Greg Sanders for discussion, numerous suggestions that improved the proposal, and advice. +* BL for discussion and insight. +* John Moffett for early feedback and a test case demonstrating a recursive script evaluation attack. +* Johan Halseth for providing conceptual review and pointing out a pinning attack. +* Pieter Wuille for implementation advice.