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’nin Kripto Dünyasındaki Yeni Rolü!
Teknoloji ve inovasyona odaklanan bir girişim sermayesi şirketi olan Andreessen Horowitz (a16z) bugün ″A new (digital) age at the SEC″ başlıklı makalesinde yeni SEC yönetiminin kripto para düzenlemelerinde köklü değişiklikler yapabileceğini belirtti. Özellikle airdrop’lar, kitle fonlama/ICO ve broker-dealer düzenlemeleri gibi konular sektördeki sorunların çözümü için kritik önem taşıyor. Airdroplar ve Teşvik Dağıtımları Airdrop’lar, blockchain projelerinin […]
5 saat önce Blockchain
Goldman Sachs CEO’su: Bitcoin, ABD Doları İçin Bir Tehdit Değil
Goldman Sachs CEO’su David Solomon, Bitcoin’in ABD doları üzerindeki etkisine dair önemli açıklamalar yaptı. Dünya Ekonomik Forumu’nda konuşan Solomon, Bitcoin’i spekülatif bir varlık olarak değerlendirirken ABD dolarının küresel gücünü vurguladı. Solomon, “Bitcoin ilginç bir yatırım aracı, ancak doların yerini alacak bir tehdit değil” dedi. Goldman Sachs’ın Kripto Stratejisi Goldman Sachs, düzenleyici kısıtlamalar nedeniyle Bitcoin’e doğrudan […]
7 saat önce Bitcoin
Justin Sun: “Ethereum benim yönetimimde olsaydı 10 bin dolar olurdu!”
Tron kurucusu Justin Sun X platformu üzerinde iddialı bir açıklamada bulundu. Sun yaptığı açıklamada Ethereum Foundation ve Ethereum’un kendi liderliğinde olması durumunda Ethereum’un 10.000 dolara ulaşabileceğini söyledi. Sun Yol Haritasını da Açıkladı! Sun açıklamasında gelecek planlamasını da paylaştı. Sun ilk olarak ETH satışlarını durduracağını bunun da ETH arzının bozulmadan kalmasını ve piyasa güvenini güçlendirmesini sağlayacağını […]
15 saat önce Blockchain
Texas’taki bir Bölge Mahkemesi, Tornado Cash’in üzerindeki yaptırımları kaldırdı!
Texas’taki bir mahkeme, Tornado Cash protokolü üzerindeki yaptırımları kaldırdı. Bu karar ise gizlilik odaklı kripto teknolojileri için büyük bir zafer olarak görüldü. Bildiğiniz üzere Tornado Cash, kripto para işlemlerini anonimleştiren bir platform olarak 2022 yılında Kuzey Kore’nin Lazarus Grubu’na yardım ederek 455 milyon dolardan fazla çalınan dijital varlıkları aklamakla suçlanmıştı. Bu nedenle ABD Hazine Bakanlığı, […]
15 saat önce Öne Çıkan
Mark Cuban, ABD Borcunu Azaltmak İçin Memecoin Fikriyle Gündemde
Biliyorsunuz memecoin’ler son yıllarda oldukça popüler oldu. Özellikle Dogecoin ve Shiba Inu gibi coin’ler sadece şaka amaçlı yaratılmış olmalarına rağmen büyük bir yatırımcı kitlesi oluşturdu. Ancak Mark Cuban söz konusu bu memecoin’leri biraz farklı bir amaç için kullanmayı önerdi: ABD borcunu azaltmak! Cuban’ın Memecoin Önerisi: Para Kazanırken ABD Borcuna Katkı Sağlayın Cuban 21 Ocak 2025’te […]
2 gün önce Öne Çıkan
Trump Hükümeti Bankalara Kripto Ticaret İzni Vermeyi Planlıyor
Trump’ın ikinci başkanlık dönemi, bankaların kripto ticaretine giriş yapmasına olanak tanıyan önemli değişikliklerle başlıyor. Circle CEO’su Jeremy Allaire, bu yeni politikaların, bankaların müşterilerine kripto ticareti hizmeti sunmasını kolaylaştıracağını belirtti. Trump’ın Kripto Düzenlemeleri Trump yönetimi, SEC’in SAB 121 düzenlemesini iptal etmeyi planlıyor. Bu düzenleme, bankaların ve finansal kuruluşların kripto varlıkları bilançosuna dahil etmesini zorlaştırıyordu. Allaire, bu […]
2 gün önce Bitcoin