
Bu çeviri Blockland DAO’nun, Andreas Antonopoulos tarafından hazırlanan Mastering Bitcoin kitabını çevirme inisiyatifi kapsamında yapılmıştır.
https://mirror.xyz/iamserdar.eth/Eadj7gEbKJwcGGJWXNQjBIWVhfMKGeJwhEssdoj7eVE
Yeni bir node başlatıldığında, katılmak için ağdaki diğer Bitcoin node'larını keşfetmesi gerekir. Bu işlemi başlatmak için, yeni bir node ağ üzerinde en az bir mevcut node'u keşfetmeli ve ona bağlanmalıdır. Diğer node'ların coğrafi konumu önemsizdir; Bitcoin ağ topolojisi coğrafi olarak tanımlanmamıştır. Bu nedenle, mevcut herhangi bir Bitcoin node'u rastgele seçilebilir.
Bilinen bir eşe bağlanmak için node'lar, genellikle 8333 numaralı bağlantı noktasına (genellikle Bitcoin tarafından kullanılan bağlantı noktası olarak bilinir) veya varsa alternatif bir bağlantı noktasına bir TCP bağlantısı kurar. Bağlantı kurulduktan sonra node, temel tanımlayıcı bilgileri içeren bir sürüm mesajı ileterek bir “tokalaşma” (handshake) başlatır. Bu mesajın içeriği aşağıdaki gibidir:
nVersion: İstemcinin "konuştuğu" Bitcoin P2P protokolü sürümü (Ör. 70002)
nLocalServices: Node tarafından desteklenen yerel hizmetlerin bir listesi, şu anda yalnızca NODE_NETWORK olarak belirtilir.
nTime: Geçerli saat
addrYou: Yerel node'un uzak node'da gördüğü IP adresi
addrMe: Yerel node’un IP adresi
subver: Bu node'da çalışan yazılım türünü gösteren alt sürüm (ör., /Satoshi:0.9.2.1/)
BestHeight: node'daki blokzincirin blok yüksekliği
(Sürüm ağı mesajının bir örneği için GitHub’a bakın.)
Sürüm mesajı her zaman herhangi bir eş tarafından başka bir eşe gönderilen ilk mesajdır. Bir sürüm mesajı alan yerel eş, uzak eşin bildirilen nVersion'ını inceleyecek ve uzak eşin uyumlu olup olmadığına karar verecektir. Uzak eş uyumluysa, yerel eş sürüm mesajını kabul edecek ve bir verack mesajı göndererek bağlantı kuracaktır.
Yeni bir node nasıl eş bulur? İlk yöntem, Bitcoin node'larının IP adreslerinin bir listesini sağlayan DNS sunucuları olan bir dizi "DNS çekirdeği" kullanarak DNS'i sorgulamaktır. Bu DNS tohumlarından bazıları, sabit Bitcoin dinleme node'larının IP adreslerinin statik bir listesini sağlar. DNS tohumlarının bazıları, bir tarayıcı veya uzun süredir çalışan bir Bitcoin node'u tarafından toplanan Bitcoin node adresleri listesinden rastgele bir alt küme döndüren BIND'nin (Berkeley Internet Name Daemon) özel uygulamalarıdır. Bitcoin Core istemcisi, dokuz farklı DNS tohumunun adını içerir. Farklı DNS tohumlarının sahiplik çeşitliliği ve uygulama çeşitliliği, ilk önyükleme işlemi için yüksek düzeyde güvenilirlik sunar. Bitcoin Core istemcisinde, DNS tohumlarını kullanma seçeneği -dnsseed seçenek anahtarı tarafından kontrol edilir (DNS tohumunu kullanmak için varsayılan olarak 1'e ayarlanır).
Alternatif olarak, ağ hakkında hiçbir şey bilmeyen bir önyükleme node'una en az bir Bitcoin node'unun IP adresi verilmelidir, ardından daha sonraki tanıtımlar yoluyla bağlantılar kurabilir. -seednode komut satırı argümanı, sadece onu tohum olarak kullanan tanıtımlar için bir adet node'a bağlanmak amacıyla kullanılabilir. Tanıtımları oluşturmak için ilk çekirdek node kullanıldıktan sonra, istemci ondan bağlantıyı kesecek ve yeni keşfedilen eşleri kullanacaktır.

