Çifte Harcama Nasıl Çalışır?
article-10719

Çifte Harcama Nasıl Çalışır?

Alice Cooper · 27 Eylül 2025 · 5d ·

Temel Bilgiler

Dijital paranın dünyasında çifte harcama kritik bir sorundur. Bu sorun, aynı fonların aynı anda iki alıcıya gönderildiğinde ortaya çıkar. Uygun karşı önlemler yoksa, protokol temelden zedelenir çünkü kullanıcıların aldıkları fonların başka yerde zaten harcanmamış benzersiz birimler olduğunu doğrulamanın bir yolu yoktur.

Dijital paranın bütünlüğünü sağlamak için belirli birimlerin kopyalanmasını önlemek çok önemlidir. Bir kullanıcı birimlerini kopyalayıp yapıştırarak birden çok kez kullanabilseydi, sistemin tamamı çöker ve fon fazlalığı oluşurdu. Aynı şekilde Alice'in aynı 10 birimi hem Bob'a hem de Carol'a aynı anda göndermesi mümkün olmazdı. Bu nedenle bu davranışı engelleyecek ve dijital paranın etkin şekilde çalışmasını sağlayacak mekanizmalar olmalıdır.

Çifte Harcama Sorununa Çözümler

Dijital işlemlerde çifte harcamayı önlemenin iki yaklaşımı vardır: merkezi yaklaşım ve merkeziyetsiz yaklaşım. Merkezi yaklaşımda sistemi tek bir gözlemci yönetir ve birimlerin ihraç ve dağıtımını kontrol ederken, merkeziyetsiz yaklaşım, eşit güçte katılımcıların sahtekarlığı önleyecek kurallar etrafında koordinasyonunu gerektirir.

Merkezi

David Chaum’un eCash'i çifte harcama sorununa merkezi bir çözüm örneğidir. Merkezi olmayan alternatiflere göre uygulanması oldukça daha kolaydır çünkü sistemi tek bir gözlemci yönetir ve birimlerin ihraç ve dağıtımını kontrol eder. Banka, kullanıcılara dijital varlıklar vermek için David Chaum’un 1982 tarihli "Blind Signatures for Untraceable Payments" makalesinde detaylandırıldığı gibi kör imzaları kullanabilir.

Örneğin Frank adlı bir kullanıcı 100$ dijital nakit almak istesin. Frank bankaya haber verip rastgele bir sayı üretmeli ve her birine bankanın belirli birimleri takip etmesini önlemek için bir karartma faktörü (blinding factor) eklemelidir. Frank bu veriyi bankaya sunar; banka onun hesabından parayı düşer ve her biri 20$'a çevrilebilir beş bilginin mesajlarını imzalar. Frank artık bankanın verdiği fonları harcayabilir.

Örneğin Emily'nin restoranı dijital nakit kabul ediyor ve Frank orada yemek yemeye karar veriyor. Ödemek için her bir birim için benzersiz tanımlayıcı görevi gören iki rastgele sayıyı açığa çıkarır ve 40$'lık yemeğini bu şekilde öder. Emily, Frank'in bu birimleri başka bir tacire harcamasını engellemek için bunları derhal bankaya geri ödemelidir (redeem). Banka imzaların geçerli olduğunu kontrol eder, Emily'nin hesabına 40$ kredi verir ve kullanılan banknotları imha eder. Emily yeni bakiyesini aynı şekilde harcamak isterse daha fazla banknot ihraç edilmelidir.

Chaum tipi eCash gizli transferler için değerli olabilir, ancak banka merkezi bir arıza noktası olduğu için dayanıklılık açısından başarısız olur. İhraç edilen banknotun değeri yalnızca bankanın onu dolar karşılığında değiştirme isteğine dayanır ve müşteriler paranın işlemesi için bankanın iyi niyetine güvenmek zorundadır. İşte kriptoparanın çözmeyi hedeflediği sorun budur.

Merkeziyetsiz

Merkeziyetsiz bir sistemde çifte harcamayı önlemek zordur. Tüm katılımcılar sahtekarlığı engelleyen ve dürüst davranışı teşvik eden kurallar setine uymalıdır. Bitcoin white paper'ı bu soruna bir çözüm getirdi: blockchain.

Blockchain, ağdaki katılımcıların veritabanı kopyalarını eş zamanlamasına izin veren benzersiz özelliklere sahip bir veritabanıdır. Blockchain'i halka açık hale getirerek, çifte harcama gibi sahtecilikler kolayca tespit ve önlenebilir.

