Kripto para yatırımcılarının korkulu rüyası blockchain’de çift harcama nedir? Double Spending olarak da bilinen bu durum, kripto topluluğu için büyük bir endişe kaynağı olan önemli bir sorundur. Bu problem, kripto para birimlerinin dijital özelliklerinden yararlanmayı içerir. Çift harcama sadece kripto para ile sınırlı kalmayıp, tüm blok zinciri yapılarında da karşılaşılan bir sorundur.

Business 2 Community olarak bu yazımızda, çift harcamanın ne olduğunu, çift harcama saldırılarının nasıl meydana geldiğini, bunları önlemek için alabileceğiniz önlemleri sizler için hazırladık.

Blockchain’de Çift Harcama Nedir?

Blockchain, bir dizi işlem bloğundan oluşur ve her yeni blok, tüm genel işlem verilerini ve yeni bloğun eklenme tarihini içeren bir hash, yani kriptografik bir işlev bulundurmalıdır.

Blockhain’de çift harcama ise birinin aynı kripto parayı iki kez harcaması durumuna verilen isimdir. Başka bir deyişle, hizmetlerin bir nihai bloğu nihai olmayan bir blok olarak yanlışlıkla kabul etmesidir. Diğer nedenler arasında hizmetlerin işlemleri düzgün bir şekilde onaylamaması ve aynı miktarı istemeden birden fazla harcaması yer alır. Hatalı akıllı sözleşme mantığı da çift harcama sorunlarına yol açabilir. Çünkü sağlam bir imza doğrulaması olmadığında kullanıcılar aynı token’ları iki kez harcayabilir.

Çift harcama problemini daha iyi anlamak için şöyle bir örnek verebiliriz:

Metin, 1 ETH’e (Ethereum) sahip. X ve Y adlı iki satıcıdan hizmet almak istiyor. Aynı ETH’nin birçok kopyasını oluşturuyor ve bunları saklıyor. Metin, önce orijinal ETH’yi satıcı X’e gönderiyor ve karşılığında hizmet alıyor. Ardından, 1 ETH’nin bir kopyasını satıcı Y’ye gönderiyor. Bu işlem diğer madenciler tarafından onaylanmadığı için, satıcı Y ETH’yi kabul ediyor ve hizmeti sağlıyor. İşte burada kullanılan kripto geçersiz oluyor. Bu işleme de “Çift Harcama” (Double Spending) deniyor.

Ayrıca Bknz: Ethereum sanal makinesi nedir?

Çift Harcama Nasıl Yapılır?

Bitcoin ağında çift harcama gerçekleştirmek neredeyse imkansızdır. Bunun nedeni, her transfer işleminin blockchain üzerinde altı doğrulayıcı tarafından onaylanması ve zincire eklendikten sonra geri alınamamasıdır.

Kötü niyetli bir kullanıcının, daha önce yapılmış bir işlemi geçersiz kılarak aynı varlığı tekrar harcayabilmesi için zincir verilerini geri döndürmesi gerekir. Ancak bu, muazzam miktarda bir hash gücüne sahip olmayı gerektirir, ki bu da pratikte çok zor bir işlemdir.

Yarış Saldırısı

Çift harcama saldırıları farklı biçimlerde ortaya çıkabilir. Blockchain ağındaki işlemler sırasında, aynı varlığı aynı anda farklı kullanıcılara göndermek amacıyla çelişkili işlemler oluşturulabilir. Bu tür bir saldırıya Yarış Saldırısı (Race Attack) denir.

Örneğin, bir ticari işlemde kripto para ile ödeme alan kişi, onay sürecini beklemeden ürünün satışını tamamlarsa, çift harcama riskine maruz kalmış olur. Yeterli sayıda onay almamış ve bu nedenle blockchain’e kalıcı olarak eklenmemiş bir işlem reddedilebilir ya da geri alınabilir. Böyle bir durumda, transfer işlemi geçersiz sayılır ve kullanıcı aynı kripto parayı tekrar harcayabilir.

Q Saldırısı

%51 Saldırısı (%51 Attack) bir açık blockchain ağının hash gücünün yarısından fazlasının tek bir kişi ya da grup tarafından ele geçirilmesiyle gerçekleşir. Bu durumda işlemler manipüle edilebilir.

Örneğin, Bitcoin (BTC) ağına bakarsak, teorik olarak ağın hash oranının çoğunluğunu kontrol eden kişi, işlemleri onaylama gücüne sahip olur ve çift harcama yapabilir.

Ancak, pratikte Bitcoin ağına %51 saldırısı düzenlemek imkansıza yakındır. Bitcoin blockchain ağının büyüklüğü ve gerekli işlem gücünün astronomik seviyelerde olması, bu tür bir saldırıyı son derece zorlaştırmaktadır.

Finney Saldırısı

Finney Saldırısı (Finney Attack), bu zayıflığı fark eden geliştirici Hal Finney’den adını almıştır. Bu saldırıda saldırgan, bir madenci olarak hizmetler ya da ürünler satın almak için kullanılan meşru bir işlemi içeren bir bloğu elinde tutar. Saldırgan, işlemin daha sonra onaylanacağını varsayarak ürün ve hizmetleri alır.