Bir veya daha fazla bağlantı kurulduğunda, yeni node komşularına kendi IP adresini içeren bir adres mesajı gönderir. Komşular, sırayla, yeni bağlanan node'un iyi bilinmesini ve daha iyi bağlanmasını sağlayarak, adres mesajını komşularına iletecektir. Ek olarak, yeni bağlanan node komşulara getaddr gönderebilir ve onlardan diğer eşlerin IP adreslerinin bir listesini yollamalarını isteyebilir. Bu şekilde, bir node bağlanacak eşler bulabilir ve diğer node'ların onu bulması için ağdaki varlığının reklamını yapabilir. Adres yayma ve bulma adres bulma protokolünü gösterir.

Bir node, Bitcoin ağına farklı yollar oluşturmak için birkaç farklı eşe bağlanmalıdır. Yollar kalıcı değildir -node'lar gelir ve gider- bu nedenle node, eski bağlantıları kaybederken yeni node'lar keşfetmeye devam etmeli ve diğer node'lara önyükleme yaptıklarında yardımcı olmalıdır. Önyükleme için yalnızca bir bağlantı gereklidir, çünkü ilk node yeni gelen node'u kendi eş node'larına tanıtır ve diğer eş node'lar da yeni node'u daha fazla eşe tanıtır. Ayrıca, birçok node'a bağlanmak gereksiztir ve ağ kaynağı israfıdır. Önyüklemeden sonra, bir node en son başarılı eş bağlantılarını hatırlayacaktır, böylece yeniden başlatılırsa eski eş ağıyla hızlı bir şekilde yeniden bağlantı kurabilir. Önceki eşlerden hiçbiri bağlantı isteğine yanıt vermezse, node yeniden önyükleme yapmak için çekirdek node'ları kullanabilir.
Bitcoin Core istemcisini çalıştıran bir node'da, getpeerinfo komutuyla eş bağlantıları listeleyebilirsiniz:
`$ bitcoin-cli getpeerinfo`
`[
{
"addr" : "85.213.199.39:8333",
"services" : "00000001",
"lastsend" : 1405634126,
"lastrecv" : 1405634127,
"bytessent" : 23487651,
"bytesrecv" : 138679099,
"conntime" : 1405021768,
"pingtime" : 0.00000000,
"version" : 70002,
"subver" : "/Satoshi:0.9.2.1/",
"inbound" : false,
"startingheight" : 310131,
"banscore" : 0,
"syncnode" : true
},
{
"addr" : "58.23.244.20:8333",
"services" : "00000001",
"lastsend" : 1405634127,
"lastrecv" : 1405634124,
"bytessent" : 4460918,
"bytesrecv" : 8903575,
"conntime" : 1405559628,
"pingtime" : 0.00000000,
"version" : 70001,
"subver" : "/Satoshi:0.8.6/",
"inbound" : false,
"startingheight" : 311074,
"banscore" : 0,
"syncnode" : false
}
]`
Eşlerin otomatik yönetimini geçersiz kılmak ve bir IP adresi listesi belirlemek için, kullanıcılar -connect= seçeneğini sağlayabilir ve bir veya daha fazla IP adresi belirtebilir. Bu seçenek kullanılırsa, node, eş bağlantıları otomatik olarak keşfetmek ve sürdürmek yerine, yalnızca seçilen IP adreslerine bağlanır. Bir bağlantıda trafik yoksa, node'lar bağlantıyı sürdürmek için periyodik olarak bir mesaj gönderir. Bir node bir bağlantıda 90 dakikadan fazla iletişim kurmadıysa, bağlantısının kesildiği varsayılır ve yeni bir eş aranır. Böylece ağ, geçici node'lara ve ağ sorunlarına dinamik olarak uyum sağlar ve herhangi bir merkezi kontrol olmaksızın gerektiğinde organik olarak büyüyebilir ve küçülebilir. Tam Node'lar Tam node'lar, blokzincir üzerindeki tüm işlemleri bünyesinde barındıran node'lardır. Daha doğru bir ifadeyle "tam blokzincir node'ları" olarak adlandırılabilirler. Bitcoin'in ilk yıllarında, tüm node'lar aslında tam node'du. Şu anda ise Bitcoin Core istemcisi tam bir blokzincir node'udur. Bununla birlikte, son iki yılda, bütün blokzinciri bünyesinde barındırmayan ancak hafif istemciler olarak çalışan yeni Bitcoin istemci biçimleri tanıtıldı. Bunları bir sonraki bölümde daha ayrıntılı olarak inceleyeceğiz. Tam blokzincir node'ları, ilk bloktan (genesis blok) başlayarak ve ağdaki bilinen en son bloğa kadar, bağımsız olarak oluşturdukları ve doğruladıkları tüm işlemlerle birlikte Bitcoin blokzincirinin eksiksiz ve güncel bir kopyasını tutar. Tam bir blokzincir node'u, herhangi bir başka node'a veya bilgi kaynağına başvurmadan veya güvenmeden herhangi bir işlemi bağımsız ve yetkili bir şekilde doğrulayabilir. Tam blokzinciri node'u, yeni işlem blokları hakkında güncellemeler almak için ağa güvenir ve daha sonra bunu doğrular ve blokzincirin yerel kopyasına dahil eder. Tam bir blokzincir node'u çalıştırmak size saf Bitcoin deneyimi sunar: bu deneyim ise diğer sistemlere güvenmeye ve bel bağlamaya gerek kalmadan tüm işlemlerin bağımsız olarak doğrulanmasıdır. Tam bir node çalıştırıp çalıştırmadığınızı anlamak kolaydır çünkü bütün blokzinciri depolamak için 100 gigabayttan fazla kalıcı depolama (disk alanı) gerekir. Çok fazla diske ihtiyacınız varsa ve ağa eşitlenmesi 2 ila 3 gün sürüyorsa, tam bir node çalıştırıyorsunuz demektir. Bu, merkezi otoriteden tam bağımsızlık ve özgürlüğün bedelidir. Farklı programlama dilleri ve yazılım mimarileri kullanılarak oluşturulmuş tam blokzincir Bitcoin istemcilerinin birkaç alternatif uygulaması vardır. Bununla birlikte, en yaygın uygulama, Satoshi istemcisi olarak da bilinen referans istemcisi Bitcoin Core'dur. Bitcoin ağındaki node’ların %75'inden fazlası Bitcoin Core'un çeşitli sürümlerini çalıştırır. Sürüm mesajında gönderilen alt sürüm dizesinde "Satoshi" olarak tanımlanır ve daha önce gördüğümüz gibi getpeerinfo komutuyla gösterilir. (Örnek; /Satoshi:0.8.6/) "Envanter" Alışverişi Tam bir node'un eşlere bağlandığında yapacağı ilk şey, tam bir blokzinciri oluşturmaya çalışmaktır. Yepyeni bir nodesa ve hiç blokzinciri yoksa, bu node sadece bir blok tanır, o da genesis bloğudur. Genesis blok, istemci yazılımına statik olarak gömülü olan bir bloktur. Blok #0 (genesis bloğu) ile başlayarak, yeni node’un ağ ile senkronize olması ve tam blokzincirini yeniden kurması için yüz binlerce blok indirmesi gerekecektir. Blokzincirini senkronize etme işlemi sürüm mesajıyla başlar, çünkü bu mesaj, bir node'un mevcut blokzinciri yüksekliği (blok sayısı) olan BestHeight'ı içerir. Bir node, eşlerinden gelen sürüm mesajlarını görecek, her birinin kaç bloğa sahip olduğunu öğrenecek ve kendi blokzincirinde kaç bloğa sahip olduğunu karşılaştırabilecektir. Eşlenen node'lar, yerel blokzincirindeki üst bloğun hashini (parmak izini) içeren bir getblocks mesajı alışverişinde bulunur. Eşlerden biri, alınan hash'i en üstte olmayan, daha eski bir bloğa ait olan bir bloğa ait olarak tanımlayabilecek ve böylece kendi yerel blokzincirinin eşinden daha uzun olduğu sonucuna varabilecektir. Daha uzun blokzincirine sahip olan eş, diğer node'dan daha fazla bloğa sahiptir ve diğer node'un "yetişmek" için hangi bloklara ihtiyaç duyduğunu belirleyebilir. Bir inv (envanter) mesajı kullanarak hashlerini paylaşacak ve iletecek ilk 500 bloğu belirleyecektir. Bu blokları eksik olan node daha sonra, tam blok verilerini talep eden bir dizi getdata mesajı yayınlayarak ve inv mesajındaki hashleri kullanarak istenen blokları tanımlayarak onları alacaktır. Örneğin, bir node'un yalnızca genesis bloğuna sahip olduğunu varsayalım. Ardından, zincirdeki sonraki 500 bloğun hashlerini içeren eşlerinden bir inv mesajı alacaktır. Tüm bağlı eşlerinden blok istemeye başlayacak, yükü yayacak ve herhangi bir eşi isteklerle boğmamasını sağlayacak. Node, eş bağlantı başına kaç bloğun "geçişte" olduğunu takip eder, yani talep ettiği ancak almadığı bloklar, bir sınırı (MAX_BLOCKS_IN_TRANSIT_PER_PEER) aşmadığını kontrol eder. Bu şekilde, çok fazla bloğa ihtiyacı varsa, önceki istekler yerine getirildikçe yalnızca yenilerini talep edecek ve eşlerin güncellemelerin hızını kontrol etmesine ve ağı bunaltmamasına izin verecektir. Her blok alındığında,

