Çağatay Uslu
4 min readMay 24, 2020

Merkezî olmayan kriptoparalarımız için, merkezî olmayan çözümlere ihtiyacımız var.

Atomic Swap (Atomik Takas) Nedir?

Atomik takas veya atomik çapraz zincir ticareti, üçüncü bir partiye güvenme ihtiyacı olmadan (trustless) bir kriptopara biriminin başka bir kriptopara birimine dönüştürülmesi tekniğidir. Daha anlaşılır bir ifade ile, farklı zincirleri bulunan iki farklı kripto paranın hızla birbirine dönüştürülmesidir. Nispeten yeni bir teknik olan atomic swap, kullanıcıların birbirleri ile işlem yapma biçimini değiştirmektedir. Böylesi bir teknikle kullanıcıların koinlerini kendi kişisel cüzdanlarından doğrudan alıp satmaları mümkündür.

Örneğin; eğer Bob 50 KMD’ya sahipse, 50 KMD arzı oluşturup yerine 2 LTC talep ediyorsa, bir borsadan, yani üçüncü bir partiden geçmek zorunda kalacaktı. Ancak atomik takas ile eğer Alice 2 LTC’ye sahipse, bunun yerine 50 KMD talep ediyorsa, Alice ve Bob herhangi bir merkezi borsaya (centralized exchange) güvenmek zorunda kalmadan bu ticareti yapabilirler. Bu durumda Bob ve Alice, LTC/KMD paritesinde 2LTC/50KMD=1 önermesini kabul ederler. Mesela Alice ve Bob, — pek mümkün olmasa da 🙃 — “1LTC=2BTC’dir” diyebilirler.

Borsa İzolasyonu

Alice ve Bob sadece birbirlerine güvenmelidirler. Bu sebeple bu tekniğin önemli bir işlevi borsa izolasyonu ile çalışmasıdır. Borsalar en genel söylemle, alıcı ve satıcıyı bir araya getirip işlem miktarı, işlem sıklığı gibi unsurlardan kazanç sağlayan merkezî yapılardır. Her borsa kendi içinde bir ticaret ekosistemidir. Dolayısıyla bir borsadaki BTC arz ve talebini o borsanın kullanıcıları anlık olarak belirler ve bu sebeple de borsadan borsaya arz ve talep farkları oluşabilmektedir. Bu farklardan faydalanmak ve pek tabii kazanç sağlamak amacıyla borsalar arasında yapılan işleme de arbitrage (arbitraj) denmektedir. Öte yandan, atomic swap bütün bu borsa içi ekosistemden izole bir şekilde, sadece aralarında ticaret yapmak isteyen iki kriptopara sahibi için en ideal yöntemdir. Bununla birlikte merkezî bir borsanın çalışma prensiplerindeki mevcut sorunları çözebilmektedir.

Merkezî borsalarda bulunan mevcut sorunlar;

  • Saldırılara açık olmak: Birçok değerli kaynağı tek bir yerde tutmak bu kaynakları hacklenmeye daha açık hale getirir ve merkezi borsalar dijital saldırıların başlıca hedefidir.
  • Fonların yanlış yönetimi ve insan hatası: merkezi borsalar insanlar tarafından idare edilir. Eğer önemli görevlerdeki kişiler hata yaparsa ya da yöneticiler borsa operasyonlarına yönelik kötü tercihler yaparsa, kullanıcı fonları ele geçirilebilir.
  • Operasyonel masrafların daha yüksek olması: merkezi borsalarda çekim ve alım satım masrafları daha yüksektir
  • Yüksek hacimli taleplere yönelik verimsizlik: piyasa hareketleri çok yoğun olduğunda, merkezi borsalar artan ticaret talebine yanıt vermekte genellikle yetersiz kalarak sistemin yavaşlamasına ya da çevrimdışı kalmasına neden olurlar.
  • Yasal düzenleme: çoğu ülkede, kripto para düzenlemeleri ideal şartlardan oldukça uzaktadır. Hükümetlerin onayı ve idaresine yönelik hala birçok kaygı bulunmaktadır.

