Bitcoin sık sık dijital para olarak anılır, ancak bu tartışmaya açık bir benzetmedir. Alice, Bob'a nakit olarak 10 dolar öderse Bob bu paranın nereden geldiğini bilemez. Bob daha sonra aynı parayı Carol'a verdiğinde, Carol paranın önce Alice'te olduğunu çıkaramaz.
Bitcoin, açık yapısı nedeniyle bundan farklıdır. Belirli bir coin'in (yani harcanmamış işlem çıktısının, UTXO'nun) geçmişi herkes tarafından kolayca incelenebilir. Süreç, bir bitcoin her el değiştirdiğinde işlem tutarının ve alıcı adlarının bir fatura üzerine yazılmasına benzer.
Yine de kamuya açık adreslerde isim bulunmaması, kullanıcı kimliklerinin kolayca ortaya çıkmasını engeller. Ancak Bitcoin tam anlamıyla gizli değildir. Blok zinciri analizi giderek gelişiyor ve adreslerle kimlikleri her geçen gün daha başarılı biçimde eşleştiriyor. İzleme tekniklerinin yanı sıra, özellikle bu amaçla çalışan bir birim de kripto para kullanıcılarının kimliklerini açığa çıkarabilir. Bunu önlemek için yıllar içinde işlemler arasındaki bağlantıyı koparan teknikler ortaya çıktı.
Coin karıştırma nedir?
Genel anlamda coin karıştırma, fonları başka fonlarla takas ederek gizlemeyi amaçlayan işlemleri ifade eder. Ancak kripto para dünyasında coin karıştırma çoğunlukla üçüncü tarafların sunduğu hizmetler için kullanılır. Hizmet sağlayıcılar kullanıcıların coin'lerini (ve düşük bir işlem ücretini) alır, karşılığında gönderilenlerle hiçbir bağlantısı olmayan başka coin'leri kullanıcıya iade eder. Bu hizmetler tumbler veya mikser olarak da bilinir.
Elbette bu tür merkezi hizmetlerin güvenliği ve gizliliği konusunda bazı soru işaretleri var. Mikserlerin kullanıcılara geri ödeme yapacağının ya da iade edilen coin'lerin sorunlu bir işlem geçmişi taşımadığının garantisi yoktur. Mikser kullanırken dikkate alınması gereken bir başka nokta da IP adreslerinin ve Bitcoin adreslerinin üçüncü bir tarafça kaydedilebilmesidir. Sonuçta kullanıcılar, bağlantısı kopmuş coin'ler alacakları umuduyla fonlarını bir başkasına emanet eder.
Daha ilgi çekici bir yaklaşım ise ciddi ölçüde makul inkâr edilebilirlik yaratan CoinJoin işlemleridir. Yani bir CoinJoin işlemi yapıldıktan sonra, kullanıcı ile o kullanıcının önceki işlemleri arasında kesin bir bağlantı kuran hiçbir kanıt ortaya konamaz. Birçok CoinJoin çözümü, mikserlere kıyasla daha merkeziyetsiz bir alternatif sunar. Süreçte bir koordinatör yer alsa bile kullanıcıların fonlarının kontrolünden vazgeçmesi gerekmez.
CoinJoin nedir?
CoinJoin işlemleri ilk kez 2013 yılında Bitcoin geliştiricisi Gregory Maxwell tarafından tanıtıldı. Yazısında bu işlemlerin nasıl kurgulandığından ve protokolde herhangi bir değişiklik yapmadan gizlilikte nasıl büyük ölçekli bir artış sağlanabileceğinden kısaca söz etti.
Özünde CoinJoin, farklı kullanıcılara ait girdilerin bir araya getirilerek tek bir işleme dâhil edilmesidir. Bunun nasıl (ve neden) yapıldığını açıklamadan önce temel işlem yapısına değinelim.
Bitcoin işlemleri girdilerden ve çıktılardan oluşur. Kullanıcı işlem yapmak istediğinde UTXO'larını girdi olarak kullanır, çıktıları belirler ve girdileri imzalar. Burada önemli olan nokta şudur: her girdi bağımsız olarak imzalanır ve kullanıcılar birden fazla çıktı (farklı adreslere giden transferler) oluşturabilir.