Peter Thiel's Foreword to The Sovereign Individual
Medieval men despaired of the will. They thought of humans as wounded and weak. But they respected the intellect. They thought even humans, if we think carefully, have the power to answer the most profound questions of God and the Universe. Modern men worship the will, but they despair of the intellect. The wisdom of crowds; the swerve of random particles; the influence of unconscious biases: all of these contemporary clichés are ways to talk about intellectual weakness-or ways to talk oursel...

ZK Rollups vs Optimistic Rollups Arasındaki Farklar Nelerdir?
https://twitter.com/zeroXserdar Rollup’lar, işlemleri off-chain olarak, yani blokzincir dışında işledikten sonra işlem verilerini bir araya toplayarak Ethereum ana ağına ileten bir ölçeklendirme teknolojisidir. Ethereum şu anda en popüler blokzinciri geliştirme platformudur ve blokzinciri alanında en fazla sayıda merkeziyetsiz uygulamaya (dApps) ev sahipliği yapar. Ancak, popülaritesi nedeniyle ağ, taleplerin arttığı zamanlarda tıkanıklıkla mücadele eder. Ağdaki bu artan yük, artan gas ücretl...

ZigZag Exchange Token Hakkında Her Şey - $ZZ
ZigZag token ($ZZ) hasreti sona eriyor! Bu yazıda ZigZag merkeziyetsiz borsasının tokenı olan $ZZ’ye ait detayları 3 başlık altında bulacaksınız:Topluluk güdümlü airdrop prosedürü,Olabildiğince adil token lansmanı ve ZigZag DAO’nun oluşumu,zkSync üzerinde gerçekleştirilecek ilk IDO ve Genel Satış İlk Tur,https://twitter.com/ZigZagExchange/status/1538914642277281793 Amacımız her zaman, Zero-Knowledge Proof’un (sıfır bilgi ispatı) potansiyelini kullanarak merkezi borsalardaki kullanıcı deneyimi...
Growth & Marketing Sapiens

