Transaction fees play a fundamental role in the proper functioning of the Bitcoin protocol. These fees act as an economic incentive for miners, who compete to create a block — which includes transactions — and compute a hash of that block that meets the minimum required difficulty for it to become a valid block. This process is what we refer to as “mining a block,” and the miner who successfully mines a valid block receives the current block reward of 3.125 BTC as in 2025, plus all the fees from the transactions included in that block.

Since block size is limited, miners tend to prioritize transactions with higher fees, as this allows them to maximize the revenue they earn.

In this context, every time a user wants to send a transaction, they must define how much they are willing to pay in fees for the transaction to be accepted and confirmed in the next block. If the user sets the fee too low, the transaction may take a long time to confirm, ormight never be included in any block and eventually be discarded.

Currently, the Bitcoin protocol offers two alternatives to solve this issue: Child Pays For Parent (CPFP) and Replace-by-Fee (RBF). Both can help a transaction get included in a block sooner by increasing the total fee a miner would earn for including it.

RBF allows a pending transaction to be replaced by a new one that pays a higher fee, thereby increasing its chance of being confirmed quickly.

Bitcoin Privacy problems

  • Although Bitcoin is often perceived as an anonymous system, its architecture does not guarantee privacy by default. Every transaction is publicly recorded on the blockchain, which makes it possible to analyze them and establish potential links between addresses. The outputs of a transaction — which are later used as inputs in another transaction (known as UTXOs) — must be spent in full. This usually means that payment transactions typically include a change output that returns BTC to the sender.
  • By analyzing a transaction, it is often possible to identify which output was the payment (sent to a third party) and which was the change (returned to the sender). If the change output is detected, it becomes easier to identify which address belongs to the sender, thus compromising the traceability of their activity on the blockchain.
  • There are heuristics to detect change outputs, such as comparing output values, address types, or analyzing typical transaction construction patterns used by wallets. These techniques can put user privacy at risk.
  • In this context, it’s important to consider how the RBF may contribute to the detection of change outputs.

What is RBF?

Replace-by-fee is a mempool policy which allows the transaction to be replaced by a new one that shares at least one of the same inputs, but pays a higher fee. When this replacement occurs, both transactions (the original and the replacement) never coexist in the mempool. Once the new one is accepted, the old one is removed. RBF policy has been in use for some time, but there are different ways to apply it:

  • First-seen-safe RBF: This variant allows a transaction to be replaced if the new one pays higher fees and has the same outputs as the original transaction. This was proposed in the early days due to concerns (later disproven) that RBF could facilitate double spending attacks.
  • Opt-in RBF: This variant only allows a transaction to be replaced if the original transaction has set a specific field indicating that it can be replaced. The downside of this method is that the user must know in advance whether they might want to replace the transaction. For this reason, many users would generally mark transactions as replaceable just in case they needed to replace them later.
  • Delayed RBF: This variant allows a transaction to be replaced after a certain number of blocks have been mined.
  • Full RBF: This variant allows any transaction to be replaced, as long as the new transaction pays at least the total fees of the original transaction(s) plus an additional fee sufficient to cover its own relay cost. A node replaces a transaction when it detects that a new transaction uses at least one of the same inputs and pays higher fees. Currently, in the version of Bitcoin Core (v28.0), Full-RBF is applied to all transactions. This means that transactions do not need to be explicitly marked as
    replaceable
    — they can be replaced directly. The mempool detects a replacement when a new transaction tries to enter using an input that is already being spent by another transaction in the mempool. When this happens, it checks that the new transaction exceeds the feerate (BTC/byte) and the total fee (i.e., the total BTC paid in fees).

Output change detection with RBF

When using Replace-By-Fee (RBF), the replacement transaction is typically very similar to the original one — the only major difference being the increased fee. If someone is monitoring the mempool and capturing all broadcasted transactions, they could obtain both the original and the replacement transactions.

Since these two transactions are almost identical, a malicious observer could compare them to identify which output is the payment and which is the change. This would compromise the sender’s privacy by revealing the address that belongs to them.