Ardından saldırgan, gizli tuttuğu bloğu, çelişkili ve manipüle edilmiş bir işlem içerecek şekilde ağa yayınlar. Bu işlem, kripto parayı saldırganın kontrol ettiği bir adrese yönlendirir. Orijinal geçerli işlemi geçersiz kılmasına rağmen, saldırgan zaten ürün ve hizmetleri aldığı için, işlemi kendine yönlendirerek kriptoyu da elinde tutmuş olur.

Blockchain'de çift harcama

Çift Harcama Nasıl Önlenir?

Peki, Bitcoin ile çift harcama nasıl önlenebilir? Bunun birkaç yöntemi var:

  • Çift Harcamanın Önlenmesi İçin Zaman Damgalama: Her onaylanan işlem bir zaman damgasına sahiptir, bu da belirli bir bloğun zincire belli bir zamanda eklendiğini kanıtlar. Zaman damgası alındıktan sonra blok geri alınamaz hale gelir. Dolayısıyla, aynı Bitcoin ile yapılan başka çelişkili işlemler gerçekleştirilirse, bu işlemler iptal edilir.
  • Ağ Katılımı ile Çift Harcamanın Önlenmesi: Düğümler (nodes), Bitcoin blockchain’ine güvenlik sağlamak için hesaplama güçlerini kullanır. Daha fazla düğüm, daha hızlı bir ağ anlamına gelir; dolayısıyla ağ büyüdükçe, Bitcoin’i çift harcama yöntemini bilenlerin bu ağı geçmesi zorlaşır. Geçtiğimiz aylardan elde edilen verilere göre, 19.535 erişilebilir düğüm ve 670 exahash/sn’lik bir ağ hash oranı mevcuttur. Eğer saldırganlar bir %51 saldırısı düzenlemek ve BTC’yi çift harcamak isterse, ağın hash gücünün %50’sinden fazlasına sahip olmaları ve değiştirilmiş blockchain’i stratejik olarak zamanlamaları gerekir. Ancak ağ işlemleri o kadar hızlı işler ki, bu saldırıyı denemek ekonomik açıdan çok da mümkün değildir.
  • Çift Harcamanın Önlenmesi İçin İş Kanıtı (Proof of Work): PoW, blockchain’e eklenen her bloğun büyük bir hesaplama çabasının sonucu olmasını sağlar. Geçerli bir blok onaylandığında ve eklendiğinde, bir saldırganın bu bloğu değiştirebilmesi için o bloğa ve sonrasında gelen tüm bloklara yeniden çalışma yapması gerekir ki bu da büyük miktarda hesaplama gücü gerektirir. Bu nedenle, geçmiş bir işlemi değiştirmek ve aynı kriptoyu iki kez harcamak pratikte mümkün değildir.

Ayrıca Bknz: Bitcoin işlemleri nasıl gerçekleşir?

Çift Harcama Nasıl Başarıyla Yönetilir?

Şirketler birçok güvenlik özelliği kullandığından, çift harcama büyük ölçüde azaltılmıştır. Kullanılabilecek bazı stratejiler şunlardır:

  • Başka bir işlem yapmadan önce en az altı işlem onayını beklemek. Farklı kullanıcılar tarafından daha fazla onay olduğunda, blockchain’de çift harcama olasılığı daha düşük olur.
  • Kimlik avı e-postalarından kaçınarak istenmeyen postaları silmek ve kötü amaçlı yazılım saldırılarından korunmak. Hackerlar genellikle kimlik avı yöntemini kullanarak oturum açma bilgilerini hedef alır.
  • Donanım kaynaklarını güvende tutmak, böylece hackerların kendi amaçları için kullanmasını engellemek. Hackerlar, yüksek maliyetlerinden dolayı genellikle donanım parçalarını hedef alır. Donanımı çalmayı başarırlarsa, işlemleri tersine çevirebilir veya verileri manipüle edebilirler.
  • Yazılımı düzenli olarak güncellemek ve en son antivirüs yazılımını yüklemek. Aksi takdirde, mevcut hatalar büyük zararlara neden olabilir.

Sonuç

Bu yazımızda blockchain’de çift harcama nedir sorusunu cevaplamaya çalıştık. Özetle, blok zincirinde çift harcama, bir kişi aynı kriptoyu iki kez harcadığında ortaya çıkar. Üç ana biçimde gerçekleşmektedir: Yarış Saldırıları, %51 Saldırıları ve Finney Saldırıları şeklinde isimlendirilmiştir.

Ancak, bu kusurları önlemek için birçok strateji geliştirilmiştir. Bunlar Bitcoin’in Zaman Damgası, Ağ Katılımı ve PoW Mutabakatı ile önlediği stratejiler olarak literatüre geçmiştir.

Şirketlerin ve kullanıcıların kullanması gereken diğer stratejiler arasındaysa en az altı onay beklemek, spam postaları silmek, kimlik avı postalarından kaçınmak, donanım kaynaklarını güvende tutmak ve düzenli olarak yazılım güncelleyerek en son antivirüs programını kurmak yer almaktadır.

Blockchain’de Çift Harcama Hakkında Sıkça Sorulan Sorular

Blockchain’de çift harcama nasıl önlenir?

Bitcoin’in çözdüğü sorunlardan biri neydi?

Çift harcama sorununu ilk kim çözdü?