Orijinal başlık: "Web3 Acemi Serisi: Bitcoin'imin neden birden fazla adresi var" Orijinal kaynak: ZAN Ekibi
Yazar gibi pek çok acemi arkadaş olabilir. WEB3 cüzdanını ilk kez kullandıklarında mutlu bir şekilde Bitcoin cüzdanını açtılar ve adresi kopyalamaya hazırlandılar ancak aniden oluşturdukları bir cüzdanın aslında birden fazla farklı adrese sahip olduğunu gördüler. Yüzünde şaşkın bir ifadeyle, bilmediğin bir kavşağa yürümek gibi.
Neden farklı adresler var? Bu adreslerden hangisi kullanılmalı?
OKX cüzdanı için birden fazla Bitcoin adresi
Bu adresler nelerdir?
Bitcoin topluluğu, teknolojinin sürekli geliştiği, teknolojinin gelişmesinin yeni içerikler ürettiği bir topluluktur. Yeni teknolojilerin uygulanmasının bir sonucu olarak farklı adres formatları düşünülebilir. Daha sonra, farklı adres biçimleri arasındaki farkları keşfedin.
01 Eski Adres (P2PKH)
Bu format, Bitcoin ilk kez 2009 yılında piyasaya sürüldüğünde kullanıldı, dolayısıyla Eski format olarak adlandırıldı. O zamanki Bitcoin adresi, genel/özel anahtar çiftinden oluşturulduğu için Ödeme Genel Anahtar Hash (P2PKH) adresi olarak da adlandırıldı. .
Şu anda, eski türdeki adreslerin işlemlerde daha fazla yer kaplayacağı ve bunun da daha yüksek işlem ücretleri ile sonuçlanacağı görülüyor. Şu anda insanlar bu tür adresleri yalnızca yeni adresle uyumlu olmayan bazı eski cüzdanları kullanırken kullanacaklar.
Legacy adreslerin bir özelliği olduğu, adreslerin tamamının "1" ile başladığı görülmektedir. Çünkü adres oluşturulurken farklı senaryolara göre oluşturulan public anahtarın önüne bir önek eklenecektir (örneğin: testnet/mainnet). Önek eklenmiş genel anahtar Hash üzerinden hesaplandıktan sonra adres en sonunda ile başlayacaktır. "1".
02 İç İçe SegWit Adresi (P2SH-P2WPKH)
Geleneksel Eski adreslerle karşılaştırıldığında, P2SH adresleri genel anahtarın karma değerini değil, ödeme komut dosyasının (redeem-script) karma değerini kullanır. Meslekten olmayanların ifadesiyle, P2PKH genel anahtarın hash'ine ödeme yaparken, P2SH ödeme komut dosyasına ödeme yapar. Ancak alıcı, ödeme komut dosyasının transfer koşullarını karşıladıktan sonra içerideki fonlar harcanabilir.
Ödeme nesnesi genel anahtardan bir komut dosyasına dönüştürüldüğünden, esneklik büyük ölçüde artar ve ödeme komut dosyasının yürütme mantığı özelleştirilebilir. Tipik uygulamalar arasında çoklu imza işlemlerinin uygulanması yer alır.
P2SH temelinde, Segregated Witness teknolojisi gömülü ise bu adresin formatı, Segregated Witness uyumlu adrestir (Nested SegWit). Ayrılmış Tanık adresini tanıtırken Ayrılmış Tanık hakkında daha fazla bilgi edinebilirsiniz. Ayrılmış Tanık teknolojisinin kullanıma sunulmasından sonra işlem hacmi azaltılabilir, böylece işlem ücretleri de azaltılabilir.
P2SH adresinin "3" ile başladığını görebilirsiniz.
03 Ayrılmış Tanık Adresi (Yerel SegWit) Adresi
Bu tür bir adresi tanıtmadan önce, içindeki anahtar teknolojiyi - Ayrılmış Tanık'ı (SegWit) tanıtmamız gerekiyor. Adından da anlaşılacağı üzere Ayrılmış Tanık, tanık verilerini (tanık) izole eder ve bunları ayrı olarak işler.
03 Ayrılmış Tanık Adresi (Yerel SegWit) Adresi
Bu tür bir adresi tanıtmadan önce, içindeki anahtar teknolojiyi - Ayrılmış Tanık'ı (SegWit) tanıtmamız gerekiyor. Adından da anlaşılacağı üzere Ayrılmış Tanık, tanık verilerini (tanık) izole eder ve bunları ayrı olarak işler.
Bunu yapmanın önemli bir avantajı, işlem bilgilerinin boyutunu küçülterek işlem ücretlerini düşürmesidir. Boyutun küçültülmesinin getirdiği bir diğer fayda ise Bitcoin blok işlem boyutunun üst sınırının 1 MB'tan 4 MB'a çıkarılmasıdır.
Ayrılmış Tanık adresinin özelliği adresin "bc1" ile başlamasıdır.
04 Taproot adresi (Taproot)
Taproot adreslerinin avantajları karmaşık işlem senaryolarında gizlilik ve verimliliktir. Yerel SegWit ile karşılaştırıldığında, eliptik eğri dijital imza algoritmasının yerine Schnorr algoritmasını kullanır. İlki, toplu işlem senaryolarında daha verimlidir ve çoklu imzalı cüzdanların gizliliğini artırır.
Ana kök adresi genellikle "bc1q" ile başlayan adresle karakterize edilir.
Hangi adres biçimini seçmeliyim?
OKX, Unisat ve diğer cüzdanlar gibi mevcut ana akım cüzdanlar yukarıdaki dört adresi desteklemektedir. Bu nedenle işlem maliyetlerini azaltmak için Native SegWit ve Taproot formatlarındaki adresleri kullanmak daha mantıklı olacaktır.
Ayrıca, Bitcoin'in yazıtları vb. ile ilgileniyorsanız, bu iki adres en iyi seçiminizdir. Çoğu cüzdan bu iki adresin yazıları üzerinde ek işlemler yapmıştır, bu da özel UTXO'nuzu işlem sırasında yanlışlıkla aktarılmaya karşı koruyabilir. . "bc1" ile başlayan cüzdan adresini arayın!
Elbette farklı adres formatlarına sahip cüzdanlar da fon işlemleri gerçekleştirebiliyor, bu yüzden endişelenmeyin.
Bitcoin bakiyesini veya blok bilgilerini kontrol etmek istiyorsanız ZAN'ın düğüm hizmetini kullanabilirsiniz. Geliştiricilerin kullanması için zengin bir API sunuyoruz. API dokümantasyon ayrıntıları: https://docs.zan.top/reference/zan_getbalance-enhance
Daha derine inin - temel teknolojilere giriş
Yukarıdaki girişten sonra herkesin cüzdan hakkında az çok bir ön bilgisi var ve ben cüzdandaki bazı teknolojileri edinmeyle çok ilgileniyorum, o yüzden içindeki gizemli teknolojilere bir göz atalım.
01Komut Dosyasını Kullanma Komut Dosyasını Kullan
P2SH'yi tanıtırken, bunun itfa komut dosyası işlemlerine yönelik bir teknoloji olduğunu biliyorduk, peki itfa komut dosyası nedir ve Bitcoin ekosistemindeki rolü nedir?
Geri ödeme senaryosunu tanıtmadan önce Bitcoin işlemlerinin temel yapısını tanıtmamız gerekiyor.
Aşağıda 04ae ile başlayan adresin 15kD ile başlayan adrese 10 BTC aktarmak istediği tipik bir P2PK tipi işlem yer almaktadır. 04ae adresine sahip hesabın zincirdeki diğer kişilere bu hesabı gerçekten kullanma hakkına sahip olduğunu göstermesi (özel anahtara sahip olması), ardından bu işlemde kimliğini kanıtlamak için bir imza (ScriptSig) sağlaması gerekir.
Doğrulayıcının, imzayı almanın yanı sıra UTXO'ya karşılık gelen önceki işlemin çıktı komut dosyasını da bulması gerekir. Bu iki komut dosyası, tekliften yararlanma komut dosyasını oluşturmak için birbirine eklenir. Geri ödeme senaryosunun işlevi, işlemin meşruluğunu kanıtlamaktır.
Bu işlemde imzanın ve çıktı betiğinin her ikisinin de bilgisayar talimatları olduğunu görebilirsiniz. OP_PUSHBYTES, bir veri parçasını yığına PUSH etmek anlamına gelir. Öncelikle 04ae, tüm işlemi ScriptSig'de kendi özel anahtarıyla imzalar ve imza yığına aktarılır. Ardından ortak anahtarı yığının içine itin ve son olarak. OP_CHECKSIG'de ortak anahtar, imzanın şifresini çözmek ve işlemin tutarlı olup olmadığını karşılaştırmak için kullanılır. Tutarlı olmaları durumunda kimlik geçerlidir.
Bu P2PK yöntemine ek olarak, ödeme komut dosyası P2PKH ve P2SH gibi farklı kimlik doğrulama yöntemlerini de uygulayabilir.
Bu P2PK yöntemine ek olarak, ödeme komut dosyası P2PKH ve P2SH gibi farklı kimlik doğrulama yöntemlerini de uygulayabilir.
02 Ayrılmış Tanık Ayrılmış Tanık
Yukarıdaki girişten, daha yeni cüzdan formatlarının şu anda Ayrı Tanık teknolojisini kullandığını biliyoruz, peki Tanık nedir ve nasıl izole edilir?
Buradaki Witness, Bitcoin'in temel yapısındaki script imza (scriptSig) bilgisini temel yapıdan çıkarıp yeni bir veri yapısına yerleştirmesi olarak düşünülebilir.
Yukarıdaki şekilde gördüğünüz gibi işlemde gerekli olan tek içerik işlem kaynak bilgisi ve işlem çıkış bilgisidir. Sarı kısmın (işlemin toplam boyutu) boyut sınırı olduğundan işlem boyutu küçültülür. İmzaların ayrı ayrı iletilmesi, bir bloğun daha fazla işlemi barındırmasına olanak tanır. Ayrıca bir işlemin imzası hesaplanırken imza kısmının içeriği dahil edilmez, böylece işlemin şekillendirilebilirliği sorunu etkili bir şekilde çözülebilir.
Aşağıda bir P2TR işlemi görülmektedir. Bu işlemin ek olarak Witness kısmı olduğunu görebilirsiniz. Görevi işlemin meşruluğunu doğrulamaktır. ScriptSig yerine Witness'ı kullandıktan sonra meşruiyeti doğrulama yöntemi hala aynıdır, yani Witness'ın imzasının şifresini çözmek ve işlemin içeriğinin tutarlı olup olmadığını doğrulamak için genel anahtarı kullanmaktır. Düğümün yalnızca işlemin yasallığını doğrulaması gerektiğinde Tanık bilgisi talep edecektir.
Özetlemek gerekirse, Ayrılmış Tanık, işlem imza bölümünü orijinal işlemin geri kalanından ayırır, böylece tek bir işlemin boyutunu azaltır ve tüm bloğun kapasitesini artırır. Ayrıca imza kısmının içeriği işlemin hash değerinin hesaplanmasına dahil edilmediğinden işlemin şekillendirilebilirliği sorununu etkili bir şekilde çözebilir.
Tüm Yorumlar