Kapatmak için ESC'ye basın

Privacy Mining: Railgun ve Hinkal ile Pasif Gelir Elde Edin

Bugün masaya yatıracağımız konu, birçok kişiye hâlâ yasal sınırların çok dışındaymış gibi geliyor. Ama eğri oturup doğru konuşalım: Web3'te gizlilik demek, illegal işler demek değildir. Bu en temel insan haklarından biridir. Üstelik günümüzde bu gizlilik olayı üzerinden hem tamamen yasal yollardan hem de deli gibi para kazanmak gayet mümkün.

Bu yazıda Privacy-Mining (yani Anonymity Mining) konusunu konuşacağız. Hinkal, Railgun veya o eski dost Tornado Cash (evet, yaptırımlara rağmen hâlâ ayakta ve çalışıyor, gerçi orada bazı ince detaylar var) gibi protokollere nasıl likidite sağlayacağımızı, başkalarının arkalarında bıraktıkları izleri temizlemelerine yardım ederek karşılığında nasıl dolgun bir APY koparacağımızı en ince ayrıntısına kadar inceleyeceğiz.

Biraz can yakacak, teknik olarak derinlere ineceğiz, yer yer sinik bir dil kullanacağız ama tamamen pratik ve uygulanabilir bir rehber olacak.

İşin Özü: İnsanlar "Sessizlik" İçin Neden Para Ödüyor?

Gelin bunu en basit haliyle konuşalım. Blockchain'in ne kadar şeffaf olduğunu hiç düşündünüz mü? İki tane hackathona katılmış herhangi bir üniversite birinci sınıf öğrencisi, sizin halka açık cüzdanınızı gerçek IP adresinizle, yaptığınız harcamalarla ve bakiyenizle eşleştirecek bir script'i iki dakikada yazabilir. Büyük oyuncular (balinalar, fonlar) bu durumdan nefret eder. Yatırım stratejilerinin açık bir kitap gibi herkes tarafından okunmasını asla istemezler.

Kendilerini gizlemek için mikserlere ve gizli havuzlara (Shielded Pools) ihtiyaç duyarlar. Fakat bu havuzlar boş olduğunda hiçbir işe yaramaz. Eğer bir miksere 1.000.000$ girip hemen ardından 1.000.000$ çıkıyorsa, bu giriş ile çıkışı birbirine bağlamak ilkokul seviyesinde bir bulmacadır. Ama eğer o havuzda diğer binlerce kullanıcının yüz milyonlarca doları yatıyorsa, yaptığınız işlem o kalabalığın içinde adeta erir ve kaybolur.

En Önemli Alpha Insight: Burada kriptonuzu bir nevi "figüran" olarak kiraya veriyorsunuz. Tokenlarınız havuzda bekleyerek başkalarının anonimliğini sağlamak için gerekli olan o devasa kütleyi oluşturuyor. Protokoller de bu hizmetiniz karşılığında kendi native tokenlarından veya işlem ücretlerinin bir kısmından size pay veriyor.

