主页 > imtoken > 缓解比特币交易拥堵的方法——交易所和链下钱包合并提现

缓解比特币交易拥堵的方法——交易所和链下钱包合并提现

imtoken 2023-06-07 07:40:13

第0章介绍

目前比特币区块长期拥堵,手续费飙升。 而硬分叉扩容长期无法实现。 从目前的情况来看,拥堵还会持续。

有办法缓解吗?

一些。

Chapter 1 交易所和链下钱包提现或转账交易占据了网络交易的很大一部分

首先,我们将网络上的交易大致分为两类:

个人用户使用 Onchain 钱包发送的交易。 这包括用户向他人支付比特币、向交易所充值等。

比特币提币和提现_比特币币币交易是什么意思_比特币能交易提现

兑换取款。 这是交易所向个人用户发送比特币的交易。 有很多这样的交易。 除了交易所,用户使用链下钱包发出的交易也包括在内。 可以归入这一类。

其中,第二类交易还有优化空间。

目前国内各大交易所的提现都是用户发起提现业务,交易所向网络发起交易。 通常至少有一个输入、一个输出和一个变化。 用户承担手续费。

Offchain 钱包也是如此。 当用户发起转账时,供应商发起交易。 用户自行承担手续费。

这个过程可以被优化。

交易由输入和输出构成,交易在区块空间中占用的区块空间大小与输入和输出的数量成正比。 在保证完成相同转账的前提下,如果能够减少输入,就可以节省区块空间。

第二章 交易所可以允许多个用户的提现合并为一笔交易完成

比特币能交易提现_比特币提币和提现_比特币币币交易是什么意思

交易所可以设置时间间隔,比如平均出块时间为10分钟。 在一次交易中发送这 10 分钟内用户的所有提款。

如果一笔交易有一个大的UTXO,那么可以实现一次输入,一次找零,n次输出,这样一笔交易就可以在这10分钟内完成所有用户的提现服务。 这比为每个用户的提款发送一个交易节省了大量的交易量。

它可以节省一半以上的块空间。

节省区块空间自然也就节省了手续费,而且所有用户共享手续费,所以用户也节省了很多手续费。 即使是交易所,为了更简单,也可以直接固定手续费,比如直接设置一个0.1mbtc。 多了属于交易所自己的,少了交易所补足。 交易所甚至可以使用这种方法来产生收入。

另外考虑到交易所经常有取款审核时间,比如平均30分钟,那么30分钟的取款可以一次发送,这样可以节省更多的区块空间,也可以节省更多的手续费。

这是一个双赢的局面。

Offchain 钱包也是如此。

比特币提币和提现_比特币能交易提现_比特币币币交易是什么意思

考虑到一些用户可能需要使用交易来标记自己的身份,不愿意将其与其他人的交易混在一起,Offchain 钱包提供商可以提供类似的选项,并收取更高的单独发送交易费用。 Accept Send 交易混合在一起以收取较低的费用。 这鼓励使用混合交易进行取款和转账。

这种方式可以满足交易所的提现需求,如果交易所有非常大的UTXO,可以占交易量的一半以上。 如果有 n 次取款,它过去需要 n 个输入、n 个输出和 n 个更改。 使用这种方法后,只需要1个输入,1个变化,n个输出。这可以大大节省块空间

同样的效果也适用于 Offchain 钱包。

理想情况下,每个交易所或链下钱包每个区块只发送一笔交易。 这极大地优化了块空间的使用。

币友Mike告诉我,Localbitcoin早就采用这种方式了。

但是,如果交易所没有大的 UTXO 怎么办? 因为交易所的UTXO来自于用户的充值,实际上交易所一定不能有大的UTXO。

第 3 章交易所和链下钱包可以将碎片化的 UTXO 合并为一个大的 UTXO

比特币提币和提现_比特币币币交易是什么意思_比特币能交易提现

由于交易所和Offchain钱包接受大量用户的充值,必然会产生大量分散的UTXO。 例如,很多用户只充值少量的币。

这些大量的小额币种充值会在交易所形成大量分散的UTXO,如果将这些UTXO用于用户提现,将会带来大量的投入。

在这种情况下,交易所应该有规律地构建一个n个输入的交易,一个输入,将分散的UTXO整合起来形成一个大的UTXO。

因为网络交易也有波峰和波谷,交易所可以和矿池合作,让矿池在网络闲置的时候对这样的交易进行打包。 甚至矿池要出空块的时候,也专门用来打包这种交易。 这样,网络就可以消除空块。

使用这种方式还可以大大优化区块的利用率,可以避免交易所提现过程中大量多次输入一次输出的大额低效交易。

同样,这种方法也适合链下钱包提供商使用。

第 4 章使用 RBF 函数节省事务空间

比特币能交易提现_比特币币币交易是什么意思_比特币提币和提现

首先,我非常不喜欢RBF的功能,完全没有必要的东西。 虽然RBF可以实现上面第2章提到的让交易所实现多次提现并打包成一笔交易,但实际上没有必要使用RBF,交易所可以自己编程实现这样的交易. RBF功能本质上不需要在主链上实现比特币能交易提现,应该交给商业公司来完成。

原理很简单。 当用户发起提现时,交易所使用大额UTXO和低于平均交易手续费的手续费发起一笔交易,一进一出,一找零。 交易被标记为 RBF 交易。 当新用户发送提款时比特币能交易提现,交易所使用 RBF 函数发起新交易,使用与之前相同的输入和找零,以及新的输出。 每当用户发起取款时,RBF 函数用于发起一次相同输入、找零和新输出的交易。 直到交易确认。

这样,当接受RBF交易的矿池收到并确认这一堆RBF标记的交易时,就会将其压缩为一笔交易。 形成一个有一个输入、一个零钱和 n 个输出的交易。

这实现了第 2 章中描述的联合取款交易。

理想情况下,每个交易所或链下钱包每个区块只发送一笔交易。

第五章结论

如果能解除比特币区块大小限制并成功扩容就好了。