Bir kullanıcı bir işlemi yayınladığında, önce madencilik yoluyla bir bloğa dahil edilmesi gerekir; ancak o zaman blockchain'e eklenir. Bu nedenle alıcı, işlemin bloğu zincire eklendikten sonra işlemi geçerli olarak kabul etmelidir. Onaylandıktan sonra coinler çifte harcanamaz çünkü mülkiyet yeni bir kullanıcıya atanır ve tüm ağ bunu doğrulayabilir.

Bir restoranda yemek satın alma senaryosunda, restoran Bitcoin kabul ediyorsa müşteri restoranın sağladığı herkese açık adrese fonları göndermelidir. İmzalanmış işlemi gören herkes müşterinin coinleri gönderme yetkisine sahip olduğunu doğrulayabilir. Ancak restoranın, sahtekarlığı önlemek için ödemeyi kabul etmeden önce en az altı blok onayı (yaklaşık bir saat) beklemesi önerilir.

Blockchain, merkeziyetsiz sistemlerde çifte harcama sorununu çözerken kusursuz değildir. Onaylanmamış işlemleri kabul etmek risklidir ve göndericinin aynı coinleri başka yerde harcamasına izin verebilir. Bir işlem ne kadar çok blok onayı alırsa o kadar güvenli olur.

Bitcoin'de Çifte Harcama Problemini Çözmek

Bitcoin, çifte harcama saldırılarını önleyecek şekilde tasarlanmıştır, ancak bu yalnızca işlemler bir blokta onaylandığında geçerlidir. Kişiler onay beklerse, göndericinin işlemi geri alması kolay değildir. Blockchain'in "geriye çevrilmesi" gerekir ki bu, aşırı miktarda hashing gücü olmadan gerçekçi değildir.

Ancak taraflar onaylanmamış işlemleri kabul ettiğinde çifte harcama saldırıları mümkündür. Örneğin, bir satıcı düşük değerli satın almalarda işlemlerin bir bloğa dahil edilmesini beklemek istemeyebilir. Yoğun bir fast-food restoranında her satın alma için onay beklemek pratik değildir. Bir işletme "anlık" ödemelere izin verirse çifte harcamaya karşı savunmasız hale gelir. Birisi bir burger alıp ödediğini gösterdikten hemen sonra aynı fonları kendi adresine gönderebilir. Daha yüksek ücretle gönderilen yeni işlem muhtemelen önce onaylanır ve önceki işlemi geçersiz kılar.

Çifte harcama yapmak için üç popüler yöntem vardır.

  • İlk yöntem, bir varlık veya organizasyonun hash oranının %51'inden fazlasını kontrol ettiği 51% saldırısıdır; bu sayede işlemleri dışlayabilir veya sıralamasını değiştirebilirler.
  • İkinci yöntem yarış saldırısıdır (race attack): birbirini takip eden iki çelişkili işlem yayınlanır, ancak yalnızca biri onaylanır. Saldırganın amacı, kendisine fayda sağlayan işlemi doğrulayarak ödemenin geçersiz kılınmasıdır.
  • Son olarak Finney saldırıları, saldırganın bir işlemi yayınlamadan önce bir bloğa önceden madencilik yapması, aynı coinleri başka bir işlemde harcaması ve ardından daha önce madenciliği yapılmış bloğu yayınlayarak ödemenin geçersiz olmasına neden olması şeklinde gerçekleşir.

Çifte harcama kurbanı olma riskini minimize etmek için bir satıcı ödemenin kabulünden önce blok onaylarını beklemelidir.

Sonuç

Çifte harcama, bir kullanıcının aynı fonları elektronik nakit sisteminde finansal kazanç için birden fazla kez kullanması durumudur. Uzun süre uygun bir çözümü olmadan kalan bu sorun, alandaki ilerlemeyi engellemiştir.

Ancak kör imzaların önerdiği çözüm, merkezi finansal düzenlemeler için ilginç bir yaklaşım sundu. Ardından Proof of Work mekanizmaları ve blockchain teknolojisinin ortaya çıkışı, Bitcoin'i güçlü bir merkeziyetsiz para biçimi olarak doğurmuş ve binlerce diğer kripto para projesine ilham vermiştir.

Double Spending
Blockchain

Kriptonuzu %20'ye varan APY ile büyütün

Sadece yatırım yapın, rahatlayın ve bakiyenizin artışını izleyin — güvenli bir şekildeKazanmaya Başlayın