Mimari: İşin Arkasında Ne Dönüyor? (ZK-Snarks ve Relayer'lar)

Mühendislik gözlüğüyle baktığımızda bu sistem nasıl kurulmuş? Günümüzdeki modern gizlilik protokollerinin çoğu (örneğin Hinkal veya Railgun), sıfır bilgi kriptografisi yani zk-SNARKs teknolojisini kullanıyor.

Fonlarınızı bir shielded pool'a yatırdığınızda, karşılığında size kriptografik bir makbuz (Commitment) verilir. Temiz tokenlarınız ortak havuza aktarılır. Başka biri (veya siz kendiniz) bu havuzdan fon çekmek istediğinde, havuzdan X kadar miktar çekmeye hakkı olduğunu gösteren bir ZK-proof (kanıt) sunar; ancak bu esnada sistem onun ilk başta hangi cüzdanla deposit yaptığını asla ifşa etmez.

Şimdi gelelim Telegram kanallarındaki o "fenomenlerin" nedense hiç bahsetmediği, az bilinen o can alıcı detaya: Relayer (Aracı) problemi. Bir kullanıcı gizlenmiş tokenlarını tamamen yeni ve tertemiz bir cüzdana çekmek istediğinde, o yeni cüzdanda gas ücretini ödemek için... tek bir adet bile ETH bulunmaz! Eğer gas ücretini eski cüzdanından oraya transfer ederse, bütün anonimlik zinciri anında patlar. O zaman bu kadar takla atmaya ne gerek vardı? İşte bu yüzden devreye Relayer'lar giriyor — bunlar kullanıcı adına mainnet'teki gas ücretini ödeyen, karşılığında ise kullanıcının havuz içindeki gizli çekinden kendi komisyonunu direkt kesen üçüncü taraflardır. Kendi relayer node'unuzu kurarak buradan da güzel ekmek yiyebilirsiniz, ama dürüst olalım, buradaki altyapı ve giriş bariyeri biraz daha yüksektir.

2026 Yılı Güncel Gizlilik Platformlarının Karşılaştırmalı Analizi

Durumu net görmek adına hızlıca bir karşılaştırma matrisi hazırladım. Veriler tamamen günceldir, bizzat teknik dokümanlardan ve testnetlerden topladım.

ProtokolTeknolojiPrivacy-Mining MekanizmasıOrtalama APY (Şişirilmemiş, Gerçek Rakamlar)Spesifik Özellikler / Riskler
Railgunzk-SNARKs (on-chain)RAIL stake etmek, Active Shielded Pool'a likidite sağlamakTokena bağlı olarak %12 - %24 arasıTamamen merkeziyetsizdir, doğrudan EVM (Ethereum, Arbitrum) üzerinde çalışır. Deposit esnasında gas ücreti biraz tuzludur.
Hinkalzk-SNARKs + DID (Decentralized ID)DeFi entegrasyonları aracılığıyla likidite ekleme (Hinkal üzerinden Curve, Uniswap)Yönetişim (Governance) tokenları cinsinden %15 - %35 arasıKurumsal oyuncuları (Institutional) hedefler. "Gizli bir KYC" sürecinden geçmeniz gerekir (terörist olmadığınızı kanıtlarsınız ama protokol belgelerinizi saklamaz).
Tornado Cash (Classic)zk-SNARKsAP tokenları kazanarak anonimlik madenciliği (Anonymity Mining) yapmakSpekülatif (TORN token fiyatına doğrudan endeksli)Merkezi borsalar (CEX) tarafından kara listeye alınma riski çok yüksektir. Buradan çıkan tokenlar genellikle "kirli" kabul edilir.

Pratik Uygulama: Bir Geliştirici veya Pro-User Buradan Nasıl Kar Sağlar?

Teori bu kadar yeter. Şimdi koda ve işin pratik kısmına geçelim. Bu tarz protokollerle otomasyon seviyesinde etkileşime girmenin en sağlam ve doğrulanabilir yolu, doğrudan akıllı sözleşmeleriyle (smart contracts) konuşmaktır.

Aşağıya, ethers.js kütüphanesini kullanarak Node.js üzerinde yazdığım hazır bir script bırakıyorum. Bu script gizli havuzdaki bakiyeyi kontrol etmeyi ve deposit öncesi hazırlık aşamalarını simüle ediyor. Şöyle düşünün: Likiditeyi otomatik olarak rebalance eden bir bot yazıyoruz; eğer Railgun gizli havuzundaki APY, standart bir Aave havuzundan daha yüksek hale gelirse botumuz fonları otomatik olarak buraya kaydırıyor.

const { ethers } = require("ethers");
// Benim konfigürasyonum. Dışarıdan env değişkeni falan yok, kendimize saf kod yazıyoruz.
const RPC_URL = "https://arbitrum-mainnet.infura.io/v3/YOUR_KEY"; // Arbitrum kullanın, ETH ana ağında gas ücreti adamı batırır
const SHIELDED_POOL_ADDRESS = "0x0000000000000000000000000000000000000000"; // Buraya Railgun/Hinkal havuz sözleşmesinin adresi gelecek
const TOKEN_ADDRESS = "0xaf88d065e77c8cc2239327c5edb3a432268e5831"; // Arbitrum üzerindeki USDC
// Minimal ABI, sadece işime yarayacak fonksiyonlar. Kod kalabalığını hiç sevmem.
const poolAbi = [
    "function deposit(address token, uint256 amount, bytes32 zkCommitment) external returns (bool)",
    "function getAnonymityRewardRate(address token) external view returns (uint256)"
];
const erc20Abi = [
    "function approve(address spender, uint256 amount) external returns (bool)",
    "function balanceOf(address account) external view returns (uint256)"
];
async function managePrivacyLiquidity() {
    // Provider ve wallet kurulumunu yapıyoruz.
    // DİKKAT: Deposit yapacağınız cüzdan tertemiz olmalı, yoksa ana cüzdan kimliğinizi havuza ifşa edersiniz.
    const provider = new ethers.JsonRpcProvider(RPC_URL);
    const wallet = new ethers.Wallet("PRIVATE_KEYINIZI_BURAYA_YAZIN", provider);
    
    const poolContract = new ethers.Contract(SHIELDED_POOL_ADDRESS, poolAbi, wallet);
    const tokenContract = new ethers.Contract(TOKEN_ADDRESS, erc20Abi, wallet);
    console.log("Gizli havuzun güncel getiri oranı kontrol ediliyor...");
    
    try {
        // Hmm, sözleşme değeri doğru formatta mı döndürüyor? Whitepaper'ı bir ara tekrar kontrol etmek lazım.
        const rewardRate = await poolContract.getAnonymityRewardRate(TOKEN_ADDRESS);
        console.log(`Güncel ödül oranı (blok başına ödül miktarı): ${rewardRate.toString()}`);
        const myBalance = await tokenContract.balanceOf(wallet.address);
        
        // Havuzda en az 500 dolar olmalı, yoksa gas ücreti elde edeceğimiz tüm karı yutar
        if (myBalance < ethers.parseUnits("500", 6)) {
            console.log("Bakiye çok düşük. Uyku moduna geçiliyor.");
            return;
        }
        console.log("Havuz sözleşmesine approve veriliyor...");
        const approveTx = await tokenContract.approve(SHIELDED_POOL_ADDRESS, myBalance);
        await approveTx.wait(); // İşlemin bloğa dahil edilmesini bekliyoruz. Arbitrum hızlıdır, 2-3 saniye sürer.
        
        console.log("Approve işlemi başarıyla tamamlandı.");
        
        // DURUN! zkCommitment üretmek için ilgili protokolün kendi kütüphanesini (örn: @railgun-community/wallet) kullanmalısınız.
        // Sakın kafanıza göre random byte'lar göndermeyin, yoksa likiditenizi sonsuza kadar kilitlersiniz!
        console.log("UYARI: deposit() fonksiyonunu çağırmadan önce frontend tarafında zkCommitment ürettiğinizden emin olun!");
        
    } catch (error) {
        console.error("Hay aksi, işlem zincirinde bir şeyler patladı:", error.message);
    }
}
managePrivacyLiquidity();

Şimdi şu pembe gözlükleri bir kenara bırakalım ve pazarlama broşürlerinde asla karşılaşamayacağın gerçeklerden bahsedelim. Eski bir siber güvenlikçi olarak, bu sürecin barındırdığı reel riskleri en ince ayrıntısına kadar masaya yatırmak boynumun borcu. Çünkü burada mesele sadece getiriden olmak değil; tüm ana paranı tek kalemde sıfırlayıp arkasından el sallayabilirsin.

Gizli Tehlikeler ve Tuzaklar: "Gizlilik Madencileri" Parayı Nerede Batırıyor?

  • Toksik Likidite Riski (The OFAC Factor). Bu işin en can yakan, en ağır sistemik belası. Şöyle bir senaryo düşün: Tamamen temiz, kendi kazdığın ya da KYC’li regüle bir borsadan aldığın USDC’lerini tuttun, Railgun veya Tornado Cash’in gizli havuzuna (shielded pool) attın. Tokenların orada tıkır tıkır yield üretiyor. Tam o sırada, başka bir DeFi protokolünü patlatıp 50 milyon doları cebe indiren bir hacker da ganimetini aynı havuza fonluyor. Senin tokenlar, elemanın çalıntı fonlarıyla aynı akıllı sözleşmenin içinde fiziksel olarak birbirine karışıyor. Günün birinde paranı çekmek istediğinde, on-chain analiz sistemleri (Chainalysis, Elliptic) senin cüzdan adresine anında "mikser/hacker adresiyle etkileşime girmiş" damgasını yapıştırıyor. 
    Sonuç mu? O pırıl pırıl cüzdanın bir anda tüm kara listelere giriyor. Bu parayı Binance, OKX veya Kraken gibi borsalara sokmaya kalktığın an hesabına anında bloke geliyor ve senden yedi göbek sülalene kadar fon kaynağı belgesi sunmanı istiyorlar. Şu an bu bataklıktan kurtulmanın tek bir yolu var: Hinkal gibi ZK tabanlı "Proof of Innocence" (Masumiyet Kanıtı) kullanan yeni nesil protokolleri tercih etmek. Bu sistemde, kendi cüzdan adresini hiç açık etmeden, yaptığın o spesifik yatırımın temiz bir kaynaktan geldiğine dair kriptografik bir kanıt üretiyorsun. Ama eğer kullandığın protokol bunu desteklemiyorsa, resmen Rus ruleti oynuyorsun demektir.
  • Spesifik Havuzlarda Geçici Zarar (Impermanent Loss) Belası. Özet geçmek gerekirse: Eğer havuz senden stabil coinlerin yanına projenin kendi yerel gizlilik tokenını (mesela RAIL veya TORN) stake etmeni istiyorsa, o yönetişim (governance) tokenı çakıldığı an senin eldeki o gerçek dolarlar da gözünün önünde eriyip gider.
  • Akıllı Sözleşme Zafiyetleri (Smart Contract Risks). Sıfır bilgi (Zero-Knowledge) kriptografisini hatasız bir şekilde koda dökmek inanılmaz derecede zordur. zk-SNARKs şemalarındaki küçücük bir imza hatası (signature malleability) veya güvenli kurulum (trusted setup) parametrelerinin üretimindeki bir açık, bir saldırganın tüm havuzu yoktan var ederek tek seferde boşaltmasına yol açabilir; nitekim eski gizlilik odaklı coinlerin forklarında bunu defalarca gördük. Bunun bir sigortası falan yok; tek çaren parayı tek bir yere gömmemek (diversification) ve Zellic, OpenZeppelin, Spearbit gibi piyasanın en tepe firmalarından onaylı sözleşmeleri seçmek.

Çok Az Kişinin Bildiği Alfa: Agregatörler Üzerinden APY Nasıl Maxlanır?

Çoğu insan Anonymity Mining olayını "parayı yatır, arkana yaslan" mantığı sanıyor. Oysa 2026 yılındayız ve "Privacy DeFi Lego" anlatısı şu an tam gaz devrede. Gizlilik protokolleri, arka planda doğrudan klasik yield havuzlarıyla entegre çalışmaya başladı.

Peki bu iş pratikte, mesela Hinkal üzerinde nasıl dönüyor? Tokenlarını mikserin içine sadece sabit bir faiz için kilitlemiyorsun. Gizlilik katmanının içerisindeyken USDC’lerini gizli hUSDC’ye dönüştürüyor, ardından protokolün ZK arayüzünü kullanarak bu tokenları doğrudan Curve veya Uniswap likidite havuzlarına yönlendiriyorsun.

[Senin Cüzdanın] ──(Depozit)──> [Hinkal Shielded Pool] ──(ZK-Proxy)──> [Curve Pool]
                                      │                                    │
                                      ▼                                    ▼
                             Gizlilik Odaklı Yield               Trading Yield'i (Curve)

Günün sonunda elinde çift katmanlı bir yield kazancı oluyor:

  • Gizlilik protokolünün Anonymity Set’ini (anonimlik havuzunu) büyüttüğün için bizzat protokolden aldığın ödüller.
  • Likidite sağladığın için Curve/Uniswap tarafındaki standart işlem ücretleri (trading fee) ve teşvikler.

İşin en güzel tarafı ise, dışarıdan Curve’ü izleyen bir gözlemci orada işlem yapanın senin şahsi cüzdanın değil, Hinkal’a ait devasa bir sözleşme adresi olduğunu görüyor. Bu kurulum sayesinde stabil coinler üzerinden %30-35’e varan yıllık getiri (APY) kovalamak mümkün hale geliyor ki, günümüz klasik DeFi dünyası için bu oranlar resmen uzay segmenti.

Madem otomasyon ve yield maksimizasyonundan açıldı konu, o zaman bu tarz protokollere bağlanacak en basit Solidity akıllı sözleşmesini nasıl yazarız, teknik olarak bir bakalım. Eğer işi web arayüzlerinden elle kovalamak yerine doğrudan kendi özel kontratın üzerinden (mesela kendi çoklu imzalı cüzdan mimariniz veya DAO'nuz kapsamında) otomatize edip yield toplamak istiyorsan bu mantığı çözmen şart.

Privacy-Yield Farming İçin Akıllı Sözleşme Mimarisi

ZK pool'ları ile etkileşime girecek bir kontrat yazarken en büyük teknik karın ağrısı, kriptografik kanıtların (proof) doğru şekilde paslanmasıdır. Standart bir DeFi protokolü senden sadece basit bir deposit(amount) fonksiyonu çağırmanı isterken, gizlilik odaklı bir pool ise ZK kanıtı için uint256[8] tipinde bir veri dizisi ve bir dünya public input talep eder.

Aşağıda, likiditeyi hazırlayıp süreci yöneten örnek bir strateji (strategist) kontratı yer alıyor.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

// Token için minimal interface. Laf kalabalığına gerek yok.
interface IERC20 {
    function transferFrom(address from, address to, uint256 value) external returns (bool);
    function approve(address spender, uint256 value) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
}

// ZK-mixer / gizlilik havuzu arayüzü (Railgun/Hinkal tarzı)
interface IPrivacyPool {
    // Gerçekte argümanlar daha fazladır ama mantık değişmez: Bize bir ZK-proof lazım
    function depositWithProof(
        address token,
        uint256 amount,
        uint256[8] calldata proof,
        bytes32 root,
        bytes32 nullifierHash
    ) external;
}

contract PrivacyYieldStrategist {
    address public owner;
    address public targetPool;

    modifier onlyOwner() {
        require(msg.sender == owner, "Yetkiniz yok");
        _;
    }

    constructor(address _targetPool) {
        owner = msg.sender;
        targetPool = _targetPool;
    }

    // Depozit fonksiyonu. Buraya backend tarafında önceden üretilmiş proof'u paslıyoruz.
    // ZK-proof'u doğrudan zincir üstünde (on-chain) üretmeye çalışmak gas ücretleri açısından tam bir intihardır. Bunu sakın unutma.
    function executeShieldedDeposit(
        address token,
        uint256 amount,
        uint256[8] calldata proof,
        bytes32 root,
        bytes32 nullifierHash
    ) external onlyOwner {
        IERC20 asset = IERC20(token);
        
        // Tokenları kontrat sahibinin cüzdanından çekiyoruz (bu kontrata önceden approve verilmiş olmalı)
        require(asset.transferFrom(msg.sender, address(this), amount), "Transfer basarisiz");
        
        // Gizlilik havuzunun kendisine approve veriyoruz
        require(asset.approve(targetPool, amount), "Pool approve islemini kabul etmedi");
        
        // ZK kanıtını göndererek gizlilik kontratını tetikliyoruz
        // Burada pool kontratı proof'u doğrulayacak, inputları tüketecek ve bizi Merkle ağacına ekleyecek
        IPrivacyPool(targetPool).depositWithProof(token, amount, proof, root, nullifierHash);
    }

    // İşlemlerin tıkanması veya pool arayüzünün değişmesi ihtimaline karşı acil durum kaçış butonu
    function emergencyWithdraw(address token) external onlyOwner {
        IERC20 asset = IERC20(token);
        uint256 balance = asset.balanceOf(address(this));
        require(asset.transferFrom(address(this), owner, balance), "Fonlar kurtarilamadi");
    }
}

"Güvenli" Privacy-Mining İçin Operasyonel Kontrol Listesi

Eğer bu niş alana gerçekten girmeyi kafaya koyduysan, sağda solda hesabı kilitlenen veya rekt olan tanıdıklarımın tecrübeleriyle, yani resmen kanla yazılmış şu kurallara harfiyen uyman gerekiyor:

  • Ortamların Tamamen İzole Edilmesi. Bak asla diyorum, asla! Gizlilik havuzundan çektiğin bir fonu; gerçek kimliğinle, hosting hizmetlerinle, GitHub hesabınla veya CEX (merkezi borsa) hesaplarınla en ufak bir on-chain bağı olan cüzdanlara doğrudan aktarma.
  • Zaman Boşluğu (Timelock Faktörü). Havuza saat 12:00'de 10 ETH yatırıp, 12:05'te yepyeni bir adrese 10 ETH çekiyorsan tam bir aptalsın demektir. On-chain analiz araçları, bu işlemleri zaman damgası ve net miktar üzerinden %99 ihtimalle birbiriyle eşleştirir. Fonlar havuzda birkaç gün demlenmeli, çekerken de parça parça ve rastgele zamanlarda çekilmelidir.
  • Merkezi RPC Kullanımını Bırakın. Infura veya Alchemy gibi varsayılan node sağlayıcıları işlemlerin IP adreslerini loglar. Eğer gizli bir işlemi bunlar üzerinden tetiklersen, gizliliğin daha onların sunucusundayken patlar. VPN, Tor veya gizli RPC node'ları (mesela 1inch RPC veya kendi kurduğun node'u) kullan.

Anonymity Mining; kriptografinin ve on-chain analizin mantığını çözenler için inanılmaz güçlü, fazlasıyla teknik ve asimetrik getiri sunan bir araçtır. Web3'ün en büyük açığı olan "gizlilik kıtlığı" üzerinden ciddi para kazanmanızı sağlar.

Oleg Filatov

As the Chief Technology Officer at EXMON Exchange, I focus on building secure, scalable crypto infrastructure and developing systems that protect user assets and privacy.

With over 15 years in cybersecurity, blockchain, and DevOps, I specialize in smart contract analysis, threat modeling, and secure system architecture.

At EXMON Academy, I share practical insights from real-world...

...

Yorumunuzu paylaşın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar işaretlendi *