Let’s explore some common scenarios where RBF can undermine the sender’s privacy:

  • Same Number of Outputs:
    • Two Outputs:
      • This is the simplest case. The presence of only two outputs makes it easier to identify the change (since one of the outputs is the payment and the other one the change). To detect the change output, we compare the outputs of the original transaction and its replacement: if one of the outputs is identical in both versions, we assume it is the payment output; the other one, which changes in value, is considered the change,
        as it reflects the adjustment associated with the difference in fees.
      • In the first example (TX1 and TX2), we observe that one of the outputs remains the same, while the other decreases in value. This behavior is consistent with the increase in fees in the replacement transaction: if the inputs are the same, a higher fee can only be reflected by a reduction in the change output.
      • In the second example (TX3 and TX4), the same comparison pattern occurs, but in this case, the output that changes increases in value. This may happen if one of the inputs was modified, so that, despite the higher fee, the increased input value offsets the difference and causes the change amount to grow.
      • This type of analysis is especially reliable in transactions with two outputs, as there is only one possible payment output and one change output, eliminating ambiguity.
    • More than two outputs:
      • This case is a slight evolution of the previous one.
      • Here, we analyze transactions with more than two outputs, but the underlying idea remains the same: we compare the replacement transactions to nd one output that has a different value. This output, which differs, is identifed as the change.
      • However, unlike cases with exactly two outputs, we cannot guarantee that the remaining outputs are all payments. While we can assume the output identifed as change is indeed the change, we cannot rule out that some of the others might also be change. Generally, we can assume that unchanged outputs correspond to payments, but we must also consider the possibility that some wallets intentionally create multiple change outputs to make detection via heuristics more difficult.
      • In the first example, we observe that all outputs remain unchanged except one, which decreases in value. Following the same logic as in previous cases, this output is considered the change.
      • These are the most basic cases, and also the ones that provide the strongest guarantees when it comes to correctly identifying a change output.
    • To test whether these common scenarios were truly effective at detecting the change output, we developed a program to capture real transactions in the mempool that had been replaced. Later, we searched for transactions that followed these patterns and attempted to deduce the change output. These were the results:
    • The previous scenarios represents 76% of all captured transactions. This indicates that, although it is the easiest case for identifying the change output, it is also the most common.
    • As shown in Figure 7, when the transaction has only two outputs, the change output is detected in 88.6% of the cases. In this scenario, we can be confident that the identified change output is correct, since the other output must necessarily correspond to the payment.
    • In transactions with more than two outputs, the results remain positive, but it’s important to note that we cannot always be certain that the identified output is the only change output present in the transaction.
  • Different number of outputs
    • This case presents a greater difficulty compared to the previous ones. Until now, the comparison between different versions of a replaced transaction was relatively simple, as the number of outputs remained the same across versions. However, in this scenario, each replacement may contain a different number of outputs, which significantly complicates the task of identifying the change output.
    • In these cases, we do not have many clear patterns that allow us to reliably identify the change. The only pattern we’ve observed with some consistency is characterized by the appearance of an additional output in each replacement. We observe that, except for one, the rest of the outputs maintain the same value across versions, allowing us to assume they are payment outputs. The output that does change in value is split into two new outputs.
    • Following the example we see that from transaction TX1 to TX2, output 12 is split into two new outputs, 22 and 23. The sum of these two new values is almost equal to the original value of 12, taking into account the increased fee associated with the replacement. This suggests that output 12 was most likely the change output. The same pattern repeats in the step from TX2 to TX3.
    • This behavior can help us identify payment outputs (those that keep a constant value), but when it comes to identifying the change output, it always leaves us with at least two possible candidates. Without the aid of additional complementary heuristics, it is not possible to determine with certainty which of the two outputs is actually the change. Furthermore, it is important to keep in mind that we cannot assume there is only one change output.

  • Other heurisitcs
    • We have seen the high effectiveness in detecting the change output in transactions that use the Replace-by-Fee (RBF) policy. This leads us to ask the following question: is this effectiveness really as high as it seems, or is it just common for change outputs to be so easily identifiable? To answer this, we have compared the results obtained with heuristics for detecting change outputs.
    • To make this comparison rigorous, we focused exclusively on simple transactions with two outputs. This choice is due to the fact that it is the simplest and most reliable scenario. Moreover, in the most basic case—two outputs—we can assume with a high degree of confidence that the output identified as change by RBF is correct, which facilitates comparison and validation of the heuristic results.
    • For each RBF transaction chain, we analyzed only the final transaction (i.e., the version that ultimately ends up on the blockchain). This approach was chosen because heuristics work with the confirmed transaction, and do not take into account previous versions that were replaced.
    • The results obtained from this analysis are shown in the following table:
      | | Total RBF Transactions | 36,819| | RBF | 33,419| | Optimal Change Heuristic | 23,119| |Heurı́stica Address Type Consistency | 24,353| |Heurı́stica Roundnumber Payments | 18,452|
    • We now can confirm, that the RBF herusitics is much supperior to the classic heuristics used to detect the output change.

