Yakında, finansın eski bir dünyasını işlettiğimizi ve daha güvenilir bir dijital altyapı inşa etmemiz gerektiğini fark etmemiz gerekiyor. Aslında, dönüştürmemiz gereken sadece finans değil, yüksek düzeyde güven, güvenlik ve dağıtım gerektiren tüm alanlar. Bunun için Ethereum gibi Katman-1 blockchain yöntemlerine sahip olabiliriz, ancak ana defter ve hesaplama altyapısının saniyede 15–30'dan fazla işlemle başa çıkamadığı bir ölçeklendirme sorunu gösterdi.
Ancak, artık Ethereum üzerindeki yükü hafifletmek için yeni yöntemler uygulanıyor - yine de güvenilirliği ve dağıtımı korurken. Bunlar, paylaşım için Katman 1 uygulamalarını ve Proof-of-Stake'e (PoS) doğru bir geçişi içerir. Bununla birlikte, en ilginç gelişmeler, temel Ethereum ağı (Mainnet) üzerine inşa edilen Katman 2 yöntemleri içinde gerçekleşiyor.
Durum kanalları ilk olarak Bitcoin Lightning ağı ile uygulandı ve o zamandan beri Ethereum üzerinde ölçeklendirildi. Bununla, temelde Mainnet defterinde iki kaydımız var ve ilgili tarafın harcanabilecek veya harcanamayabilecek bazı fonları taahhüt etmesi gerekiyor. Örneğin, Bob'un müşterilerine ödeme yapmak için bir yan kanal oluşturmak istediğini ve 10 $Eth taahhüt edeceğini varsayalım. Daha sonra bir kanal sözleşmesi oluşturacaktır. Taahhüt edilen Ether daha sonra kanal süresi boyunca kilitlenecek ve harcanamayacaktır. Bob daha sonra Alice'e 2 $Eth ve Carol'a 3 $Eth verebilir. Bununla işi bittiğinde, bitmiş işlemi geri taahhüt edecek ve Bob 5 $Eth, Alice 2 $Eth ve Carol 3 $Eth geri alacaktır. Sonunda, Bob sadece özet verileri yayınlar ve deftere yapılan iki taahhüt için sadece gas ücreti öder. Durum kanallarının uygulanması Polygon tarafından sunulmaktadır ve tam EVM uyumluluğu ve düşük işlem ücretleri uygularlar. Buradan bir örnek:
pragma solidity ^0.7.0;
contract PaymentChannel {
address public sender;
address public receiver;
uint256 public expiration;
uint256 public amount;
constructor(
address _receiver,
uint256 _amount,
uint256 _expiration
) payable {
sender = msg.sender;
receiver = _receiver;
amount = _amount;
expiration = block.timestamp + _expiration;
}
function close(uint256 _payment) public {
require(
msg.sender == receiver,
"Only the receiver can close the channel"
);
require(
_payment <= amount,
"Payment amount exceeds amount in the channel"
);
selfdestruct(receiver);
}
function extendExpiration(uint256 _expiration) public {
require(
msg.sender == sender,
"Only the sender can extend the expiration"
);
require(
_expiration > expiration,
"Expiration must be set to a longer time than the current expiration"
);
expiration = _expiration;
}
}
Ethereum'u ölçeklendirmenin en iyi mekanizmalarından biri, roll-up'lar ve yan zincirler aracılığıyla işlemleri zincir dışına taşımaktır.
Bunlar, işlemleri zincir dışında işler ve işlemlerin geçerli olduğunu varsayar (temelde bir "güven ve doğrula" yaklaşımı). Yalnızca işlemlerde bir anlaşmazlık olduğunda Mainnet üzerinde hesaplama kaynakları kullanırlar. Bu nedenle, işlemlerin Mainnet'e gerçekten onaylanmasından önce gerekli olan bir "itiraz süresi" gecikmesi olacaktır.
Arbitrum ile, sahtekarlık gözlemcileri işlemleri analiz eder ve sahtekarlık içeren bir işlem tespit edilirse, gözlemci Mainnet'e bir sahtekarlık kanıtı gönderir. Aslında, Arbitrum, sahtekarlık analizine ilişkin kod satırlarını tanımlayabilir ve ardından bunu Mainnet'e gönderebilir. Mainnet daha sonra sahtekarlık kanıtını karara bağlayabilir ve gerekli kodu yürütmeye karar verebilir. Arbitrum için yedi günlük bir para çekme süresi vardır [burada].
Optimism ayrıca optimistic roll-up'lar ile zincir dışı yöntemler kullanır ve işlemlerin geçerli olduğunu varsayar. Sahtekarlık içeren bir işlem olup olmadığını belirlemek için gözlemciler (veya doğrulayıcılar) kullanır ve bir sahtekarlık kanıtı sunabilir ve işlemin kaldırılabileceği durumlarda. Gözlemci, sahtekarlık içeren bir işlem bulduğu için ödüllendirilecektir. Genel olarak, itiraz için yaklaşık yedi günlük bir gecikme vardır ve sahtekarlık kanıtının doğru olduğu tespit edilirse işlem tersine çevrilir [burada]:
Bunlar, hesaplamaları ve durum depolamasını zincir dışına taşır ve güven gerektirmeyen bir yaklaşım içerir. Mainnet'e geri gönderildikten sonra, durum değişikliği ve bununla ilişkili kanıtlar için minimum güncelleme gerekecektir. Kanıtları sıkıştırılmış bir biçimde tuttuğumuz için, güncellenmiş işlemlerin hızlı bir şekilde doğrulanmasını sağlayabilir ve işlemlerin gizliliğini destekleyebiliriz. Bununla, taahhüt edilmesi günler süren optimistic roll-up'ların aksine, zk-Rollup'lar (zkSnarks'a dayalı) ile kanıtları doğrulamak için yalnızca yaklaşık bir saate ihtiyacımız var. Bu, çifte harcama olmadığını ve tüm işlemlerin ödeme gücüne sahip olduğunu garanti eder. Bir örnek ZKsync [burada]:
zk-Rollup'lar ile, işlemlerin geçerliliğine dair kriptografik kanıtlar vardır ve daha sonra Mainnet'e bağlanırlar. Bu nedenle, sahtekarlık içeren bir işlem gerçekleştirmek son derece zor olacaktır. Optimistic roll-up'lar ile, kriptografik kanıt eksikliği vardır, bu nedenle Mainnet'e geri taahhüt edilmeden önce ve bu nedenle sahtekarlık içeren işlemlerin tespit edilebilmesi için bir gecikme vardır.
Bu, bağımsız bir yan zincirdir ve Mainnet'e köprülenmiş ayrı bir blockchain'dir. Roll-up yöntemlerinin aksine, güncellenmiş işlemler daha sonra gerektiğinde Mainnet'e geri yansıtılabilir. Genel olarak, kendi blockchain'leri ve Proof of Authority (PoA) gibi kendi fikir birliği mekanizmaları vardır. Polygon, bir yan zincir altyapısına bir örnektir. Yan kanalların genel zayıflığı, ana Ethereum ağından farklı bir güvenlik modeline sahip olma olasılıklarının yüksek olmasıdır [burada]:
Bana göre, çevrimdışı bir zincirdeki Sıfır Bilgi Kanıtları en iyi çözümdür, çünkü işlemlerin ana zincir üzerinde doğrulanması ve işlem yapanların gizliliğinin korunması hızlıdır. Ayrıca ZKP'ler içinde seçici ifşa kullanabiliriz ve bu, bir kişinin bir kaynağa erişme hakkına sahip olup olmadığı gibi önemli bilgileri ortaya çıkarmada yararlı olabilir.
Optimistic roll-up'lar ile, aksi kanıtlanmadıkça işlemlerin geçerli olduğunu varsayarız ve işlemlerin sonuçlandırılmadan önce itiraz edilmesi için bir itiraz süresine ihtiyacımız vardır. zk-Rollup'lar ile, işlemlerimiz bununla ilişkili bir kanıt olduğu için geçerli olacaktır ve Mainnet'e hızlı bir taahhüdümüz vardır. Ne yazık ki, zk-Rollup'lar kriptografi ve blockchain hakkında güçlü bir anlayış gerektirir ve bu da gelişmeleri yavaşlatabilir.
Açıkçası, Ethereum şehirdeki tek gösteri değil ve Polygon [burada], Solana [burada], Cardano [burada] ve Polkadot [burada] Ethereum'dan daha iyi ölçeklenen alternatifler sunuyor. Ancak, bize akıllı sözleşmeleri ve EVM'yi (Ethereum Virtual Machine) getiren blockchain'i seviyoruz ve çoğu, ölçeklenebilirlik sorunlarının üstesinden gelebileceğini ve aynı dağıtım ve güvenlik düzeylerini koruyabileceğini umuyor.