(yukarıdaki maddelerin kaynağı Binance’tir 🤔)

Peki nasıl oluyor bu iş? Zincirler üzerinde işlemler sorun olmuyor mu?

Cross-Chain + Cross Consensus

Farz edelim ki iki farklı zincir üzerindeki işlemlerin bir tanesi takas kabulü yapıldıktan sonra gerçekleşemedi fakat diğer transfer işlemi gerçekleşti. Bu, takas yapan taraflar için büyük bir problem oluştururdu. Bu durum bu teknik ile mümkün değildir. Çünkü atomic swap ismi atomicity’den gelir. Atomicity, parçalanamaz bir seri operasyonun ya hepsinin gerçekleşmesi ya da hiç birinin gerçekleşmemesi, yani tek bir atom analojisiyle hareket etmesidir. Bu atomicity özelliğini implemente etmek için ise, Hashed Time-Lock Contract (HTLC) denen kontrat yapısı kullanılır. HTLC, işlem sırasında oluşabilecek sorunları önler. Bir Ligthning network (off-chain) ödeme kanalı üzerinde çalışabileceği gibi, swap işleminin gerçekleşeceği zincirler üzerinde de (on-chain) çalışabilir. Peki nedir bu HTLC ve takas işlemi nasıl gerçekleşiyor?

Hashed Time Lock Contract (HTLC)

HTLC kontratları, hem ticaret gereklerini yerine getirir hem de takas sürecinin tamamen aracısız olmasını sağlar. Swap yapılacak iki blockchainin de aynı hash algoritmasına sahip olması gerekir. Time Locked ifadesi ise (zaman kilitli) işlemin belirli bir süre içerisinde gerçekleşmesi gerektiğini ifade eder. Bu belirtilen süre içerisinde işlem gerçekleşmez ise, atomicity kuralı gereği kontrat içerisindeki tüm operasyonlar tersine işler ve taraflar hiç bir kayıp yaşamazlar.

Atomic Swap ve pek tabii HTLC’yi mümkün kılan iki önemli şey

Check-Lock-Time-Verify (CLTV)

Zaman kilitli transaction, transaction çıktısının belirli bir zaman dilimi içinde kilitlenebileceğini ifade eder. Bitcoin script’i içerisinde bu, OP_CHECKLOCKTIMEVERIFY komutu ile mümkün olmaktadır. Bu özellik ilk Bitcoin kodunda bulunmayıp BIP-65 (Bitcoin Improvement Proposal-65) ile gelmiştir. Diğer BIP’lere şuradan ulaşabilirsiniz.

The Pay-To-Script-Hash (P2SH) Transactions

Alice sadece kendisinin bildiği (private key’i haricinde) bir secret key üretir. Bu key random bir sayı veya karakter dizisi olabilir. Alice bu secret key ile bir hash üretir. Hash üretimi sırasında uygulanacak algoritma zincirin hashing algoritmasıdır. Mesela Bitcoin için SHA-256 kullanması gerekir. Alice, Bitcoin zincirine bu hash ile kilitlenmiş bir transaction gönderir. Ardından bu hash değerini, Bob’a gönderir. Bob da LTC zincirine bu hash değeri ile kilitlenmiş bir transaction gönderir. Alice, hash’in üretildiği secret key’e sahip olduğu için Bob’un LTC zincirine gönderdiği kilitli transaction’ın kilidini bu key ile açar. Alice bunu yaptığında secret key açarak kendine gönderilmesini sağladığı TX ile public hale gelir ve Bob bunu görür. Bob key’i gördüğünde BTC zincirindeki kilitli kontratın kilidini açar. BTC’ler Bob’un wallet’ına aktarılır işlem biter.

Son düzenleme: May 2018

Kaynaklar;

Unlisted
Çağatay Uslu
Çağatay Uslu

No responses yet