CoinEx Araştırma: Blok Zinciri Varlıklarının Güvenlik İkilemi: Gerçek Dünya Zamanının Neden Ek Bir Güvenlik Katmanı Olarak Gerekli Olduğu
- ETH0%
- DOT0%
- ATOM0%
- LUNA0%
- BTC0%
2020'deki DeFi Yazı'ndan bu yana, blok zinciri altyapılarının sürekli gelişmesiyle birlikte, DeFi protokolleri Swap'tan Lend'e, Yield Farming'den giderek daha karmaşık protokollere evrildi. Bu protokoller, blok zinciri türevlerine dayalı AMM (otomatik piyasa yapıcı) Yield Farming stratejilerini, borç verme altyapısı üzerine kurulu yapılandırılmış borç verme platformlarını ve gerçek dünya teminatlarını bağlayan zincir üstü borç verme protokollerini kapsamaktadır.
DeFi inovasyonunun patlamasının arkasındaki temel faktörlerden biri, birleştirilebilirlik olarak adlandırılan bir kavramdır. Çoğu zaman, yeni bir DeFi protokolü yayınlandığında, kaynak kodunun çoğu da kamuya açık hale getirilir. Bu, bir veya daha fazla DeFi protokolünden gelen akıllı sözleşmelerin kaynak kodlarının kolayca bir araya getirilerek yeni bir protokol oluşturulabileceği anlamına gelir. Bunlar Lego blokları gibi çalışır - farklı şekillerdeki bloklar benzersiz projeler oluşturmak için kullanılabilir ve bu da inovasyon maliyetini önemli ölçüde düşürür.
Şaşırtıcı bir şekilde, bu büyük inovasyonlara rağmen, DeFi kullanıcı sayısı 2020'den bu yana önemli bir artış göstermemiştir. Bu arada, geleneksel kurumlar blok zinciri alanına likidite sağlamamıştır. Bunun başlıca nedenlerinden biri DeFi'nin güvenlik endişesidir.
Gerçek dünya finansı, iyi kurulmuş, güvenli bir sistemle gelir. Örneğin, A Bankası'ndan B Bankası'na fon transferi yapılırken, para nakil araçları ve silahlı polis memurları fonları güvende tutmak için orada olacaktır, bu da güven verici bir süreçtir. Ayrıca, bankalar müşterinin varlığından sorumlu olacak ve süreç sırasında oluşabilecek herhangi bir kayıp için tazminat ödeyecektir. Ancak DeFi, geleneksel finans sisteminden farklıdır. Akıllı sözleşmeler tasarım gereği değiştirilemezdir. Bunlar esasen okunabilir günlük kayıtları göndermeyen kara kutulardır, bu nedenle insanlar iç süreçleri net bir şekilde göremezler. Çoğu akıllı sözleşme denetimi, yüksek olasılıkla ortaya çıkabilecek yeni tür kusurlar yerine sadece bilinen saldırı türlerine odaklandığı için yardımcı olmaz. Bu arada, birçok DeFi protokolü kendilerini "kendi riskinizle kullanın" ürünü olarak etiketler. Bu, normal kullanıcılar için korkutucu olabilir ve banka mevduatlarının çoğunu bir DeFi ekosistemine koymak konusunda güven vermeyebilir. DeFi, ona güvenmeyenleri hayal kırıklığına uğratmamıştır. Şimdiye kadar, DeFi 82 güvenlik ihlali yaşadı ve başlangıçta hack'lenen miktar 1.8 milyar doların üzerindeydi. Özellikle flash loan en yaygın saldırı türüdür ve 33 vakayı oluşturmaktadır. Bir flash loan saldırısının arkasındaki güvenlik nedenlerinden biri blok zincirlerinde doğru zaman kavramının ve bir doğrulama mekanizmasının olmamasıdır . Sonraki bölümlerde spesifik nedenleri inceleyeceğiz.
:quality(80)/2022-04-07/E90C1DDC531EA07B6D1D87B85257B6BC.png)
I. Zaman ve Bilgisayarların Zaman Ağı
Öncelikle geleneksel bilgisayar programlarında zamanın nasıl çalıştığına bakalım.
Zaman, bilgisayar programları için temel bir kavramdır. Zaman kavramı olmadan, TLS özellikli herhangi bir web sitesine erişmek, belirli algoritmalar için entropi oluşturmak, gizli bilgileri paylaşmak veya Windows lisanslarını doğrulamak imkansızdır. Bilgisayarlarda zaman tutmayı당연하게 kabul ederiz, ancak gerçek operasyonlarda zamanı değiş tokuş etmek ve takip etmek inanılmaz derecede zor bir sorundur.
Zaman, esasen evrenin mevcut küresel durumunun bir temsilidir. Bu, herhangi bir an için, her varlığın tam olarak aynı değeri paylaşması gerektiği anlamına gelir. Bu bilgisayarlar için açıkça büyük bir sorundur: Evrenin merkezinde, internet üzerinden zaman verilerini ileten büyük, son derece doğru bir atom saati olduğunu varsayalım. Bu süreçteki bir sorun, veri iletiminin kendisinin zaman almasıdır. Bir cihaz internet üzerinden zaman verilerini aldığında ve kendi sistemlerine uyguladığında, evrenin küresel durumu (zaman) çoktan değişmiş olacaktır. Başka bir deyişle, ağa bağlı bir cihazın gerçek küresel zaman değeriyle mükemmel bir şekilde senkronize olması imkansızdır.
Ağa bağlı zaman tutma ile ilgili başka bir sorun, veri iletimi için gereken süreyi mükemmel bir şekilde tahmin edemememizdir - ağ koşulları sürekli değişir ve kimse dış dünyada mükemmel güvenilirliği garanti edemez. İlk sorunla birleştiğinde, bu, alıcının zaman değerini mükemmel bir şekilde çoğaltamayacağı anlamına gelir ve bu da tutarsızlıklara yol açar.
Ağ Zaman Protokolü (NTP), dünya geneline dağıtılmış zaman tutma sunucularının karşılıklı doğrulama yapısı (15 katmana kadar) ve bir Bellman-Ford en kısa yol kapsayan ağacı oluşturarak (hem gecikmeyi hem de transfer süresi tutarsızlıklarını azaltır) bu sorunu çözer. Bu, özellikle doğru zamanlama gerektiren uygulamalarla (örneğin şifreleme programları) kişisel bilgisayarlar ve merkezi hizmetler için mükemmel şekilde çalışır. NTP aracılığıyla elde edilen zaman damgaları sadece tahmin olsa da, zaman açısından kritik uygulamaların güvenebileceği kadar doğru ve olgunlardır.
:quality(80)/2022-04-07/DCEE54532362107F1E3A0D218E9499E7.png)
Kaynak: https://medium.com/@gokhansengun/bilgisayarlar-zaman%C4%B1-nas%C4%B1l-do%C4%9Fru-tutar-78c1203397f0
II. Blok Zinciri Ağlarında Zaman Mekanizması
Zaman kavramı blok zincirlerinde de mevcuttur. Bazıları blok zincirinin kendisinin zaman kavramının bir türevi olduğunu söylese de, bir blok zinciri ağının zamanı işlemesi, NTP sisteminin 64-bit doğruluğuyla karşılaştırıldığında son derece belirsizdir. Sonuçta bu, blok zinciri zamanının hizmet hedeflerinin DeFi uygulamaları gibi zamana duyarlı akıllı sözleşme uygulamaları olmamasından da kaynaklanmaktadır. Ayrıca, konsensüs mekanizmasının güvenli ve verimli bir şekilde yürütülmesini sağlamayı amaçlar. Bu farklı hedef, blok zinciri ağlarının zaman tutarsızlıklarına karşı daha toleranslı olmasını da sağlar. Aşağıdaki paragraflarda, bazı popüler konsensüs mekanizmalarını ve zamanı nasıl belirlediklerini tartışacağız. Bununla birlikte, blok zincirleri üzerindeki zamanın doğrulanmasının, on milyarlarca dolar değerindeki zincir üstü varlıklar için finansal operasyonları ve güvenlik kontrollerini taşıyamayacak kadar genel olarak belirsiz olduğu belirtilmelidir.
1. Bitcoin
Bitcoin, Proof-of-Work konsensüs mekanizması için gerekli olduğundan zaman kavramına sahiptir. Geçerli bir zaman damgası olmadan, ağ belirli bir madencilik işleminin önceki bir işlemi değiştirmeye çalışıp çalışmadığını doğrulayamaz. Her Bitcoin bloğu bir UNIX zaman damgası içerse de, blok zamanı bir UNIX zaman damgasının doğru bir temsili değildir. Bunun nedeni, Bitcoin konsensüsünün zaman damgalarını blok zincirinde zamanı ölçmek için gerçek bir araç olarak değil, sadece PoW güvenlik sisteminin bir parçası olarak değerlendirmesidir.
Bitcoin Wiki'den alıntı yaparsak, her blok madenciler tarafından sağlanan bir Unix zaman damgası içerir ve 1) önceki 11 bloğun medyan zaman damgasından büyük ve 2) ağ-ayarlı zamandan artı 2 saat daha az olması durumunda geçerli kabul edilir. Bu nedenle, blok zamanları ile gerçek dünya zamanları arasındaki fark bir saatten iki saate kadar değişebilir.
:quality(80)/2022-04-07/6E32A8358AE9279994AD47E20B41B1D5.png)
Kaynak: https://en.bitcoin.it/wiki/Block_timestamp
2. Ethereum
Ethereum ağında, zaman damgaları da büyük bir esneklikle doğrudan madenciler tarafından gönderilir. Basitçe söylemek gerekirse, bir Ethereum zaman damgası doğru veya yanlış olabilir ve konsensüs mekanizmasının bunun doğruluğunu onaylamasının bir yolu yoktur. Ethereum forumundaki bir gönderiye göre (kaynak: https://ethereum.stackexchange.com/questions/413/can-a-contract-safely-rely-on-block-timestamp/428#428), Ethereum zaman damgalarının aşırı sapmasını önlemek için birkaç mekanizma kullanılabilir: 1) Bir bloğun zaman damgası gerçek dünya zamanından önemli ölçüde sapma gösterirse, kimse bu bloğu ebeveyn blok olarak kullanarak daha fazla blok üretmek istemeyecektir; 2) En son bloğun zaman damgası ebeveyn bloktan daha erken olamaz; 3) Blok zorluğu, blok gerekenden daha erken işaretlenmediğinde en düşük olacaktır. Bu mekanizmalar, madencilerin doğru olduğuna inandıkları zaman damgalarını gönüllü olarak göndermelerini sağlayabilir. Ancak, diğer dış teşvikler mevcut olduğunda, Ethereum ağı madencilerin hala doğru zaman damgası göndermesini sağlayacak herhangi bir sıkı mekanizmaya sahip değildir. Bu nedenle, ağ zamana duyarlı protokollerin (örneğin yield farming, borç verme) düzgün çalışmasını sağlayamaz. Bu nedenle, büyük kurumlar paralarını Ethereum'a emanet etmeyecektir.
3. Polkadot
Substrate'in belgesine göre, Polkadot da blokları doğrudan madenciler tarafından sağlanan zaman damgalarıyla işaretler. Bu arada, bu zaman damgalarını doğrulayan veya senkronize eden sıkı mekanizmalar yoktur. Belge ayrıca, bir bloğun zamanı kanıtlanamasa da, doğrulayıcıların bunun sistem saatlerinin belirli bir delta aralığında olduğu konusunda anlaşabileceklerini belirtir.
:quality(80)/2022-04-07/9550D7F434E41030C21D15B917029249.png)
Kaynak: https://wiki.polkadot.network/docs/build-protocol-info
4. Cosmos
Cosmos'un Tendermint'i, zamanı konsensüs mekanizmasına yazan tek konsensüs algoritmasıdır ve bu da onu en sağlam zaman kavramıyla donatır. Daha spesifik olmak gerekirse, bir bloğun düğümleri, gönderdiği zaman üzerinde konsensüse varmak için oylama yapar ve yalnızca düğümlerin üzerinde anlaştığı zaman damgası bloğa dahil edilir.
:quality(80)/2022-04-07/4E7464D775216A3B3628098C5F22D098.png)
Kaynak: https://docs.tendermint.com/master/spec/consensus/bft-time.html
III. Bloklarda Zaman Damgası Sisteminin Eksikliği
Blok zincirleri sadece zaman damgalarının oluşturulması açısından belirsiz değil, aynı zamanda bloklar içinde bir zaman damgalama sistemi veya mekanizmasından da yoksundur. Gerçek dünyadaki işlemler tek tek gönderilir ve onaylanır, her birinin net bir zamanı ve sırası vardır. Bu şekilde, birçok sahte işlem gerçekleşemez veya onaylanamaz. Öte yandan, bir blok zinciri ağında, her bloktaki işlemler birlikte paketlenir ve tek tek doğru zaman damgalarıyla işaretlenmez.
Blok oluşturulduktan sonra tüm işlemler doğrulanabilse de, her işlemin spesifik gönderim zamanını ve sırasını belirlemek imkansızdır. Bu, birçok saldırının (örneğin flash krediler veya flash takaslar) neden gerçekleştirilebildiğini kısmen açıklar. Bloklar içinde doğrulama kanıtı olarak doğru zaman işaretleri sağlanırsa, uygulama protokolleri daha güvenli ve kararlı algoritmalar geliştirebilir. Bu arada, doğası gereği, zaman geri döndürülemez ve değiştirilemez olan oldukça güvenli bir konsensüs ağıdır.
IV. Potansiyel Çözümler
Blok zincirlerindeki zaman eksikliği dahili veya harici olarak çözülebilir.
Dahili çözüm: Blok zamanını gerçek dünya zamanıyla karşılaştıran bir konsensüs seviyesi doğrulama mekanizması getirilmeli veya daha yüksek doğrulukta bağımsız bir zaman sistemi kurulmalıdır.
Harici çözüm: Blok zincirleri, ağ bloklarına ve bloklar içindeki işlemlere hassas zaman damgaları eklemek için NTP benzeri bir zaman oracle ağı kullanan merkezi olmayan bir ağa ihtiyaç duyar.
Çoklu zincir işbirliği göz önüne alındığında, harici çözüm daha uygun olabilir. Örneğin, Ethereum ve Terra'nın kendi saatleri olduğunu varsayalım, bu saatlerin sağladığı zaman damgaları farklıysa, ikisi arasındaki etkileşimler sırasında hangisinin doğru olduğunu belirlemek zor olacaktır. Örneğin, geleneksel bir bilgisayar ağında, sonuçta herkese saatin kaç olduğunu söyleyen tek bir ana saat vardır. Blok zincirleri de bir ana saate ihtiyaç duyar.
Çoklu zincirlerin mümkün kıldığı gelecekteki çok boyutlu evrende, başka bir zorlukla karşılaşacağız - tüm farklı bilgisayarlardaki saat sayısı beklenenden çok daha fazla. Örneğin, oyun saatleri, DeFi faiz tahakkuk saatleri, blok zinciri saatleri vb. var. Bu saatler meta düğümlerdeki zamanı bozacağından, tüm işlemleri birleştirmek ve senkronize etmek için güvenilir tek bir zaman kaynağına ihtiyaç duyulacaktır. Böyle bir zaman oracle ağı sonunda yaygın olarak benimsendiğinde, gerçek dünyada olduğu gibi her işleme ek zaman onayları sağlayarak ekstra bir güvenlik katmanı sunacaktır. Zaman ayrıca blok zinciri ağları için ek bir güvenlik katmanı haline gelecektir.
Referans: