Bitcoin Forum
January 12, 2026, 10:11:20 PM *
News: Latest Bitcoin Core release: 30.2 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Transfer işlemleri  (Read 10 times)
Valcendier (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 2


View Profile
Today at 10:48:10 AM
 #1

Transfer İşlemleri, kullanıcıların satoshi harcamasına olanak tanır. Her işlem, hem basit doğrudan ödemeleri hem de karmaşık işlemleri mümkün kılan birkaç parçadan oluşur.

Her işlem en az bir giriş ve bir çıkış içerir. Her giriş, önceki bir çıkışa ödenen satoshi'leri harcar. Her çıkış, daha sonraki bir giriş tarafından harcanana kadar Harcanmamış İşlem Çıkışı (UTXO) olarak bekler. Bitcoin cüzdanınızda 10.000 satoshi bakiyeniz olduğunu gördüğünüzde, bu aslında bir veya daha fazla UTXO'da 10.000 satoshi'nin beklediği anlamına gelir.

Her işlemin başında, Bitcoin eşlerine ve madencilere işlemi doğrulamak için hangi kuralları kullanacaklarını belirten dört baytlık bir işlem sürüm numarası bulunur. Bu, geliştiricilerin önceki işlemleri geçersiz kılmadan gelecekteki işlemler için yeni kurallar oluşturmasına olanak tanır.

Bir çıktı, işlemdeki konumuna göre zımni bir indeks numarasına sahiptir — ilk çıktının indeksi sıfırdır. Çıktı ayrıca, koşullu bir pubkey komut dosyasına ödediği bir miktar satoshi içerir. Bu pubkey komut dosyasının koşullarını karşılayabilen herkes, kendisine ödenen satoshi miktarına kadar harcama yapabilir.

Bir girdi, harcanacak belirli bir çıktıyı tanımlamak için bir işlem tanımlayıcı (txid) ve bir çıktı indeks numarası (genellikle çıktı vektörü için “vout” olarak adlandırılır) kullanır. Ayrıca, pubkey komut dosyasında koşulları karşılayan veri parametreleri sağlamasına olanak tanıyan bir imza komut dosyasına da sahiptir. (Sıra numarası ve kilit süresi birbiriyle ilgilidir ve daha sonraki bir alt bölümde birlikte ele alınacaktır.

Daha sonra açık anahtar (pubkey) kriptografik olarak hashlenir. Bu pubkey hash daha sonra da güvenilir bir şekilde tekrarlanabilir, bu nedenle saklanması gerekmez. Hash, açık anahtarı kısaltır ve gizler, böylece manuel transkripsiyonu kolaylaştırır ve daha sonra açık anahtar verilerinden özel anahtarların yeniden oluşturulmasına olanak tanıyabilecek beklenmedik sorunlara karşı güvenlik sağlar.

Bitcoin'in ilk sürümlerinde birkaç tehlikeli hata keşfedildikten sonra, ağdan gelen işlemlerin yalnızca pubkey komut dosyaları ve imza komut dosyaları güvenli olduğu düşünülen küçük bir şablon setiyle eşleşiyorsa ve işlemin geri kalanı iyi ağ davranışını zorlayan başka bir küçük kurallar setini ihlal etmiyorsa kabul eden bir test eklendi. Bu, IsStandard() testidir ve bu testi geçen işlemler standart işlemler olarak adlandırılır.

Standart olmayan işlemler, yani testi geçemeyen işlemler, varsayılan Bitcoin Core ayarlarını kullanmayan düğümler tarafından kabul edilebilir. Bloklara dahil edilirler ise, IsStandard testinden de kaçınacak ve işleneceklerdir.

Standart işlem testi, zararlı işlemleri yayınlayarak Bitcoin'e ücretsiz olarak saldırmayı zorlaştırmanın yanı sıra, kullanıcıların bugün, gelecekte yeni işlem özelliklerinin eklenmesini zorlaştıracak işlemler oluşturmasını da önlemeye yardımcı olur. Örneğin, yukarıda açıklandığı gibi, her işlem bir sürüm numarası içerir; kullanıcılar sürüm numarasını keyfi olarak değiştirmeye başlarsa, geriye dönük uyumsuz özellikleri tanıtmak için bir araç olarak işe yaramaz hale gelir.

Bitcoin Core 0.9 itibariyle, standart pubkey komut dosyası türleri şunlardır:

Pay To Public Key Hash (P2PKH)

Pay To Script Hash (P2SH)

Multisig

Pubkey

Null Data

Pay To Publ

Pay To Public Key Hash (P2PKH):P2PKH, bir veya birden fazla Bitcoin adresine işlem göndermek için kullanılan en yaygın pubkey komut dosyası biçimidir.
Pay To Script Hash (P2SH) : P2SH, bir işlemi bir komut dosyası hash'ine göndermek için kullanılır. P2SH'nin kendisi hariç, standart pubkey komut dosyalarının her biri P2SH geri ödeme komut dosyası olarak kullanılabilir. Bitcoin Core 0.9.2 itibariyle, P2SH işlemleri herhangi bir geçerli redeemScript içerebilir, bu da P2SH standardını çok daha esnek hale getirir ve birçok yeni ve karmaşık işlem türünün denenmesine olanak tanır. P2SH'nin en yaygın kullanımı standart multisig pubkey komut dosyasıdır, ikinci en yaygın kullanım ise Open Assets Protocol'dür.
Multisig:P2SH multisig artık genellikle multisig işlemleri için kullanılsa da, bu temel komut dosyası bir UTXO harcanmadan önce birden fazla imza gerektirmek için kullanılabilir.
M-of-n olarak adlandırılan multisig pubkey komut dosyalarında, m bir açık anahtarla eşleşmesi gereken minimum imza sayısıdır; n ise sağlanan açık anahtarların sayısıdır. Hem m hem de n, istenen sayıya karşılık gelen OP_1 ila OP_16 opkodları olmalıdır.
Uyumluluk için korunması gereken orijinal Bitcoin uygulamasındaki bir off-by-one hatası nedeniyle, “OP_CHECKMULTISIG” yığından m ile belirtilenden bir değer daha fazla tüketir, bu nedenle imza komut dosyasında secp256k1 imzalarının listesinin başına, tüketilecek ancak kullanılmayacak ek bir değer (OP_0) eklenmelidir.
Pubkey :Pubkey çıktıları, P2PKH pubkey komut dosyasının basitleştirilmiş bir biçimidir, ancak P2PKH kadar güvenli olmadıkları için genellikle yeni işlemlerde artık kullanılmamaktadır.
Null Data:Bitcoin Core 0.9.0 ve sonraki sürümlerinde varsayılan olarak iletilen ve madenciliği yapılan null veri işlem türü, tam düğümlerin UTXO veritabanında depolaması gerekmeyen, kanıtlanabilir şekilde harcanamaz bir pubkey komut dosyasına rastgele veriler ekler. UTXO veritabanını şişiren işlemler yerine null veri işlemlerini kullanmak tercih edilir, çünkü bunlar otomatik olarak budanamaz; ancak, mümkünse verileri işlemlerin dışında depolamak genellikle daha da tercih edilir.
Konsensüs kuralları, 520 bayttan büyük veri itmeleri olmaması gibi diğer tüm konsensüs kurallarına uymaları koşuluyla, izin verilen maksimum pubkey komut dosyası boyutu olan 10.000 bayta kadar null veri çıktılarına izin verir.

Linkten çevrilmiştir.
https://developer.bitcoin.org/devguide/transactions.html#id1
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!