Tokenomiklere Giriş
tokenomiklerini anlamak, token değerini, benimsenme potansiyelini ve uzun vadeli uygulanabilirliği doğrudan etkilediği için kripto para birimi yatırımlarını değerlendirmek için çok önemlidir. İyi tasarlanmış tokenomikler, paydaş teşviklerini uyumlu hale getirir, ağ büyümesini teşvik eder ve sürdürülebilir değer yaratma mekanizmaları yaratır.
Tokenomiklerin Temel Bileşenleri
Arz dinamikleri (enflasyon, deflasyon, sabit arz)Dağıtım mekanizmaları (madencilik, staking, airdroplar)Yardımcı işlevler (ödeme, yönetişim, erişim hakları)Değer yakalama (ücret yakma, stake etme ödülleri, gelir paylaşımı)Yönetim yapıları (oy hakları, teklif mekanizmaları)-
Temel Tokenomik İlkeleri
- Ekonomik Teşvik Uyumlaması
- Başarılı tokenomik tasarımlar tüm paydaşların çıkarlarını uyumlu hale getirir: sürdürülebilir ekosistemler için kullanıcılar, geliştiriciler ve yatırımcılar.
Ağ Etkileri ve Metcalfe Yasası
- Belirteç değeri genellikle değer = n² (n = aktif kullanıcılar) olan ağ etkileri ilkelerini takip eder.
Sürdürülebilir Değer Yaratımı
- Uzun vadeli başarı, gerçek fayda ve üretkenlik iyileştirmelerine sahip sürdürülebilir ekonomik modeller gerektirir. Token Türleri ve Sınıflandırmaları
Yardımcı Jetonlar
- Bir blockchain ekosistemindeki belirli özelliklere veya hizmetlere erişim sağlayın. Örnekler: ETH (gaz ücretleri), LINK (oracle hizmetleri).
- Güvenlik Jetonları
- Dayanak varlıklara ilişkin mülkiyet haklarını veya hak taleplerini temsil eder. Temettü mekanizmalı menkul kıymet düzenlemelerine tabidir.
- Yönetişim Tokenları
- Oy haklarını ve protokol karar verme yetkisini sağlayın. Örnekler: Protokol yönetimi için COMP, UNI, MKR.
Tedarik Mekaniği
- Tedarik mekaniği tokenlerin zaman içinde nasıl oluşturulduğunu ve yönetildiğini belirler. Modeller sabit tedarikten (Bitcoin) dinamik enflasyon sistemlerine (Ethereum 2.0) kadar çeşitlilik gösterir.
- Tedarik Modeli Türleri
- Sabit Arz: Önceden belirlenmiş maksimum (Bitcoin: 21M)
- Enflasyonist: Sürekli genişleme (Ethereum: yıllık ~%4)
-
Dağıtım Modelleri
- İlk Para Teklifleri (ICO'lar)
- Düzenlemelere uygunluk gerektiren, ön satış ve halka açık aşamalarla token satışları yoluyla geleneksel bağış toplama.
İlk DEX Teklifleri (IDO'lar)
Anında likidite sağlayan ve katılım engellerini azaltan merkezi olmayan borsa tabanlı lansmanlar.admin = msg.gönderici;
}
// Tek adres ekle
function addToWhitelist(adres hesabı) yalnızca hariciYönetici {
beyaz listeye alınmış[hesap] = doğru;
AddedToWhitelist(hesap);
}
// Birden fazla adres ekle (toplu)
function addMultipleToWhitelist(adres[] çağrı verisi hesapları)
harici
yalnızcaYönetici
{
for (uint i = 0; i < hesaplar.uzunluk; i++) {
beyaz listeye alınmış[hesaplar[i]] = doğru;
emit AddedToWhitelist(accounts[i]);
}
}
// Beyaz listeye alınan fonksiyon örneği
function mintTokens(uint256 miktar) harici onlyWhitelisted {
_mint(msg.sender, miktar);
}
}
Büyük Listeler için Gaz Verimliliği Avantajları:Gaz açısından son derece verimli, milyonlara ölçeklenebilir, tek kök depolama Dezavantajları:Karmaşık uygulama, zincir dışı hesaplama, UX karmaşıklığı En İyisi:Büyük beyaz listeler (1000'den fazla adres), seyrek güncellemeler Zincir Dışı Yetkilendirme Avantajları:Zincir üzerinde depolama yok, dinamik onay, esnek mantık, gizliliği koruyan Dezavantajları:Merkezi imzalayıcı, arka uç gerekli, imza güvenliğinin ihlali riski En İyisi:Dinamik beyaz listeler, karmaşık doğrulama, gizlilik gereksinimleri Sahipliğe Dayalı Beyaz Listeleme Avantajları:Otomatik doğrulama, topluluk oluşturma, ikincil piyasa değeri Dezavantajları:Aktarılabilir erişim, piyasa manipülasyonu, dış bağımlılık En İyisi:Topluluk ödülleri, DAO erişimi, kademeli avantajlar Başvuru Aşaması (1-2 hafta): Kullanıcı başvurusu, KYC/AML doğrulaması, akredite yatırımcı kontrolü, coğrafi tarama Seçim Aşaması: Başvuruları gözden geçirin, ilk gelen alır VEYA piyango VEYA kritere dayalı Beyaz Liste Yayını: Merkle kökü oluşturun, sözleşmeyi dağıtın, topluluğa duyurun Satış Aşaması: Beyaz listedeki adresler katılır, beyaz listede olmayanlar engellenir, zaman sınırlı erişim Genel Aşama (isteğe bağlı): Beyaz liste süresinden sonra herkese açık, kalan tahsis Çekirdek ekip, Discord moderatörleri, ilk destekçiler, özel katkıda bulunanlar Aktif topluluk üyeleri, sosyal medya katılımı, yarışma kazananları, ortak projeler Kayıtlı kullanıcılar, temel doğrulama, e-posta aboneleri Herkes, ilk gelen alır, genellikle daha yüksek gaz Uyumluluk Gereksinimleri: Kullanım Örnekleri:Kademeli dağıtım, risk sınırlaması, hata ödül programları, premium özellikler, kurumsal hizmetler Temel Bilgiler: Beyaz liste kriterleri, başvuru süreci, seçim yöntemi, zaman çizelgesi, tahsis sınırları, teknik gereksinimler Şeffaf kriterler, sybil karşıtı önlemler, topluluk öncelikli yaklaşım, fazla talep için çekiliş, itiraz süreci Sözleşmeleri denetleme, yönetici anahtarlarını güvence altına alma, test ağında test etme, merkle ağaçlarını doğrulama, hız sınırlama, önden çalıştırma koruması Basit doğrulama süreci, anlaşılır talimatlar, destek kanalları, kanıt oluşturma araçları, durum kontrol arayüzü Gerekirse KYC/AML, menkul kıymetler kanununa uygunluk, coğrafi kısıtlamalar, hizmet şartları, yasal inceleme Taşınabilir kimlik bilgileri, gizliliği koruyan doğrulama, platformlar arası beyaz listeler ile Kendi Kendini Yöneten beyaz liste Davranış analizi, katkı puanlaması, sybil tespiti, adil dağıtım ile otomatik iyileştirme Birden fazla kullanım için tek bir beyaz listeyle birlikte çalışabilir erişim, itibar taşınabilirliği, ekosistem ortaklıkları Gerçek zamanlı yetki alanı kontrolleri, dinamik beyaz liste, düzenleyici raporlama ile uyumluluk otomasyonu Token beyaz listesi, kripto para birimi projeleri için temel erişim kontrolü sağlayarak mevzuat uyumluluğu, adil dağıtım, topluluk oluşturma ve güvenlik sağlar. Basit eşleme depolamasından gelişmiş Merkle ağaçlarına ve imza doğrulamaya kadar uygulama seçenekleri ölçeğe, esneklik ihtiyaçlarına ve gazla ilgili hususlara bağlıdır. Temel Çıkarımlar: Kripto para birimi geliştikçe beyaz listeye alma daha karmaşık, otomatik ve gizliliği koruyan bir hale gelecektir. Beyaz listeye almayı dikkatli bir şekilde uygulayan (erişim kontrolünü adaletle, güvenliği kullanılabilirlikle ve uyumluluğu merkeziyetsizlikle dengeleyerek) uygulayan projeler, daha güçlü topluluklar ve daha başarılı token lansmanları oluşturacaktır. A: Beyaz listeler şunları sağlar: (1) Mevzuata uygunluk (akredite yatırımcılar, coğrafi kısıtlamalar), (2) Botların önlenmesi, (3) Topluluğa adil dağıtım, (4) Güvenlik için kontrollü dağıtım. C: Tipik olarak: (1) Discord/sosyal medya projesine katılın, (2) Toplulukla etkileşim kurun, (3) Başvuru talimatlarını izleyin, (4) Doğrulamayı tamamlayın (gerekiyorsa KYC), (5) Cüzdan adresini gönderin, (6) Onay bekleyin. Her proje farklıdır. A: Uygulamaya bağlıdır. Depolamayı eşleme: evet (yönetici kontrolleri dahilse). Merkle ağacı: kök karmasının güncellenmesini gerektirir. İmza: evet (arka uç kontrollü). NFT geçitleme: sahipliğe bağlı olarak otomatik. A: Adrese dayalı beyaz listeler için genellikle hayır (belirli bir cüzdana bağlı). İstisna: NFT/token geçişli erişim, NFT/token sahipliğiyle devredilebilir. A: Eşleme: Adres ekleme başına 20.000'den fazla gaz. Merkle: Doğrulama için ~3.000-5.000 gaz (beyaz liste boyutundan bağımsız olarak sabit). İmza: Doğrulama için ~3.000-5.000 gaz. Gaz tasarrufu liste boyutuna göre önemli ölçüde artar.2. Merkle Ağacı Yöntemi
Merkle Ağacı Uygulaması:
içe aktarma "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";sözleşme MerkleWhitelist {
bytes32 genel merkleRoot;
eşleme(adres => bool) public hasClaimed;
genel yöneticiye adres;
yapıcı(bytes32 _merkleRoot) {
merkleRoot = _merkleRoot;
admin = msg.gönderici;
}
// Merkle kökünü güncelle (yeni beyaz liste)
function updateMerkleRoot(bytes32 _merkleRoot) harici {
require(msg.sender == admin, "Yönetici değil");
merkleRoot = _merkleRoot;
}
// Beyaz liste üyeliğini doğrula
işlev doğrulamaBeyazlistesi(
bytes32[] çağrı veri kanıtı,
adres hesabı
) genel görünüm döndürür (bool) {
bytes32 yaprak = keccak256(abi.encodePacked(hesap));
return MerkleProof.verify(kanıt, merkleRoot, yaprak);
}
// Beyaz liste doğrulamasıyla nane
function whitelistMint(bytes32[] çağrıveri kanıtı) harici {
require(!hasClaimed[msg.sender], "Zaten talep edildi");
gerektirir(
doğrulamaBeyazliste(kanıt, msg.gönderen),
"Geçersiz merkle kanıtı"
);
hasClaimed[msg.sender] = doğru;
_mint(msg.sender, 1);
}
}Merkle Ağacı Oluşturma (Zincir Dışı):
const { MerkleTree } = require('merkletreejs');
const keccak256 = require('keccak256');// Beyaz liste adresleri
const beyaz liste = [
'0x1234...',
'0x5678...',
'0x9abc...',
// ... binlercesi daha
];// Yaprak düğümleri oluştur
const leafNodes = whitelist.map(addr =>
keccak256(addr)
);// Merkle Ağacı Oluştur
const merkleTree = new MerkleTree(leafNodes, keccak256, {
sıralamaÇiftleri: doğru
});// Kök alın (sözleşmede saklayın)
const rootHash = merkleTree.getRoot();// Belirli bir adres için kanıt oluştur
function getProof(adres) {
const yaprak = keccak256(adres);
const kanıt = merkleTree.getHexProof(leaf);
iade kanıtı;
}3. Dijital İmza Yöntemi
İmza Doğrulama Uygulaması:
sözleşme İmzaBeyaz Listesi {
herkese açık imzalayana adres;
eşleme(adres => bool) public hasMinted;
yapıcı(adres _imzalayan) {
imzalayan = _imzalayan;
}
// Yetkili imzalayanın imzasını doğrulayın
işlev doğrulamaSignature(
adres hesabı,
bayt bellek imzası
) genel görünüm döndürür (bool) {
bytes32 messageHash = keccak256(abi.encodePacked(hesap));
bytes32 ethSignedMessageHash = getEthSignedMessageHash(messageHash);
return saveSigner(ethSignedMessageHash, imza) == imzalayan;
}
function getEthSignedMessageHash(bytes32 messageHash)
dahili
saf
döndürür (bytes32)
{
keccak256'yı döndür(
abi.encodePacked("\x19Ethereum İmzalı Mesaj:\n32", messageHash)
);
}
fonksiyon RecoverySigner(
bytes32 ethSignedMessageHash,
bayt bellek imzası
) dahili saf getiriler (adres) {
(bytes32 r, bytes32 s, uint8 v) = splitSignature(imza);
return ecrecover(ethSignedMessageHash, v, r, s);
}
işlev splitSignature(bayt bellek işareti)
dahili
saf
şunu döndürür: (bytes32 r, bytes32 s, uint8 v)
{
require(sig.length == 65, "Geçersiz imza uzunluğu");
montaj {
r := mload(ekle(sig, 32))
s := mload(ekle(sig, 64))
v := bayt(0, mload(ekle(sig, 96)))
}
}
// İmza doğrulamalı nane
işlev imzaMint(bayt bellek imzası) harici {
require(!hasMinted[msg.sender], "Zaten basıldı");
gerektirir(
doğrulamaSignature(msg.gönderen, imza),
"Geçersiz imza"
);
hasMinted[msg.sender] = doğru;
_mint(msg.sender, 1);
}
}4. NFT/Token Geçişi
NFT Geçit Uygulaması:
arayüz IERC721 {
functionbalanceOf(adres sahibi) harici görünüm döndürür (uint256);
}sözleşmeli NTGatedWhitelist {
IERC721 genel gerekliNFT;
yapıcı(adres _nftAddress) {
gerekliNFT = IERC721(_nftAddress);
}
yalnızca değiştirici NFTHolder() {
gerektirir(
gerekliNFT.balanceOf(msg.sender) > 0,
"Gerekli NFT'ye sahip olunmalı"
);
_;
}
// Erişim NFT sahipleriyle sınırlandırıldı
işlev ayrıcalıklıMint() harici onlyNFTHolder {
_mint(msg.sender, 1);
}
}Gerçek Dünyadaki Kullanım Durumları
ICO/IDO Beyaz Listeye Alma
Süreç Akışı:
NFT Mint Beyaz Listesine Ekleme
Kademeli Erişim:
1. Kademe - VIP (24 saat erken):
Kademeli NFT Darphane Uygulaması:
sözleşme TieredNFTMint {
bytes32 genel vipMerkleRoot;
bytes32 genel beyaz listeMerkleRoot;
bytes32 genel izin verilenler listesiMerkleRoot;
uint256 genel vipStartTime = 1700000000;
uint256 genel beyaz listeStartTime = vipStartTime + 24 saat;
uint256 genel izin verilen listeStartTime = beyaz listeStartTime + 12 saat;
uint256 public publicStartTime = izin listesiStartTime + 6 saat;
eşleme(adres => uint256) public mintedAmount;
uint256 genel maxPerWallet = 3;
function vipMint(uint256 miktarı, bytes32[] çağrı verisi kanıtı) harici {
require(block.timestamp >= vipStartTime, "Çok erken");
gerektirir(
doğrulamaMerkleProof(kanıt, vipMerkleRoot, msg.sender),
"VIP değil"
);
require(mintedAmount[msg.sender] + miktar <= maxPerWallet);
mintedAmount[msg.sender] += miktar;
_mint(msg.sender, miktar);
}
function whitelistMint(uint256 miktarı, bytes32[] çağrı veri kanıtı) harici {
require(block.timestamp >= whitelistStartTime, "Çok erken");
gerektirir(
doğrulamaMerkleProof(kanıt, beyaz listeMerkleRoot, msg.sender),
"Beyaz listeye alınmadı"
);
require(mintedAmount[msg.sender] + miktar <= maxPerWallet);
mintedAmount[msg.sender] += miktar;
_mint(msg.sender, miktar);
}
function publicMint(uint256 miktar) harici ödenecek {
require(block.timestamp >= publicStartTime, "Çok erken");
require(msg.value >= miktar * PUBLIC_PRICE);
require(mintedAmount[msg.sender] + miktar <= maxPerWallet);
mintedAmount[msg.sender] += miktar;
_mint(msg.sender, miktar);
}
}Mevzuata Uygunluk
Güvenlik Jetonu Teklifleri (STO'lar):
DeFi Protokolü Erişimi
Beta Testi:
En İyi Uygulamalar
Projeler için
1. Açık İletişim:
2. Fuar Seçimi:
3. Güvenlik:
4. Kullanıcı Deneyimi:
5. Yasal Uyumluluk:
Kullanıcılar için
Doğrulama İpuçları:
Güvenlik:
Yaygın Hatalar:
Karşılaştırma: Yöntemler
Yöntem
Gaz Maliyeti
Ölçeklenebilirlik
Esneklik
Güvenlik
Şunun İçin En İyisi Eşleme
Yüksek
Zayıf
Mükemmel
İyi
Küçük listeler Merkle Ağacı
Düşük
Mükemmel Zayıf
İyi
Büyük listeler İmza
Düşük
Mükemmel
Mükemmel
Orta
Dinamik listeler NFT/Token
Düşük
Mükemmel
İyi
İyi
Topluluk kapısı Gelecekteki Trendler
1. Merkezi Olmayan Kimlik Entegrasyonu
2. Yapay Zeka Destekli Seçim
3. Protokoller Arası Beyaz Listeler
4. Düzenleyici Teknoloji
Sonuç
Sıkça Sorulan Sorular
S: Projeler neden açık satışlar yerine beyaz listeleri kullanıyor?
S: NFT nanesi için nasıl beyaz listeye alınırım?
S: Beyaz listeler dağıtımdan sonra değiştirilebilir mi?
S: Beyaz listedeki noktalar devredilebilir mi?
S: Beyaz liste yöntemleri arasındaki gaz maliyeti farkı nedir?