Bu çeviri Blockland DAO’nun, Andreas Antonopoulos tarafından hazırlanan Mastering Bitcoin kitabını çevirme inisiyatifi kapsamında yapılmıştır.
https://mirror.xyz/iamserdar.eth/Eadj7gEbKJwcGGJWXNQjBIWVhfMKGeJwhEssdoj7eVE
Yeni bir node başlatıldığında, katılmak için ağdaki diğer Bitcoin node'larını keşfetmesi gerekir. Bu işlemi başlatmak için, yeni bir node ağ üzerinde en az bir mevcut node'u keşfetmeli ve ona bağlanmalıdır. Diğer node'ların coğrafi konumu önemsizdir; Bitcoin ağ topolojisi coğrafi olarak tanımlanmamıştır. Bu nedenle, mevcut herhangi bir Bitcoin node'u rastgele seçilebilir.
Bilinen bir eşe bağlanmak için node'lar, genellikle 8333 numaralı bağlantı noktasına (genellikle Bitcoin tarafından kullanılan bağlantı noktası olarak bilinir) veya varsa alternatif bir bağlantı noktasına bir TCP bağlantısı kurar. Bağlantı kurulduktan sonra node, temel tanımlayıcı bilgileri içeren bir sürüm mesajı ileterek bir “tokalaşma” (handshake) başlatır. Bu mesajın içeriği aşağıdaki gibidir:
nVersion: İstemcinin "konuştuğu" Bitcoin P2P protokolü sürümü (Ör. 70002)
nLocalServices: Node tarafından desteklenen yerel hizmetlerin bir listesi, şu anda yalnızca NODE_NETWORK olarak belirtilir.
nTime: Geçerli saat
addrYou: Yerel node'un uzak node'da gördüğü IP adresi
addrMe: Yerel node’un IP adresi
subver: Bu node'da çalışan yazılım türünü gösteren alt sürüm (ör., /Satoshi:0.9.2.1/)
BestHeight: node'daki blokzincirin blok yüksekliği
(Sürüm ağı mesajının bir örneği için GitHub’a bakın.)
Sürüm mesajı her zaman herhangi bir eş tarafından başka bir eşe gönderilen ilk mesajdır. Bir sürüm mesajı alan yerel eş, uzak eşin bildirilen nVersion'ını inceleyecek ve uzak eşin uyumlu olup olmadığına karar verecektir. Uzak eş uyumluysa, yerel eş sürüm mesajını kabul edecek ve bir verack mesajı göndererek bağlantı kuracaktır.
Yeni bir node nasıl eş bulur? İlk yöntem, Bitcoin node'larının IP adreslerinin bir listesini sağlayan DNS sunucuları olan bir dizi "DNS çekirdeği" kullanarak DNS'i sorgulamaktır. Bu DNS tohumlarından bazıları, sabit Bitcoin dinleme node'larının IP adreslerinin statik bir listesini sağlar. DNS tohumlarının bazıları, bir tarayıcı veya uzun süredir çalışan bir Bitcoin node'u tarafından toplanan Bitcoin node adresleri listesinden rastgele bir alt küme döndüren BIND'nin (Berkeley Internet Name Daemon) özel uygulamalarıdır. Bitcoin Core istemcisi, dokuz farklı DNS tohumunun adını içerir. Farklı DNS tohumlarının sahiplik çeşitliliği ve uygulama çeşitliliği, ilk önyükleme işlemi için yüksek düzeyde güvenilirlik sunar. Bitcoin Core istemcisinde, DNS tohumlarını kullanma seçeneği -dnsseed seçenek anahtarı tarafından kontrol edilir (DNS tohumunu kullanmak için varsayılan olarak 1'e ayarlanır).
Alternatif olarak, ağ hakkında hiçbir şey bilmeyen bir önyükleme node'una en az bir Bitcoin node'unun IP adresi verilmelidir, ardından daha sonraki tanıtımlar yoluyla bağlantılar kurabilir. -seednode komut satırı argümanı, sadece onu tohum olarak kullanan tanıtımlar için bir adet node'a bağlanmak amacıyla kullanılabilir. Tanıtımları oluşturmak için ilk çekirdek node kullanıldıktan sonra, istemci ondan bağlantıyı kesecek ve yeni keşfedilen eşleri kullanacaktır.

