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
Avalanche’ın Yapay Zeka Hamlesi! InfraBuidl() Programı ile Blockchain Geleceği
Avalanche, blockchain dünyasında önemli bir rol oynamaya devam ederken, şimdi de yapay zeka (AI) teknolojisini ekosistemine entegre etmek için büyük bir adım atıyor. InfraBuidl() programının ikinci aşamasında yapay zeka kullanımına odaklanarak, blockchain ve AI teknolojilerinin birleşiminden doğan yeni fırsatlar yaratmayı hedefliyor. Bu program Avalanche topluluğundan seçilen uzmanlar tarafından denetleniyor. Ve AI odaklı projelere hibe desteği […]
2 saat önce Avalanche
Unichain’in Ana Ağı 2025’te Faaliyete Girecek! DeFi’de Yeni Bir Dönem Başlıyor
Uniswap tarafından geliştirilen Unichain, 2025’in başlarında, Ethereum’un Optimism (OP) Stack’i üzerinde inşa edilen yeni bir Layer 2 çözümü olarak ana ağ (mainnet) lansmanını yapmayı planlıyor. Bu ağ Ethereum’un sınırlamalarını aşarak merkeziyetsiz finans (DeFi) uygulamaları için daha hızlı ve güvenli bir platform sunmayı hedefliyor. Unichain, halihazırda Ethereum‘un Sepolia test ağı üzerinde başarılı bir test süreci yürütüyor. […]
6 saat önce DEFI
CoinDesk’in ana şirketi Bullish, Üst Düzey Çalışanları İşten Çıkardı!
CoinDesk’in ana şirketi Bullish, başta Genel Yayın Yönetmeni Kevin Reynolds olmak üzere üç üst düzey editoryal çalışanını işten çıkardı. Diğer isimler arasında Genel Yayın Yönetmen Yardımcıları Nick Baker ve Marc Hochstein var. Editoryal Bağımsızlık Tehlikede Mi? CoinDesk çalışanları tarafından Bullish CEO’su Tom Farley ve CoinDesk CEO’su Sara Stratoberdha’ya gönderilen bir belgede, Bullish’in editoryal kararlar üzerindeki […]
3 gün önce Blockchain
Metaplanet, Japonya’dan Bitcoin Alımlarını Hızlandırmak İçin 61 Milyon Dolar Sermaye Topladı
Japon yatırım şirketi Metaplanet Inc. Bitcoin alımlarını hızlandırmak amacıyla bu hafta gerçekleştirdiği iki tahvil ihracıyla toplamda 9.5 milyar yen (60.6 milyon dolar) topladı. Tokyo Borsası’nda işlem gören firma, 5 milyar yen (31.9 milyon dolar) tutarında beşinci sıradaki sıradan tahvilini ihraç etti. Bunlara ek olarak ise salı günü 4.5 milyar yen (28.7 milyon dolar) tutarında başka […]
3 gün önce Bitcoin
El Salvador, IMF ile Anlaşma Sağladı: 1,4 Milyar Dolarlık Kredi Paketi
El Salvador, Uluslararası Para Fonu (IMF) ile 1,4 milyar dolarlık bir kredi paketi karşılığında ülke içindeki Bitcoin ile ilgili faaliyetleri sınırlama konusunda anlaşmaya vardı. Bu anlaşma, ülkenin ekonomik reformları ve ödeme dengesi ihtiyaçlarını desteklemeyi amaçlıyor. 1,4 Milyar Dolarlık Kredi Paketi ve Şartları IMF’in 40 ay boyunca devam etmesi beklenen Genişletilmiş Fon Tesis Programı kapsamında, El […]
4 gün önce Bitcoin
Fed Başkanı Powell: “Bitcoin tutmamıza izin verilmiyor.”
ABD Merkez Bankası (Fed) Başkanı Jerome Powell, Başkan Trump’ın stratejik Bitcoin rezervi planına ilişkin olarak, Fede’in Bitcoin tutmasına izin verilmediğini ve bu konuda yasa değişikliği arayışında olmadıklarını belirtti. “Bitcoin Sahibi Olamayız” Çarşamba günü düzenlenen bir basın toplantısında, Axios’tan bir gazetecinin ABD hükümetinin Bitcoin rezervi oluşturması konusundaki görüşünü sorması üzerine Powell, şu yanıtı verdi: “Bitcoin tutmamıza […]
4 gün önce Bitcoin