Sözlük / Geliştirici başvuru kaynağı
R parametresi
- R parametresi nedir?
- R parametresi, bir Bitcoin URI'sine BIP72 ile eklenen ve ödeme adresinin yerine, cüzdanınızın imzalı bir isteği çekmesi beklenen bir URL koyan ektir.
Tanımlandığı belge: BIP-72.
R parametresi taşıyan bir QR kodunu taramak, cüzdanınıza size bir şey göstermeden önce bir web sayfası çekmesini söyler. BIP72, 29 Temmuz 2013 tarihinde geldi ve zorunlu anahtarlara ayrılmış req-r yazımı yerine yalın bir r kullandı, böylece eski cüzdanlar bunu yok sayıp adrese ödeme yapabildi. Bugün karşılaşacağınız hiçbir ödeme sayfası size bunlardan vermez.
Nasıl çalışır
R parametresi, yüzde kodlamalı bir HTTPS URL'si tutan bir sorgu anahtarıdır ve BIP72 bunun için iki biçim tanımladı. Uyumlu biçim, URI'de normal bir adresi korur ve anahtarı onun ardına ekler; böylece ödeme protokolünü hiç duymamış bir cüzdan adrese ödeme yaparken, r'yi anlayan bir cüzdan adresi yok sayar ve isteği çeker. Soyulmuş biçim ise adresi tamamen kaldırır ve bitcoin:?r=https://store.example/i/8f3a gibi bir şey verir; eski yazılımlar buna hiç ödeme yapamaz.
Anahtarı isteğe bağlı yapmak, BIP21 belgesinin bilinçli bir okunuşuydu; o belgenin dil bilgisi tanınmayan parametreleri iki sınıfa ayırır: req- öneki taşıyan her şey bir cüzdanın URI'yi reddetmesine yol açmalıdır, diğer her şey atlanabilir. Bu yüzden alana req-r yerine r adını vermek, sorunsuz bozulmayı seçmekti. BIP72 ters davranışı da açıkça yazdı; böylece yalın bir adres ödemesini gerçekten kabul edemeyen bir satıcı req-r yazabilir ve uyumsuz cüzdanları, ödeme sayfasının eşleştiremeyeceği fonları göndermek yerine durmaya zorlayabilirdi.
URL'den dönen şey, BIP71 belgesinin bunun için kaydettiği MIME türü altında sunulan bir protocol buffer'dı. Ardından BIP73 içerik pazarlığını ekledi; aynı bağlantı, istemcinin gönderdiği Accept başlığına göre bir cüzdana ödeme isteği, bir tarayıcıya ise sıradan bir insan web sayfası döndürebiliyordu.
Nerede görülür
R parametresi güncel kullanımda hiçbir yerde görülmez. Bitcoin Core, 0.20.0 sürümü ödeme protokolü desteğini kaldırdığında bu URL'leri izlemeyi bıraktı ve bir zamanlar bunları üreten satıcı araçlarının yerini yalın BIP21 URI'leri ve Lightning faturaları düzenleyen yazılımlar aldı. Hâlâ r parametresi üreten bir ödeme sayfası, yıllardır kimsenin dokunmadığı bir entegrasyon çalıştırıyordur ve başka bir yoldan ödeme yapmak makul karşılıktır.
Bu alanın size bırakması gereken alışkanlık, alanın kendisinden daha uzun ömürlüdür. Bir QR kodu bir insan için okunamaz, dolayısıyla onu taramak, onu üreten şeye duyulan güvenin bir eylemidir: bir ekran, basılı bir fatura, bir makineye yapıştırılmış bir etiket. R parametresi bunu harfiyen yaptı, çünkü cüzdanınıza bağlanacağı bir URL verdi ve siz hiçbir şeyi kabul etmeden önce IP adresinizi satıcının sunucusuna açık etti. Aynı risk, birinin sessizce değiştirdiği sıradan bir adres QR kodunda da daha sıradan bir biçimde vardır. Hedefi tarama cihazının denetlemediği bir ekranda doğrulayın; donanım cüzdanında bu, cihazın kendi ekranı demektir, ve ilk dört karaktere göz atmak yerine emin olmak için yeterli sayıda karakteri karşılaştırın.
R parametresi vs Bitcoin URI
Bir Bitcoin URI'si bütün dizedir; r parametresi onun içindeki isteğe bağlı bir anahtardı. İkisini ayıran şey, yetkinin yönüdür. amount, label ve message gibi anahtarlar, zaten URI'de duran bir hedefi süsler ve bir cüzdan bunların hepsini yok sayıp yine de parayı doğru yere gönderebilir. R parametresi bu ilişkiyi tersine çevirdi: anlaşıldığı her yerde adresi tamamen geçersiz kıldı ve fonların nereye gideceğine ilişkin kararı, önünüzdeki dizeden başka bir yerdeki bir sunucuya taşıdı.