Bir veya daha fazla bağlantı kurulduğunda, yeni node komşularına kendi IP adresini içeren bir adres mesajı gönderir. Komşular, sırayla, yeni bağlanan node'un iyi bilinmesini ve daha iyi bağlanmasını sağlayarak, adres mesajını komşularına iletecektir. Ek olarak, yeni bağlanan node komşulara getaddr gönderebilir ve onlardan diğer eşlerin IP adreslerinin bir listesini yollamalarını isteyebilir. Bu şekilde, bir node bağlanacak eşler bulabilir ve diğer node'ların onu bulması için ağdaki varlığının reklamını yapabilir. Adres yayma ve bulma adres bulma protokolünü gösterir.

Bir node, Bitcoin ağına farklı yollar oluşturmak için birkaç farklı eşe bağlanmalıdır. Yollar kalıcı değildir -node'lar gelir ve gider- bu nedenle node, eski bağlantıları kaybederken yeni node'lar keşfetmeye devam etmeli ve diğer node'lara önyükleme yaptıklarında yardımcı olmalıdır. Önyükleme için yalnızca bir bağlantı gereklidir, çünkü ilk node yeni gelen node'u kendi eş node'larına tanıtır ve diğer eş node'lar da yeni node'u daha fazla eşe tanıtır. Ayrıca, birçok node'a bağlanmak gereksiztir ve ağ kaynağı israfıdır. Önyüklemeden sonra, bir node en son başarılı eş bağlantılarını hatırlayacaktır, böylece yeniden başlatılırsa eski eş ağıyla hızlı bir şekilde yeniden bağlantı kurabilir. Önceki eşlerden hiçbiri bağlantı isteğine yanıt vermezse, node yeniden önyükleme yapmak için çekirdek node'ları kullanabilir.
Bitcoin Core istemcisini çalıştıran bir node'da, getpeerinfo komutuyla eş bağlantıları listeleyebilirsiniz:
`$ bitcoin-cli getpeerinfo`
`[
{
"addr" : "85.213.199.39:8333",
"services" : "00000001",
"lastsend" : 1405634126,
"lastrecv" : 1405634127,
"bytessent" : 23487651,
"bytesrecv" : 138679099,
"conntime" : 1405021768,
"pingtime" : 0.00000000,
"version" : 70002,
"subver" : "/Satoshi:0.9.2.1/",
"inbound" : false,
"startingheight" : 310131,
"banscore" : 0,
"syncnode" : true
},
{
"addr" : "58.23.244.20:8333",
"services" : "00000001",
"lastsend" : 1405634127,
"lastrecv" : 1405634124,
"bytessent" : 4460918,
"bytesrecv" : 8903575,
"conntime" : 1405559628,
"pingtime" : 0.00000000,
"version" : 70001,
"subver" : "/Satoshi:0.8.6/",
"inbound" : false,
"startingheight" : 311074,
"banscore" : 0,
"syncnode" : false
}
]`
Eşlerin otomatik yönetimini geçersiz kılmak ve bir IP adresi listesi belirlemek için, kullanıcılar -connect= seçeneğini sağlayabilir ve bir veya daha fazla IP adresi belirtebilir. Bu seçenek kullanılırsa, node, eş bağlantıları otomatik olarak keşfetmek ve sürdürmek yerine, yalnızca seçilen IP adreslerine bağlanır. Bir bağlantıda trafik yoksa, node'lar bağlantıyı sürdürmek için periyodik olarak bir mesaj gönderir. Bir node bir bağlantıda 90 dakikadan fazla iletişim kurmadıysa, bağlantısının kesildiği varsayılır ve yeni bir eş aranır. Böylece ağ, geçici node'lara ve ağ sorunlarına dinamik olarak uyum sağlar ve herhangi bir merkezi kontrol olmaksızın gerektiğinde organik olarak büyüyebilir ve küçülebilir. Tam Node'lar Tam node'lar, blokzincir üzerindeki tüm işlemleri bünyesinde barındıran node'lardır. Daha doğru bir ifadeyle "tam blokzincir node'ları" olarak adlandırılabilirler. Bitcoin'in ilk yıllarında, tüm node'lar aslında tam node'du. Şu anda ise Bitcoin Core istemcisi tam bir blokzincir node'udur. Bununla birlikte, son iki yılda, bütün blokzinciri bünyesinde barındırmayan ancak hafif istemciler olarak çalışan yeni Bitcoin istemci biçimleri tanıtıldı. Bunları bir sonraki bölümde daha ayrıntılı olarak inceleyeceğiz. Tam blokzincir node'ları, ilk bloktan (genesis blok) başlayarak ve ağdaki bilinen en son bloğa kadar, bağımsız olarak oluşturdukları ve doğruladıkları tüm işlemlerle birlikte Bitcoin blokzincirinin eksiksiz ve güncel bir kopyasını tutar. Tam bir blokzincir node'u, herhangi bir başka node'a veya bilgi kaynağına başvurmadan veya güvenmeden herhangi bir işlemi bağımsız ve yetkili bir şekilde doğrulayabilir. Tam blokzinciri node'u, yeni işlem blokları hakkında güncellemeler almak için ağa güvenir ve daha sonra bunu doğrular ve blokzincirin yerel kopyasına dahil eder. Tam bir blokzincir node'u çalıştırmak size saf Bitcoin deneyimi sunar: bu deneyim ise diğer sistemlere güvenmeye ve bel bağlamaya gerek kalmadan tüm işlemlerin bağımsız olarak doğrulanmasıdır. Tam bir node çalıştırıp çalıştırmadığınızı anlamak kolaydır çünkü bütün blokzinciri depolamak için 100 gigabayttan fazla kalıcı depolama (disk alanı) gerekir. Çok fazla diske ihtiyacınız varsa ve ağa eşitlenmesi 2 ila 3 gün sürüyorsa, tam bir node çalıştırıyorsunuz demektir. Bu, merkezi otoriteden tam bağımsızlık ve özgürlüğün bedelidir. Farklı programlama dilleri ve yazılım mimarileri kullanılarak oluşturulmuş tam blokzincir Bitcoin istemcilerinin birkaç alternatif uygulaması vardır. Bununla birlikte, en yaygın uygulama, Satoshi istemcisi olarak da bilinen referans istemcisi Bitcoin Core'dur. Bitcoin ağındaki node’ların %75'inden fazlası Bitcoin Core'un çeşitli sürümlerini çalıştırır. Sürüm mesajında gönderilen alt sürüm dizesinde "Satoshi" olarak tanımlanır ve daha önce gördüğümüz gibi getpeerinfo komutuyla gösterilir. (Örnek; /Satoshi:0.8.6/) "Envanter" Alışverişi Tam bir node'un eşlere bağlandığında yapacağı ilk şey, tam bir blokzinciri oluşturmaya çalışmaktır. Yepyeni bir nodesa ve hiç blokzinciri yoksa, bu node sadece bir blok tanır, o da genesis bloğudur. Genesis blok, istemci yazılımına statik olarak gömülü olan bir bloktur. Blok #0 (genesis bloğu) ile başlayarak, yeni node’un ağ ile senkronize olması ve tam blokzincirini yeniden kurması için yüz binlerce blok indirmesi gerekecektir. Blokzincirini senkronize etme işlemi sürüm mesajıyla başlar, çünkü bu mesaj, bir node'un mevcut blokzinciri yüksekliği (blok sayısı) olan BestHeight'ı içerir. Bir node, eşlerinden gelen sürüm mesajlarını görecek, her birinin kaç bloğa sahip olduğunu öğrenecek ve kendi blokzincirinde kaç bloğa sahip olduğunu karşılaştırabilecektir. Eşlenen node'lar, yerel blokzincirindeki üst bloğun hashini (parmak izini) içeren bir getblocks mesajı alışverişinde bulunur. Eşlerden biri, alınan hash'i en üstte olmayan, daha eski bir bloğa ait olan bir bloğa ait olarak tanımlayabilecek ve böylece kendi yerel blokzincirinin eşinden daha uzun olduğu sonucuna varabilecektir. Daha uzun blokzincirine sahip olan eş, diğer node'dan daha fazla bloğa sahiptir ve diğer node'un "yetişmek" için hangi bloklara ihtiyaç duyduğunu belirleyebilir. Bir inv (envanter) mesajı kullanarak hashlerini paylaşacak ve iletecek ilk 500 bloğu belirleyecektir. Bu blokları eksik olan node daha sonra, tam blok verilerini talep eden bir dizi getdata mesajı yayınlayarak ve inv mesajındaki hashleri kullanarak istenen blokları tanımlayarak onları alacaktır. Örneğin, bir node'un yalnızca genesis bloğuna sahip olduğunu varsayalım. Ardından, zincirdeki sonraki 500 bloğun hashlerini içeren eşlerinden bir inv mesajı alacaktır. Tüm bağlı eşlerinden blok istemeye başlayacak, yükü yayacak ve herhangi bir eşi isteklerle boğmamasını sağlayacak. Node, eş bağlantı başına kaç bloğun "geçişte" olduğunu takip eder, yani talep ettiği ancak almadığı bloklar, bir sınırı (MAX_BLOCKS_IN_TRANSIT_PER_PEER) aşmadığını kontrol eder. Bu şekilde, çok fazla bloğa ihtiyacı varsa, önceki istekler yerine getirildikçe yalnızca yenilerini talep edecek ve eşlerin güncellemelerin hızını kontrol etmesine ve ağı bunaltmamasına izin verecektir. Her blok alındığında, Blockchain bölümünde göreceğimiz gibi blokzincirine eklenir. Yerel blokzinciri kademeli olarak oluşturulduğundan, daha fazla blok talep edilir, alınır ve node ağın geri kalanına yetişene kadar süreç devam eder. Yerel blokzincirini benzerleriyle karşılaştırma ve eksik blokları alma işlemi, bir node herhangi bir süre boyunca çevrimdışı olduğunda gerçekleşir. Bir node birkaç dakikalığına çevrimdışı olup birkaç bloğu veya bir ayı kaçırıp birkaç bin bloğu kaçırmış olsun, getblocks göndererek başlar, bir inv yanıtı alır ve eksik blokları indirmeye başlar.Bir eşten blokları alarak blokzincirini senkronize eden node, envanteri ve blok yayma protokolünü gösterir. Şema 6 - Bir eşten blokları alarak blokzincirini senkronize eden node 👇 https://mirror.xyz/iamserdar.eth/EKyywzkW4sY388_PxNbxjM_aWReUb_0JgfA2AcCVBU4 https://twitter.com/zeroXserdar

