Simplified Payment Verification (SPV) Nedir?

Nedir 14/11/2022 23:23 Mete Balcı Mete Balcı  Twitter
Simplified Payment Verification (SPV) Nedir?

SPV (Basitleştirilmiş Ödeme Doğrulaması); blok zinciri işlemlerini doğrulayan, yalnızca block header’larını (blok başlıkları) indiren ve Merkle Ağacı’nda (Merkle Tree) işlemlerin blok zincirine dahil edildiğine dair kanıt istemek için kullanılan bir istemcidir.

Şimdi hep birlikte teknolojinin detaylarına inerek bilgi birikimimizi artıralım.

İlginizi çekebilir: Sui Blok Zinciri Nedir? Nasıl Çalışır? Airdrop Gelecek mi?

Merkle Ağacı

Merkle Ağacı, adından da anlaşılacağı üzere bilgisayar biliminde yerini almış ağaç veri yapısının bir örneğidir. Bloktaki tüm işlemlerin hash’leri Merkle ağacında yaprak şekillerinde bulunur.

k5HrTVwmXMiCog9wf0BIvjIa2iMLMLorzQJbRIxLIlV2AFxDW3SFTwOXgaUP2FGXLvP0j8wuzt8CHlPpLY bDJTpT07zurZ 5 gkhUD7YDusLHoCJ7LVxUrZKASqqSmpJVaZ6eP4gK MwAGcInFVMJL4qA70PVNM IDBJXoroiibeWOwj BAvOZHlq2P3A - Simplified Payment Verification (SPV) Nedir?

Light Node

Light Node; doğrudan cüzdan hesabına bağımlı çalışan ve Full Node’lar ile birlikte çalışarak işlemlerin gerçekleşip gerçekleşmediğinin oldukça hızlı bir şekilde doğrulanmasını sağlayan Node’dur. “Light Node, cüzdan uygulamasının görünmez kısmıdır” da diyebiliriz.

Light Node’lar blok zincirin, Full Node’da olduğu gibi tam bir kopyasını saklamadıkları için ağın güvenliğine katkıda bulunmazlar. Bütün verileri tutarak merkeziyetsizliğe katkı sağlayan yapı Full Node’dur. 

Light Node, Full Node ya da Super Node’lardan farklı olarak yalnızca block header’larını tutar. 

SPV’yi anlamak adına Light Node kavramını, Full Node ve Super Node’dan farklarını öğrenmemiz gerekiyor. Light Node’ların sadece block hearder’ları tuttuğunu söyledik, iyi ama neden? Sadece block header’ların tutulması için çalıştırılan bir client (istemci) tam olarak ne işe yarar? Satoshi neden buna ihtiyaç duydu? Light Node’un işlevini Full Node yapsa olmaz mıydı? Gelin hep birlikte bu soruları bir örnek üzerinden cevaplayalım:

Ali’nin Veli’ye 5 BTC gönderdiği senaryoyu düşünelim. İşlemimiz oluştu, Light Node tarafından hash’lendi, Full Node’lar tarafından da işlemin yapılabilirliği onaylandı; geriye madenci tarafından bir bloka eklenmesi kaldı. Bu, işlemimizin bir blokun Merkle ağacında yer almayı beklemesi anlamına gelir. Varsayalım ki biz işlemi başlattık ve ardından bir blok eklendi. Ali’nin cüzdan uygulamasının tam olarak bu anda yapması gereken şey şu; gerçekten Ali’nin işlemi bu blokta işlem gördü mü? Yoksa hala başka bir blokta bulunmak üzere sırada mı bekliyor?

Light Node tam da bu anda devreye girer ve tam olarak görevi, eklenen yeni blokta Ali’nin işleminin gerçekten var olup olmadığını kontrol etmesidir.

Light Node’un içerisinde sadece header’ların olduğundan bahsemiştik; bu içerisinde az bir veri olduğu anlamına gelir. Merkle ağacı dediğimiz yapı Full Node içerisinde tutulur. Light Node Merkle ağacını içinde barındırmıyorsa nasıl oluyor da bir cüzdan uygulaması gibi görev yapıp bakiyeleri kontrol edebiliyor?

Light Node bu bilgiyi kendi kendine edinebilmek için yeterli bilgiye sahip değildir. O yüzden bilgiyi Full Node’lardan talep etmektedir. Full Node, Light Node’a “istediğin işlem ağaçta mevcut” ya da “istediğin işlem ağaçta mevcut değil” şeklinde bir cevap gönderir.

Peki bu cevap yeterli ve güvenilir bulunabilir mi? Full Node kötü niyetli (imposter) bir Node ise? Blokta işlemimiz yokken Light Node’a var dediyse?

İşte tam da bu noktada Simple Payment Verification (SPV) devreye giriyor.

Simple Payment Verification (SPV)

Aşağıdaki görsele bakarak SPV algoritmasının nasıl çalıştığını ve Full Node’dan hangi hash’leri isteyeceğimizi tartışalım.

