<oembed><type>rich</type><version>1.0</version><author_name>npub1d3yzrjfu44rf7wehmqcyantnssqc54hknanqh3df9yfj3qycvg7q9wv3vk</author_name><author_url>https://nostr.ae/npub1d3yzrjfu44rf7wehmqcyantnssqc54hknanqh3df9yfj3qycvg7q9wv3vk</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2022-10-19&#xA;📝 Original message:Hi all,&#xA;&#xA;Chiming in on this thread as I feel like the real dangers of RBF as default&#xA;policy aren&#39;t sufficiently elaborated here. It&#39;s not only about the&#xA;zero-conf (I&#39;ll get to that) but there is an even bigger danger called the&#xA;american call option, which risks endangering the entirety of BIP21 &#34;Scan&#xA;this QR code with your wallet to buy this product&#34; model that I believe&#xA;we&#39;ve all come to appreciate. Specifically, in a scenario with high&#xA;volatility and many transactions in the mempools (which is where RBF would&#xA;come in handy), a user can make a low-fee transaction and then wait for&#xA;hours, days or even longer, and see whether BTCUSD moves. If BTCUSD moves&#xA;up, user can cancel his transaction and make a new - cheaper one. The&#xA;biggest risk in accepting bitcoin payments is in fact not zeroconf risk&#xA;(it&#39;s actually quite easily managed), it&#39;s FX risk as the merchant must&#xA;commit to a certain BTCUSD rate ahead of time for a purchase. Over time&#xA;some transactions lose money to FX and others earn money - that evens out&#xA;in the end. But if there is an _easily accessible in the wallet_ feature to&#xA;&#34;cancel transaction&#34; that means it will eventually get systematically&#xA;abused. A risk of X% loss on many payments that&#39;s easy to systematically&#xA;abuse is more scary than a rare risk of losing 100% of one occasional&#xA;payment. It&#39;s already possible to execute this form of abuse with opt-in&#xA;RBF, which may lead to us at some point refusing those payments (even with&#xA;confirmation) or cumbersome UX to work around it, such as crediting the&#xA;bitcoin to a custodial account.&#xA;&#xA;To compare zeroconf risk with FX risk: I think we&#39;ve had one incident in 8&#xA;years of operation where a user successfully fooled our server to accept a&#xA;payment that in the end didn&#39;t confirm. To successfully fool (non-RBF)&#xA;zeroconf one needs to have access to mining infrastructure and probability&#xA;of success is the % of hash rate controlled. This is simply due to the fact&#xA;that the network currently won&#39;t propagage the replacement transaction to&#xA;the miner, which is what&#39;s being discussed here. American call option risk&#xA;would however be available to 100% of all users, needs nothing beyond the&#xA;wallet app, and has no cost to the user - only upside.&#xA;&#xA;Bitrefill currently processes 1500-2000 onchain payments every day. For us,&#xA;a world where bitcoin becomes de facto RBF by default, means that we would&#xA;likely turn off the BIP21 model for onchain payments, instruct Bitcoin&#xA;users to use Lightning or deposit onchain BTC to a custodial account that&#xA;we have.&#xA;This option is however not available for your typical&#xA;BTCPayServer/CoinGate/Bitpay/IBEX/OpenNode et al. Would be great to hear&#xA;from other merchants or payment providers how they see this new behavior&#xA;and how they would counteract it.&#xA;&#xA;Currently Lightning is somewhere around 15% of our total bitcoin payments.&#xA;This is very much not nothing, and all of us here want Lightning to grow,&#xA;but I think it warrants a serious discussion on whether we want Lightning&#xA;adoption to go to 100% by means of disabling on-chain commerce. For me&#xA;personally it would be an easier discussion to have when Lightning is at&#xA;80%+ of all bitcoin transactions. Currently far too many bitcoin users&#xA;simply don&#39;t have access to Lightning, and of those that do and hold their&#xA;own keys Muun is the biggest wallet per our data, not least due to their&#xA;ease-of-use which is under threat per the OP. It&#39;s hard to assess how many&#xA;users would switch to Lightning in such a scenario, the communication&#xA;around it would be hard. My intuition says that the majority of the current&#xA;85% of bitcoin users that pay onchain would just not use bitcoin anymore,&#xA;probably shift to an alt. The benefits of Lightning are many and obvious,&#xA;we don&#39;t need to limit onchain to make Lightning more appealing. As an&#xA;anecdote, we did experiment with defaulting to bech32 addresses some years&#xA;back. The result was that simply users of the wallets that weren&#39;t able to&#xA;pay to bech32 didn&#39;t complete the purchase, no support ticket or anything,&#xA;just &#34;it didn&#39;t work 🤷‍♂️&#34; and user moved on. We rolled it back, and later&#xA;implemented a wallet selector to allow modern wallets to pay to bech32&#xA;while other wallets can pay to P2SH. This type of thing  is clunky, and&#xA;requires a certain level of scale to be able to do, we certainly wouldn&#39;t&#xA;have had the manpower for that when we were starting out. This why I&#39;m&#xA;cautious about introducing more such clunkiness vectors as they are&#xA;centralizing factors.&#xA;&#xA;I&#39;m well aware of the reason for this policy being suggested and the&#xA;potential pinning attack vector for LN and other smart contracts, but I&#xA;think these two risks/costs need to be weighed against eachother first and&#xA;thoroughly discussed because the costs are non-trivial on both sides.&#xA;&#xA;Sidenote: On the efficacy of RBF to &#34;unstuck&#34; stuck transactions&#xA;After interacting with users during high-fee periods I&#39;ve come to not&#xA;appreciate RBF as a solution to that issue. Most users (80% or so) simply&#xA;don&#39;t have access to that functionality, because their wallet doesn&#39;t&#xA;support it, or they use a custodial (exchange) wallet etc. Of those that&#xA;have the feature - only the power users understand how RBF works, and&#xA;explaining how to do RBF to a non-power-user is just too complex, for the&#xA;same reason why it&#39;s complex for wallets to make sensible non-power-user UI&#xA;around it. Current equilibrium is that mostly only power users have access&#xA;to RBF and they know how to handle it, so things are somewhat working. But&#xA;rolling this out to the broad market is something else and would likely&#xA;cause more confusion.&#xA;CPFP is somewhat more viable but also not perfect as it would require lots&#xA;of edge case code to handle abuse vectors: What if users abuse a generous&#xA;CPFP policy to unstuck past transactions or consolidate large wallets. Best&#xA;is for CPFP to be done on the wallet side, not the merchant side, but there&#xA;too are the same UX issues as with RBF.&#xA;In the end a risk-based approach to decide on which payments are&#xA;non-trivial to reverse is the easiest, taking account user experience and&#xA;such. Remember that in the fiat world card payments have up to 5%&#xA;chargebacks, whereas we in zero-conf bitcoin land we deal with &#34;fewer than&#xA;1 in a million&#34; accepted transactions successfully reversed. These days we&#xA;have very few support issues related to bitcoin payments. The few that do&#xA;come in are due to accidental RBF users venting frustration about waiting&#xA;for their tx to confirm.&#xA;&#34;In theory, theory and practice are the same. In practice, they are not&#34;&#xA;&#xA;All the best,&#xA;Sergej Kotliar&#xA;CEO Bitrefill.com&#xA;&#xA;&#xA;-- &#xA;&#xA;Sergej Kotliar&#xA;&#xA;CEO&#xA;&#xA;&#xA;Twitter: @ziggamon &lt;https://twitter.com/ziggamon&gt;&#xA;&#xA;&#xA;www.bitrefill.com&#xA;&#xA;Twitter &lt;https://www.twitter.com/bitrefill&gt; | Blog&#xA;&lt;https://www.bitrefill.com/blog/&gt; | Angellist &lt;https://angel.co/bitrefill&gt;&#xA;&#xA;&#xA;-- &#xA;&#xA;Sergej Kotliar&#xA;&#xA;CEO&#xA;&#xA;&#xA;Twitter: @ziggamon &lt;https://twitter.com/ziggamon&gt;&#xA;&#xA;&#xA;www.bitrefill.com&#xA;&#xA;Twitter &lt;https://www.twitter.com/bitrefill&gt; | Blog&#xA;&lt;https://www.bitrefill.com/blog/&gt; | Angellist &lt;https://angel.co/bitrefill&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20221019/cda936ac/attachment.html&gt;</html></oembed>