Dört girdiden (her biri 0,2 BTC) ve iki çıktıdan (0,7 BTC ve 0,09 BTC) oluşan bir işlemi incelediğimizde bazı varsayımlarda bulunabiliriz. İlki, bir ödeme yapıldığıdır: gönderen çıktılardan birini bir kişiye, para üstünü ise kendisine gönderir. Dört girdi kullanıldığı için en yüksek tutarlı çıktı büyük olasılıkla alıcıya gitmektedir. Çıktılarda 0,01 BTC eksik görünüyorsa, bu madenciye ödenen işlem ücretidir.
Gönderenin küçük UTXO'lardan büyük bir UTXO oluşturmak istemesi de mümkündür; bu durumda istediği 0,7 BTC rakamına ulaşmak için küçük girdileri birleştirir.
Yapabileceğimiz bir başka varsayım ise her girdinin bağımsız olarak imzalanmasına dayanır. İşlem, girdilerin dört ayrı taraf tarafından imzalandığı bir şekilde de gerçekleştirilmiş olabilir. CoinJoin sürecini etkili kılan da tam olarak bu ilkedir.
CoinJoin nasıl çalışır?
Temel fikir, birden fazla tarafın girdilerini ve talep ettikleri çıktıları paylaşarak birlikte bir işlem oluşturmasıdır. Tüm girdiler birleştirildiğinde hangi çıktının hangi kullanıcıya ait olduğunu kesin olarak söylemek mümkün değildir. Süreci aşağıdaki şemada görebilirsiniz:

Burada işlemler arasındaki bağlantıyı koparmak isteyen dört kullanıcı var. Dâhil etmek istedikleri girdi ve çıktıları bildirmek için kendi aralarında (ya da bir koordinatör aracılığıyla) koordine oluyorlar.
Koordinatör tüm bilgileri alır, bunlarla bir işlem oluşturur ve ağa yayınlamadan önce her katılımcıya işlemi imzalatır. Kullanıcılar imzaladıktan sonra bu işlemi geçersiz kılmadan değiştirmek imkânsız hale gelir. Böylece koordinatörün fonları çalma riski ortadan kalkar.
İşlem, coin'leri karıştıran bir kara kutu gibi çalışır. Yenilerini oluşturmak için eski UTXO'ların yok edilmesi gerekir. Eski ve yeni UTXO'lar arasındaki tek bağ işlemin kendisidir, ancak bu noktada katılımcıları birbirinden ayırmak mümkün değildir. En iyi ihtimalle, girdilerden birinin bir katılımcı tarafından eklendiği ve bu katılımcının ortaya çıkan çıktının yeni sahibi olabileceği söylenebilir.
Ama bu bile tam bir güvence sayılmaz. Yukarıdaki işlemden dört katılımcı olduğu sonucu çıkarılabilir mi? Bir kişi kendisine ait dört farklı adrese fon mu gönderiyor? İki kişi iki ayrı alım yapıp adreslerine 0,2 BTC geri mi gönderiyor? Dört kişi yeni kişilere ya da kendilerine mi fon aktarıyor? Bu soruların hiçbirine kesin yanıt vermemiz mümkün değil.
İnkâr edilebilirlik yoluyla gizlilik
CoinJoin uygulamalarının var olması bile işlem analizinde kullanılan yöntemlere kuşkuyla bakmamız için yeterli. Birçok işlemde CoinJoin kullanıldığı sonucuna varabilirsiniz, ancak çıktıların kime ait olduğunu yine de bilemezsiniz. Bu uygulamaların popülerliği arttıkça, tüm girdilerin aynı kullanıcıya ait olduğu varsayımı zayıfladı; bu da geniş ekosistem içinde gizlilik adına büyük bir adım oldu.
Önceki örnekte işlemin anonimlik kümesi 4'tür; yani çıktının sahibi işleme katılan dört kullanıcıdan herhangi biri olabilir. Anonimlik kümesi büyüdükçe işlemi asıl sahibiyle ilişkilendirmek zorlaşır. Neyse ki son CoinJoin uygulamaları sayesinde kullanıcılar, güven ihtiyacı duymadan girdilerini onlarca başka kullanıcıyla birleştirebiliyor ve yüksek düzeyde inkâr edilebilirlik elde ediyor. Yakın geçmişte 100 kişilik bir işlem başarıyla gerçekleştirildi.
Son düşünceler
Coin karıştırma araçları, gizliliğine önem veren tüm kullanıcıların erişebildiği önemli araçlardır. Diğer gizlilik güncellemelerinin (örneğin Gizli İşlemler'in) aksine, bu araçlardan protokolün mevcut hâlini koruyarak yararlanmak mümkündür.
Üçüncü tarafların dürüstlüğüne ve yöntemlerine güvenen kullanıcılar için karıştırma hizmetleri kolay bir çözüm sunar. Doğrulanabilir ve emanet gerektirmeyen alternatifleri tercih edenler içinse CoinJoin seçenekleri daha üstündür. Bu işlemler teknik bilgisi olan kullanıcılar tarafından elle yapılabileceği gibi, karmaşık mekanizmalarla uğraşma ihtiyacını ortadan kaldıran yazılım araçlarıyla da gerçekleştirilebilir. Bu türden birkaç araç şimdiden mevcut ve kullanıcılar daha fazla gizlilik arayışına girdikçe popülerlikleri artıyor.