jy6oe8wbXn20AaNqDhAEWD5exELxFlo KO hO0MCP7uUZ2z2zVM83tC4uT8ySluQCZKXwP76lZdDM2qTu4jAV0zd 0vGNDl8axsuhep4Ii214z947CW ygwBzxMCLTJTi km5M1zdxLOMVW969G57x4FA dhZ59tWAOq9pgbBX3ZZkjbtD9Sz3HC7 ygCA - Simplified Payment Verification (SPV) Nedir?

Herhangi bir Full Node’a gittiğimizde bize şu cevabı verdiğini düşünüyoruz; “senin işlemin (Transaction D) bu blokta var”. Bizim Light Node olarak bu cevabı doğrulamamız için istememiz gereken hash’ler şu şekilde bulunuyor; her zaman kendi işlemimizin eşi olan hash’i isteyerek Merkle Root’a ulaşmaya çalışıyoruz. Gelin bu doğrulama algoritmasının mekanizmasını beraber inceleyelim.

Zaten Hd’yi biliyoruz çünkü Hd bizim işlemimizin kendisini ifade ediyor. Eğer biz Hc’yi istersek Hcd’ye ulaşabiliriz. O zaman yukarıya çıkabilmek için bize lazım olan Hab’yi bilmeliyiz ki Habcd’ye ulaşabilelim. Son olarak Hefgh’yi istiyoruz ve Habcd-Hefgh’yi kullanarak Habcdefgh’ye yani Merkle Root’a ulaşıyoruz.

Merkle Root’un Light Node’da tutulduğunu biliyoruz. O zaman Full Node’dan aldığımız bilgiler ile bulmuş olduğumuz Merkle Root’u kendi blokumuzda tuttuğumuz Merkle Root ile kıyaslayabiliriz. Eğer Merkle Root’lar birbiri ile 1’e 1 uyuşuyorsa artık işlemimizin gerçekten o blokta olduğuna emin olabiliriz ve başka bir Full Node ile iletişime geçmeden “Pending” statüsünde olan işlemi “Completed” şeklinde değiştirebiliriz.

Peki ya Merkle Root’ların birbirinden farklı olduğu senaryoda ne yapacağız? Full Node’u “Imposter” olarak adlandıracağız ve bizim için güvenilmez olacak, başka bir Full Node’dan bilgileri tekrar isteyeceğiz ve doğrulamaları tekrar yapacağız. İyi niyetli bir Full Node hiçbir zaman bize yanlış bir bilgi vermeyecektir yani işlemin blokta bulunmaması durumunda “işlem blokta yoktur” ibaresi döndürecektir. Tabi biz yine de farklı Full Node’lardan aynı teyidi almalıyız ki bu durum da netliğe kavuşsun. Sadece buradan şunu rahatlıkla söyleyebiliriz ki bir blok zincirinde ne kadar çok full node çalıştıran bilgisayar varsa, o blok zinciri o kadar merkeziyetsizdir.

Bir blok zincirinde full node sayısının fazla olmasını sağlayan temel faktör sistem gereksinimlerinin düşük tutulmasından geçer. Düşük maliyet ile herkesin dahil olabileceği bu sistem dünyanın farklı yerlerinden birçok insanın ağa katılmasını teşvik eder ve bu blok zincirler için oldukça önemlidir. Merkeziyetsizlik ve full node konumuz olmadığı için burada bırakalım. 

Şunu diyebiliriz ki; Satoshi’nin de belirtmiş olduğu gibi SPV hızlılık açısından gayet iyi ama güvenlik konusunda da bir o kadar zayıf bir sistemdir. O halde neden Light Node kurulumu yapıp tersten gittiğimiz bir yol izliyoruz? Full Node kurup ödemelerimizin yeni eklenen blokta var olup olmadığına kendimiz baksak, daha güvenli olmaz mıydı?

Cüzdan uygulaması sahibi olduğumuzu düşünelim ve yüzlerce node’a ihtiyacımız var. Çünkü cüzdan uygulamasında yapılan her bir işlemi blokta arayıp gerçekten orada olduğunu teyit etmemiz gerek. Eğer bunu Full Node ile yapacak olursak bizim yüzlerce Full Node kurmamız gerekecek ve bu oldukça maliyetli olacak. Onun yerine veriyi, kurulu Full Node’lardan talep edip doğrulamasını kendimiz yapmamız bizim için en karlısı olacaktır. Ayrıca tüm SPV Node’ları, farklı Full Node’lar ile uyumlu çalışacağından iş yükünü de dengelemiş olurlar.

Son Olarak

Light Node; bildiğimiz cüzdan uygulamasıdır, bakiyeleri izlemek için büyük bir maliyetten kurtarır ve az veri tutarak sadece bu işe odaklanır. Merkle ağacının verilerini tutmak yerine Full Node’dan Merkle Root’u çekerek sadece doğrulamaya odaklanır. Buna Simple Payment Verification (SPV) denir.

