P2PK (Pay To Pubkey), bir çıkışı genel bir anahtara kilitleyen bir script modeli olup daha yaygın olarak kullanılan P2PKH kilitleme komut dosyasının daha basit bir sürümüdür.Bir P2PK kilidi yalnızca bir genel anahtar ve bir CHECKSIG işlem kodu içerir:
scriptPubKey
04ae1a62fe09c5f51b13905f07f06b99a2f7159b2225f374cd378d71302fa28414e7aab37397f55 4a7df5f142c21c1b7303b8a0626f1baded5c72a704f7e6cd84c OP_CHECKSIG
Kilidi açmak için geçerli bir imza sağlamanız yeterlidir:
scriptSig
30440220576497b7e6f9b553c0aba0d8929432550e092db9c130aae37b84b545e7f4a36c022066c b982ed80608372c139d7bb9af335423d5280350fe3e06bd510e695480914f01
Komut dosyası çalıştığında, CHECKSIG işlem kodu imzayı ortak anahtarla karşılaştırır ve geçerliyse yığına 1'i iter.
P2PK scriptlerini nerede bulabilirsiniz?Bitcoin’leri birinin açık anahtarına kilitlemek için en basit komut dosyası olmasına rağmen, P2PK, benzer (ancak daha karmaşık) P2PKH komut dosyası kadar kullanılmaz.
P2PK’yi en çok blokzincirindeki önceki bloklarda coinbase işlemlerinde bulacaksınız. Bunun nedeni, orijinal Bitcoin Core madencisinin bir aday blok oluştururken blok ödülü için P2PK kullanmasıdır.
P2PK kullanan işlemlere bazı örnekler:
4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b — Genesis bloğunda coinbase işlemi. (3 Ocak 2009)
f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16 — Satoshi’den Hal Finney’e yapılan ilk bitcoin işlemi aslında P2PK kullandı (Blok 170, 12 Ocak 2009)
Satoshi, Bitcoin Core madencisinde neden P2PK kullandı?P2PKH, genel anahtarınızı (daha uzun olan) dolaşmak yerine adresleri kullanmanıza izin verdiği için, insanların işlem yapmaları için uygun bir yol olarak kullanıldı. Bununla birlikte, madencinin adreslerin rahatlığına ihtiyacı yoktur, bu nedenle P2PK daha basit bir seçim için yapılmıştır.
Neden P2PK’yi daha sık kullanmıyoruz?Bu adreslerin çok uzun olmasıdır, bu da daha büyük bir işlem dosyası ve dolayısıyla daha uzun işlem süresi ile sonuçlanır. Kuantum bilgisayardan gelen tehditle ilgili olarak, genel anahtar doğrudan adresten elde edilebilir. Bitcoin’deki tüm işlemler halka açık olduğundan, herkes genel anahtarı herhangi bir p2pk adresinden edinebilir. Shor’un algoritmasını çalıştıran bir kuantum bilgisayar daha sonra bu adresten özel anahtarı türetmek için kullanılabilir. Bu da, kuantum bilgisayarı olan bir rakibin adresin sahip olduğu paraları harcamasına izin verir.
Nedir bu Pay To Pubkey Hash (p2pkh)Bu komut dosyası kalıbı, birisine bitcoin “göndermek” için kullanılır. Bir çıkışı birinin genel anahtarına kilitlemek için kullanılan en yaygın komut dosyasıdır.
P2PK’ye benzer, ancak kilit bunun yerine bir genel anahtarın karmasını içerir (genel anahtarın kendisini değil).
P2PKH komut dosyası kalıbı, aşağıdaki işlem kodlarıyla çevrili, karma bir ortak anahtar içerir:
scriptPubKey
OP_DUP OP_HASH160 12ab8dc588ca9d5787dde7eb29569da63c3a238c OP_EQUALVERIFY OP_CHECKSIG
Bu komut dosyasını çözmek için, yukarıdaki hashing uygulanmış ortak anahtarın sahibinin orijinal ortak anahtarı bunun için geçerli bir imza ile birlikte sağlaması gerekir:
scriptSig
304502203f004eeed0cef2715643e2f25a27a28f3c578e94c7f0f6a4df104e7d163f7f8f022100b 8b248c1cfd8f77a0365107a9511d759b7544d979dd152a955c867afac0ef78601 044d05240cfbd8a2786eda9dadd520c1609b8593ff8641018d57703d02ba687cf2f187f0cee2221 c3afb1b5ff7888caced2423916b61444666ca1216f26181398c
Kısacası, bu komut dosyası çalıştığında:
Orijinal genel anahtar DUPlicated ve ardından HASH160'tır.
Bu karma değer, EQUALVERIFY olduğundan emin olmak için scriptPubKey’deki özet hale getirilmiş genel anahtarla karşılaştırılır.
https://devrimdanyal.medium.com/bitcoin-adreslerinde-p2ph-pay-to-public-key-ile-p2pkh-pay-to-pubkey-hash-fark%C4%B1-nedir-add8dba11598