Bitcoin işlemleri bir bloğa dahil edilene kadar "onaylanmamış" (unconfirmed) statüsündedir.
Aynı girdinin harcandığı 2 farklı onaylanmamış işleme "çifte harcama" denir.
Örnek; A adresimde 10 BTC olsun. Bu BTC'yi ben hem B'ye hem de C'ye gönderebilirim.
A -> B 10 BTC gönderimi yaparken 0.0001 BTC madenci ücreti öderim. (onay istemeyen bir işlem olsun bu, karşılığında ürünü almış olurum vs)
A -> C 10 BTC gönderimi yaparken 0.001 BTC madenci ücreti öderim. (bu işlemde de C adresi yine benim kontrolümdeki bir adrestir.)
Bu her 2 işlem de "mempool" (hafıza havuzu, memory pool)'da yani "madencilerin gelecek bloğa dahil edeceği işlem havuzunda" bulunur. Bu işlemlerden herhangi biri bir bloğa dahil olacaktır. Eğer A->B işlemi dahil olursa karşıdaki kişiyi dolandıramamış olurum. Ancak kendime ödeme gönderirken 10 kat fazla madenci ücreti ödediğim için A-> C işlemi daha yüksek öncelikli olacağından bu işlemin onaylanması daha garanti gibidir. Bu yüzden "elden yapılan işlemlerde" en az 1 onay beklenmesi gerekir.
Bu 2 işlemden biri bir bloğa dahil edildiğinde (yani ilk konfirmasyonunu aldığında) diğer işlem (yani double spend) mempool'lardan atılır (blok zincirleri üzerinde görüntülenmeyebilir).
Böyle bir çift harcama işini yapmamanızı tavsiye ederim. Örneğin kumar siteleri gönderir göndermez bitcoini hesabınıza yansıtır, peki sonra? kuponlarınız tutsa, 2-3 kat fazla para kazansanız bile size ödeme yapmazlar, hesabını kapatılır. Aynı şey diğer online işlemlerde de geçerlidir. Hesaplarınız kapatılır, dolandırıcı damgası yersiniz.
Uyarım "elden" yapılan işlemler içindi.
1-Anlamadığım şu cüzdandan A hesabından B hesabına 10BTC gönderdin. Bu işlenmek üzere memory pool alındı. Cüzdanında BTC yoksa A hesabından C hesabına 10 BTC daha yollayabilir misin?
2-Hadi 20BTC vardı ve anlattığın gibi iki ödeme yaptın, mantıken Fee çok ödediğin önce az ödediğinde sonra onaylanması gerekmez mi?
3-Benim gibi Fee yi az ödemiş ve BTC leri günlerdir memory pool da bekleyen biri ikinci bir gönderimde de bulunmamışşa bu hesabın başınada "Double Spend" gelme ihtimali var mıdır?
4-Diyelimki ben az Fee ödeyerek BTC leri gönderdikten sonra hesabımıda sildim, memory pool dan onay alamayan BTC lere ne olur?