Bitcoin’in %51’ini barındıran bir grup veya birey tarafından SPV manipüle edilip gayri meşru işlemleri onaylayabilir. %51 saldırısı birçok kripto para birimi için büyük bir tehdit olmakla birlikte özellikle Bitcoin için %51 saldırısı pek de mümkün gözükmemektedir.

Twitter’dan anlık ve hızlı haber akışı için: https://twitter.com/Muhabbitcom

Daha fazla Nedir haberi için: Nedir Haberleri

Daha fazla Blockchain haberi için: Blockchain Haberleri

Gelişmelerden ve son dakikalardan haberdar olmak, kripto para dünyasında aktif bir yer edinmek istiyorsanız Telegram kanalımıza bekliyoruz.

SON HABERLER
TÜMÜNÜ GÖR TÜMÜNÜ GÖR
Cardano (ADA) 2,5 Yılın Zirvesine Ulaştı
Kripto para piyasasında heyecan devam ederken, Cardano’nun yerel tokeni ADA dikkatleri üzerine çekiyor. ADA son 24 saatte %10 artışla 90 cent seviyesine çıkarak Mayıs 2022’den bu yana en yüksek değerine ulaştı. Haftalık %22 aylık %152 kazanç sağlayan ADA’nın piyasa değeri 30,85 milyar dolara yükseldi. Bu yükseliş, ADA’yı dünyanın en büyük 10. kripto varlığı konumuna taşıdı. […]
13 saat önce Altcoin
Bitcoin ETF’leri 30 Milyar Dolar Eşiğini Aştı! Kripto Para Piyasasında Yeni Bir Dönem Başlıyor
ABD’deki spot Bitcoin ETF’leri, toplam net girişlerini 30 milyar dolara çıkararak büyük bir başarıya imza attı. Bu Bitcoin ETF’lerinin yatırımcılar tarafından giderek daha fazla tercih edildiğini gösteriyor. Spot Bitcoin ETF’leri yatırımcılara Bitcoin’e doğrudan sahip olmadan, daha güvenli bir şekilde Bitcoin yatırımı yapma imkanı tanıyor. Özellikle BlackRock’un IBIT fonu 608 milyon dolarlık girişle lider konumda bulunuyor. […]
13 saat önce Bitcoin
Vitalik Buterin’in ANON Alımı, Token Fiyatını yüzde 350 Artırdı!
Ethereum’un kurucu ortaklarından Vitalik Buterin’in cüzdanında yaptığı bir işlem, ANON token fiyatında büyük bir yükselişe neden oldu. On-chain verilere göre, Buterin Çarşamba akşamı 0.082 ETH karşılığında 30,303 ANON token satın aldı. Bu işlem ANON’un piyasa değerini 36 milyon doların üzerine taşıdı ve token fiyatı bir noktada %350 artış gösterdi. ANON Token Nedir? ANON (Super Anon), […]
1 gün önce Altcoin
Sui Network’te Kesinti! Yeni Bloklar Üretilemiyor
Mysten Labs tarafından geliştirilen bir Layer 1 blockchain ağı olan Sui Network, son iki saattir ana ağında yeni blok üretmediği için etkin bir şekilde durmuş durumda. Sui Network’ün sayfası ise bir kesinti yaşandığını ve doğrulayıcıların çevrimdışı olduğunu doğruladı. Sui Ağı Blockchain ağları bu tür kesintiler sırasında genellikle işlem hatalarına ve ağda çalışan merkeziyetsiz uygulamalara (dApps) […]
1 gün önce Altcoin
CME’deki Bitcoin Vadeli İşlemleri Açık Pozisyonu İlk Kez 215.000 BTC’yi Geçti!
Bitcoin, Donald Trump’ın ABD başkanlık seçimlerini kazanmasının ardından 30.000 dolar artarak 100.000 dolara yaklaşan fiyatıyla dikkat çekiyor. Bitcoin’in piyasa değeri ise 2 trilyon dolara ulaşmak üzere. Bu tarihi seviyeye ulaşması için 101.000 dolara ihtiyaç duyuyor. Bu yükselişle birlikte Bitcoin’in CME (Chicago Mercantile Exchange) üzerindeki vadeli işlem açık faizi de rekor seviyelere çıktı. 218.000 BTC’ye (21.3 […]
1 gün önce Bitcoin
Güney Kore, Upbit Hack’inin Kuzey Kore Tarafından Gerçekleştirildiğini Doğruladı
Güney Kore, Kuzey Kore’nin 2019’daki 50 milyon dolarlık Upbit hack’inin sorumlusu olduğunu doğruladı. Güney Koreli yetkililer, hack’in Lazarus ve Andariel adlı Kuzey Koreli hacker grupları tarafından gerçekleştirildiğini açıkladı. 2019’daki saldırıda çalınan 342.000 Ether (ETH), o dönemde yaklaşık 50 milyon dolar değerindeydi. Ancak Ether’in son dönemdeki değer artışıyla birlikte çalınan miktar şu an 1 milyar doları […]
2 gün önce Blockchain