<oembed><type>rich</type><version>1.0</version><author_name>npub1vtwuk4rjyj6zrq3tv2z9lvdm6a7g8zujf0gz9q2vljlztdaqw36sjjsjpg</author_name><author_url>https://nostr.ae/npub1vtwuk4rjyj6zrq3tv2z9lvdm6a7g8zujf0gz9q2vljlztdaqw36sjjsjpg</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2019-08-07&#xA;📝 Original message:Hi,&#xA;&#xA;One of the biggest problems with the vault scheme (besides all of the&#xA;setup data that has to be stored for a long time) is an attacker that&#xA;silently steals the hot wallet private key and waits for the vault&#39;s&#xA;owner to make a delayed-spend transaction to initiate a withdrawal&#xA;from the vault. If the user was unaware of the theft of the key, then&#xA;the attacker could steal the funds after the delay period.&#xA;&#xA;To mitigate this, it is important to choose a stipend or withdrawal&#xA;amount per withdrawal period like x% of the funds. This limits the&#xA;total stolen funds to x% because once the funds are stolen the user&#xA;would know their hot key is compromised, and the user would know to&#xA;instead use one of the other clawback paths during all of the future&#xA;withdrawal delay periods instead of letting the delay timeout all the&#xA;way to the (stolen) default/hot key.&#xA;&#xA;The reason why a loss limiter is the way to go is because there&#39;s&#xA;currently no way (that I am aware of, without an upgrade) to force an&#xA;attacker to reveal his key on the blockchain while also forcing the&#xA;attacker to use a timelock before the key can spend the coins. I am&#xA;curious about what the smallest least invasive soft-fork would be for&#xA;enabling this kind of timelock. There are so many covenant proposals&#xA;at this point (CHECKSIGFROMSTACK, SECURETHEBAG, CHECKOUTPUTVERIFY,&#xA;....). Or there&#39;s crazy things like a fork that enables a transaction&#xA;mode where the (timelock...) script of the first output is&#xA;automatically prefixed to any of the other scripts on any of the other&#xA;outputs when an input tries to spend in the future. A thief could add&#xA;his key to a new output on the transaction and try to spend (just like&#xA;a user would with a fresh/rotated key), but the OP_CSV would be&#xA;automatically added to his script to implement the public observation&#xA;delay window.&#xA;&#xA;Also, there was other previous work that I was only informed about&#xA;today after posting my proposal, so I should mention these as related&#xA;work:&#xA;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-February/015793.html&#xA;https://blog.oleganza.com/post/163955782228/how-segwit-makes-security-better&#xA;https://www.youtube.com/watch?v=diNxp3ZTquo&#xA;https://bitcointalk.org/index.php?topic=5111656&#xA;&#xA;- Bryan&#xA;http://heybryan.org/</html></oembed>