How can we imporve our privacy?

  • Now that we understand the privacy issues associated with using RBF, is there any way to avoid them? Fortunately, there are a few strategies that can make this type of analysis more difficult, thereby making change detection more challenging.
  • The first strategy is to create a replacement transaction with a different number of outputs compared to the original transaction. Although some information could still be inferred, this variation complicates the comparison between outputs across versions.
  • We also observed that many transactions reuse the same addresses across all replacements. This is a critical issue, as it makes it much easier for a malicious actor to identify the change output.
  • Finally, if avoiding change detection is very important for you, you could include more than one change output. This adds ambiguity and ensures that not all of the change can be confidently traced back to you.
  • By following these steps, you can enhance your privacy—though it’s worth noting that these methods typically result in higher fees due to increased transaction size.

Leave a Reply

ARENA168 Main Game Online x Replace By Fee – DISCRYPT

ARENA168 membahas Main Game Online x Replace By Fee – DISCRYPT dengan sudut yang lebih spesifik: bagaimana pola bermain, RTP, dan ritme putaran bisa memberi gambaran yang lebih jelas sebelum ambil langkah. Tema ini dibuat untuk pembaca yang ingin menangkap momen, bukan sekadar ikut arus.

Di panel ini, perhatian diarahkan ke slot online, slot gacor, dan maxwin yang relevan dengan judul. Bukan ulasan umum, melainkan pembacaan yang menyorot perubahan tempo, sinyal pola, dan peluang yang mungkin terasa berbeda saat sesi berlangsung.

Jika Anda ingin melihat pendekatan yang lebih terarah, ARENA168 memberi ruang untuk menimbang detailnya sebelum masuk lebih jauh. Simak alurnya dengan tenang, lalu putuskan sendiri apakah DISCRYPT sesuai dengan gaya baca Anda.

