İçeriğe geçin
buybitcoinsmart

Sözlük / Geliştirici başvuru kaynağı

Ödeme protokolü (BIP70)

Diğer adları: Ödeme protokolü, Payment protocol, BIP70.

Ödeme protokolü (BIP70) nedir?
Ödeme protokolü (BIP70), Bitcoin'in çıplak adreslerin yerine imzalı ve sertifikayla desteklenen ödeme taleplerini koyma girişimiydi ve Bitcoin Core, 0.20.0 sürümünde buna verilen son desteği kaldırdı.

Tanımlandığı belge: BIP-70.

Önce heves, sonra vazgeçiş. Gavin Andresen ve Mike Hearn BIP70 belgesini 29 Temmuz 2013 tarihinde yayımladı, Bitcoin Core onu Mart 2014'te 0.9.0 sürümüyle sundu, Kasım 2019'da 0.19 sürümünde kullanımdan kaldırıldı olarak işaretledi ve 3 Haziran 2020 tarihinde 0.20.0 sürümünde sildi. Bir ödeme sayfası hâlâ cüzdanınızdan bu protokolü konuşmasını istiyorsa, bunu entegrasyonun yıllardır ele alınmadığının işareti olarak değerlendirin.

Nasıl çalışıyordu

Durum: Bitcoin Core 0.19 sürümünde kullanımdan kaldırıldı olarak işaretlendi ve 3 Haziran 2020 tarihinde 0.20.0 sürümünde tamamen kaldırıldı. Bakımı sürdürülen hiçbir cüzdan bunu uygulamıyor. Bunun yerine zincir üstü ödemeler için düz bir BIP21 URI'si, Lightning üzerinde BOLT11 veya BOLT12 faturaları ve yeniden kullanılabilir bir hedef isteniyorsa BIP352 sessiz ödemeler kullanılıyor.

Tasarım dört BIP'lik bir aileydi. BIP70 mesajları tanımladı, BIP71 ağ üzerinden geçen üç mesajın her biri için bir MIME türü kaydetti, BIP72 bir URI'nin bir talebe işaret edebilmesi için r= parametresini ekledi ve BIP73 protokolü ayrıştıramayan cüzdanlar için içerik anlaşmasını ele aldı.

Akış bir kart terminali gibi işliyordu. Bir satıcı HTTPS üzerinden imzalı bir PaymentRequest sunuyordu. Müşterinin cüzdanı bunu çekiyor, ekli X.509 sertifika zincirini hâlihazırda güvendiği bir kök sertifikaya kadar takip ediyor ve bir karakter dizisi yerine bir şirket adı gösteriyordu. Müşteri onaylıyordu, cüzdan işlemi yayınlıyor ve ayrıca satıcıya ham işlem baytlarını ve bir iade adresini içeren bir Payment mesajı gönderiyordu. Satıcı da bir makbuz işlevi gören PaymentACK ile yanıt veriyordu.

Çökmesinin dört nedeni var ve bunları anlamakta fayda var, çünkü biri Bitcoin'in üzerine kimlik eklemeyi önerdiğinde her biri yeniden ortaya çıkıyor.

Güvenini sertifika otoritelerinden ödünç alıyordu. Tipik bir kök sertifika deposundaki yüzlerce sertifika otoritesinden herhangi biri, herhangi bir ad için sertifika düzenleyebilir; bu da Bitcoin'in önlemek için inşa edildiği başarısızlık biçimidir. BIP70 ayrıca bir x509+sha1 imza türüne izin veriyordu ve pratik bir SHA-1 çakışması 23 Şubat 2017 tarihinde yayımlandı.

Satıcının çevrimiçi olmasını gerektiriyordu. Satıcının HTTPS uç noktası yanıt vermedikçe ödeme oluşturulamıyordu, dolayısıyla bir kesinti, tek başına bir adresten çalışacak ödemeleri durduruyordu.

Bilgi sızdırıyordu. Cüzdan satıcının sunucusuna giden bir istek yapıyor, bu da müşterinin IP adresini açığa çıkarıyordu ve iade alanı ödeyene ait yeni bir adres veriyordu.

Çok az şey kazandırıyordu. Sertifika, birinin bir alan adını kontrol ettiğini kanıtlıyordu; faturanın meşru ya da malın gerçek olduğunu değil.

Nerede görülür

BIP70 belgesinin hâlâ bir terim olarak dolaşmasının başlıca nedeni, Bitcoin.org geliştirici başvuru kaynağının protokolü geniş zamanla anlatması ve bu kaynağın yıllardır Bitcoin Core ile gelen değişiklikleri takip etmemesidir.

Bunun dışında BIP70 ile arşivlenmiş cüzdan kaynak kodunda, büyük ödeme işleyicilerinin bunu dayattığı dönemde yazılmış eski entegrasyon kılavuzlarında ve ara sıra on yıllık bir faturaya eklenmiş bir .bitcoinpaymentrequest dosyasında karşılaşırsınız. Bugün satın aldığınız hiçbir şey bunu gerektirmez. Ödeme sayfası isteyen satıcılar BTCPay Server gibi yazılımlar kullanır; bu yazılım BIP21 URI'leri ve Lightning faturaları düzenler ve müşterinin cüzdanından olağan dışı bir şey istemez.

Ödeme protokolü (BIP70) vs PaymentRequest

Ödeme protokolü alışverişin tamamıdır; PaymentRequest ise onun içindeki bir mesajdır. Cüzdan ile satıcı arasında üç mesaj gidip geliyordu ve PaymentRequest bunların ilkiydi, satıcının sunduğu imzalı zarf. İki adı birbirinin yerine kullanmak, eski belgeleri gereğinden zor okunur hale getirir. Ayrıca PaymentRequest, kart ve cüzdan ödemeleri için kullanılan ve bununla ilgisi olmayan bir tarayıcı standardının adıdır; dolayısıyla bugün bu kelimeyi kullanan bir geliştiricinin Bitcoin'i kastetmesi olası değildir.

Karıştırılmaması gerekenler

Sık sorulan sorular

BIP70 hâlâ herhangi bir yerde kullanılıyor mu?

Bakımı sürdürülen yazılımlarda kullanılmıyor. Bitcoin Core bunu 0.19 sürümünde kullanımdan kaldırıldı olarak işaretledi ve Haziran 2020'de 0.20.0 sürümünde kaldırdı; güncel hiçbir cüzdan bunu uygulamıyor. Hâlâ bunu gerektiren her şey, 2010'ların ortasında inşa edilmiş bir entegrasyonla çalışıyor.

Ödeme protokolünün yerini ne aldı?

Onun güven modelini kopyalayan hiçbir şey. Zincir üstü ödemeler düz BIP21 URI'leri kullanır, Lightning BOLT11 ve BOLT12 faturalarını kullanır, yeniden kullanılabilir hedefler ise BIP352 sessiz ödemeleri kullanır. Hiçbiri sertifika otoritelerine bağlı değildir.

İlgili terimler

Daha fazlası: Geliştirici başvuru kaynağı

Bu sayfayı İngilizce okuyun