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
SEC, Kripto Staking ve Doğrudan Varlıkla İşlem Gören ETF Kararlarını Erteledi
Amerika Birleşik Devletleri Menkul Kıymetler ve Borsa Komisyonu (SEC), kripto staking ETF’leri ve “in-kind” (doğrudan varlıkla) yaratım ve itfa işlemlerine ilişkin kararlarını erteledi. SEC, bu düzenleme değişikliklerini değerlendirmek için daha fazla zamana ihtiyaç duyduğunu belirtti. Kurumun uzun vadeli dijital varlık stratejisi üzerinde çalışan iç birimi, yeni kuralları şekillendirmek için çalışmalarını sürdürüyor. Grayscale ve VanEck ETF’lerine […]
1 hafta önce Blockchain
Güney Kore, Kayıtsız Kripto Platformlarını Yasakladı
Güney Kore, kripto para sektörüne yönelik denetimlerini sıkılaştırırken, Apple da ülkedeki App Store’dan 14 kayıt dışı kripto uygulamasını kaldırdı. Finansal Hizmetler Komisyonu (FSC) tarafından yapılan açıklamaya göre, bu adım Mali İstihbarat Birimi’nin (FIU) talebi üzerine 11 Nisan itibarıyla hayata geçirildi. KuCoin ve MEXC de Listede Kaldırılan uygulamalar arasında önde gelen yabancı kripto borsaları KuCoin ve […]
1 hafta önce Blockchain
Trump’ın Tarife Hamleleri, Küresel Kripto Fonlarında 795 Milyon Dolarlık Çıkışa Neden Oldu
CoinShares verilerine göre, küresel kripto yatırım ürünlerinde geçen hafta 795 milyon dolar tutarında net çıkış yaşandı. Bu art arda ikinci hafta gerçekleşen bir çıkış oldu. CoinShares Araştırma Başkanı James Butterfill, Başkan Trump’ın uyguladığı tarifelerin kripto varlık sınıfına olan duyarlılığı olumsuz etkilediğini belirtti. Butterfill, yaptığı açıklamada Trump’ın tarife politikalarının kripto para yatırımları üzerindeki olumsuz etkisinin sürdüğünü […]
1 hafta önce Blockchain
JPMorgan, İngiliz Sterlini ile Blokzincir Ödemelerini Başlattı
JPMorgan, şirketlere İngiliz sterlini (GBP) cinsinden 7/24 blokzincir tabanlı ödeme yapma imkânı sunduğunu duyurdu. Bu yeni hizmet daha önce başlatılan euro (EUR) ve Amerikan doları (USD) işlemlerine ek olarak sunuluyor. Bankanın blokzincir birimi Kinexys (eski adıyla Onyx), İngiltere’de GBP cinsinden blokzincir mevduat hesaplarını devreye aldı. Böylece JPMorgan gerçek zamanlı ödeme altyapısını genişletmiş oldu. Sterlin, JPMorgan’ın […]
1 hafta önce Blockchain
Strategy, Bitcoin Alımlarını 87.000 Doların Altına Düşen Fiyatla Durdurdu
Michael Saylor’ın liderliğindeki Strategy şirketi, Bitcoin (BTC) fiyatı $87.000’in altına düşerken alım yapmayı durdurdu. Şirket 7 Nisan’da SEC (ABD Menkul Kıymetler ve Borsa Komisyonu) ile yaptığı açıklamada, 31 Mart ile 6 Nisan arasında Bitcoin alımı yapmadığını duyurdu. Ayrıca şirket birinci çeyrekte dijital varlıklarda 5,91 milyar dolarlık gerçekleşmemiş zarar bildirdi. Michael Saylor’ın Bitcoin Stratejisi: Fiyat Düşüşü […]
2 hafta önce Bitcoin
ABD Federal Ajansları, Kripto Varlıklarını 7 Nisan’a Kadar Hazine’ye Bildirecek
ABD federal ajanslarının, 7 Nisan’a kadar kripto para varlıklarını Hazine Bakanlığı’na bildirmesi bekleniyor. Bu bildirimler ise Başkan Donald Trump tarafından bu yıl imzalanan bir yürütme emri doğrultusunda yapılacak. Ancak federal ajansların bu varlıkları halka açıklamaları gerekmeyecek. Sadece Hazine Bakanı Scott Bessent’e raporlama yapılacak. Beyaz Saray’a yakın bir yetkiliye dayandırılan bilgilere göre, 7 Nisan itibarıyla federal […]
2 hafta önce Blockchain