kokototo komandopoker kongbet kongsibet kontanslot kopijitu kopiqq kpkslot kripto88 kris4d kristalpoker ktp303 kuasqq kuda4d kudamasqq kumpulanmpo kumpulansyairsgp kumpulqq kunbos kunci4d kurniaqq kuyslot kyoslot ladangmas laju88 laliga188 lambeslot lambo123 lambo234 lanetogel langkacurang lapak77 lapak777 lapakgeming laristoto laskarmpo lasvegasqq lazabet lazbet lenetogel lenitogel levelbet88 levesgp lexus365 libertyqq lientogel liga77 liga99 ligabandar ligaboladigital ligabwin ligacapsa13 ligacapsa99 ligaciputa ligaciputra2 ligaciputraslot ligadew ligadewa88 ligaepl ligaidn ligainfini ligajackpot ligajp77 ligakembar ligaklik liganation liganationz ligapelangi ligapokerqq ligaqq ligasedayu ligaslot88 ligasloto limetogel lincahpoker lineslot linetgl linetigel linetog linetoge linetohel lingtogel link link7meter linkalternatifsbobet linkmpo linkpoker linkqq99 linktogel liontoto lippoqq listrik88 livdrawhk livdrawmacau livdrawsgp live22 livecambodia livecasino livecina livedraw livedrawcamboja livedrawcina livedrawhktercepat livedrawkamboja livedrawtaiwan livedrawtoto livedrawtotomacau livedrow livedrowsgp liveresulthkg livesdy liveslot liveslot168hoki311 livetaiwan livetogel livetotomacau livsgp logikaqq loka99 lokasi123 loker4d lolidraw lolipop138 londonklub lotreslot lotus4d3 lotus99 lslot lt88 lucky138 lucky77 lucky777 lucky88 lucky99 luckympo luckyneko luckypoker77 luckyslot99 lucury333 lumbung88slot lumbung88slots lumbungtogel luxorplay luxsury333 luxsury777 luxuri12 luxuri333 luxuri777 luxury12 luxury138kk luxury7777 luxury8et luxuryslot luxxury333 lxpoker m13game m1toto m2mslot m3bola m88taruhan m8win mabar189 mabosbet macan17 macanmpo macaoslot macaslot macau4d macaupools macauprize macauslot macauslot168 macawslot maccau macibet macobet macoo4d macou macow madrid88 maenyuk mafiabola77 mafiaslot mafiawin88 magicly magnumbet88 maha21 mahabet168 mahawin mahjong118 mahkotaslot4d mainmpo mainslot mainslot77 mainslot777 maju123 makatiqq makauklub makauslot makotaslot makow makswin88 makwin138 makwin888 malakabet malam88 malamqq maleo88 mamajitu mamaslot mamenslot mamiqq mamybet manadoto mandala88 mandalikaslot mandriqq mangatoto manggatotowap manggtoto maniakslot maniaqq maniaslots mantulbro mapsbet margabola mari2bet mariah4d markas78 markas88 markasmpo marketslot88 mas88 masjoker maspk88 master777 master88 master99 masterslot777 masterslot99 matahari188 mataharibet matahariqq mataslot mataslot77 matrixslot mauslot88 maveus88 mavius88 mawartot max77slot max88 maxbet maxbet222 maxpoker88 maxpro88 maxsistoto maxslot maxswin138 maxwim maxwin666 mbahtogel mbahtoto mbakslot mbosport mbowin77 mcparlay mctytoto mdnslot meainslot mebank medan777 mediaslot mediaslot78 mega228slot megabet88 megah123 megajekpot megajudi megalux138 megapoker88 megaqq megaselot megaslot megaslot188 megaslot288 megasloti megawi188 megawin888 meja365 mejagacor melati118 melatislot melonslot menang77 menang888 menangmenang menangslot777 menangslot88 menaraqq menaraslot mentari88 mentaripoker merahslot merapi369 mercyslot merdekaslot merdekaspin merpati777 merpatiqq merpatislot88 mesi99 mesinselot mesinslots metaslot88 metos4d metro77 metrohoki mexwin138 mgmclub mgmklub mgo77 mickey88 microgaming mikigeming mildkasino miliarderqq milotogel mimpi138 mimpi2d mimpi4d mimpishio mingslot misiqq mislot88 misterdomino mitrapoker88 mitraslot mivius88 mixparlay miyabi88 miyabiplay miyabislot ml138 mobatogel mochimon modalhoki88 modalreceh modeslot modetoto mogeqq momoslot momoslots monsterbola mony138 moonbet303 mos77 mos77slot mpgoal mplayslot mpo00 mpo01 mpo0404 mpo118 mpo1771 mpo21 mpo2882 mpo2play mpo338slot mpo39a mpo5000 mpo555slot mpo633 mpo67 mpo69 mpo8 mpo81 mpo838 mpo88qq mpoaa mpoad mpobts mpocagor mpocas mpochas mpochip mpogacir mpogaco mpogacot mpogacpr mpogajor mpogancor mpogecor mpogold mpohp mpoidslot mpoif mpojackpot mpojaya mpojoker mpojuara mpojuta mpokataslot mpokcik mpokic mpokik mpokikc mpoline66 mpoline77 mponaga88 mponinja mpoplay mpoplay99 mporans89 mporatu mporaya mporef mposlot777 mposms mpospor mpospot mpoterbaru mpotiktok mpotnt mpotowers mpowings mpowl mpoxyz mpoyea mpoyou mpslot mptogel msislot mtogelcc mulia123 muliaslot muliatoto multibet88 muncrat77 murah77 murah777 musang123 music4d musikqq mustika88 mustislot mutanslot mutiara88 mw88toto naca99 nada4ddesa4d naga321 naga388 naga9slot nagaboa nagabol nagadadu nagaliga naganola nagapokerasia nagaslot888 nagatop nagawon nagbola nahabola namatogel nanaslot narutoslot nasibqq navibet ndomino99 negaratoto nekoslot nelayanbet nenek88 neneksakti nenetogel net777 nettoto newlivedrawhk next138 nexusslot ngamen ngamen4d ngamenslot ngeriqq nikmatqq ninjaslot ninjaslot88 nissinbet noahpoker nobar88 nolimitcity nongki303 normalbet novaslot nrtoto nuansa88 nukegaming number4d nusa99 nusanet88 nusantara88a nusantata88 nusaslot nusaslots nxslot88 obor138 oceanslot88 octopusindonesia okbet okejudi okeyplay777 olba88 olimpus88 oliympus88 olslot ARENA168 Main Game Online x Replace By Fee – DISCRYPT