Peter Thiel's Foreword to The Sovereign Individual
Medieval men despaired of the will. They thought of humans as wounded and weak. But they respected the intellect. They thought even humans, if we think carefully, have the power to answer the most profound questions of God and the Universe. Modern men worship the will, but they despair of the intellect. The wisdom of crowds; the swerve of random particles; the influence of unconscious biases: all of these contemporary clichés are ways to talk about intellectual weakness-or ways to talk oursel...

ZK Rollups vs Optimistic Rollups Arasındaki Farklar Nelerdir?
https://twitter.com/zeroXserdar Rollup’lar, işlemleri off-chain olarak, yani blokzincir dışında işledikten sonra işlem verilerini bir araya toplayarak Ethereum ana ağına ileten bir ölçeklendirme teknolojisidir. Ethereum şu anda en popüler blokzinciri geliştirme platformudur ve blokzinciri alanında en fazla sayıda merkeziyetsiz uygulamaya (dApps) ev sahipliği yapar. Ancak, popülaritesi nedeniyle ağ, taleplerin arttığı zamanlarda tıkanıklıkla mücadele eder. Ağdaki bu artan yük, artan gas ücretl...

ZigZag Exchange Token Hakkında Her Şey - $ZZ
ZigZag token ($ZZ) hasreti sona eriyor! Bu yazıda ZigZag merkeziyetsiz borsasının tokenı olan $ZZ’ye ait detayları 3 başlık altında bulacaksınız:Topluluk güdümlü airdrop prosedürü,Olabildiğince adil token lansmanı ve ZigZag DAO’nun oluşumu,zkSync üzerinde gerçekleştirilecek ilk IDO ve Genel Satış İlk Tur,https://twitter.com/ZigZagExchange/status/1538914642277281793 Amacımız her zaman, Zero-Knowledge Proof’un (sıfır bilgi ispatı) potansiyelini kullanarak merkezi borsalardaki kullanıcı deneyimi...
Share Dialog
Share Dialog
Growth & Marketing Sapiens

Subscribe to iamserdar.eth

Subscribe to iamserdar.eth
<100 subscribers
<100 subscribers
No activity yet