İçeriğe geçin
buybitcoinsmart

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

Bitcoin URI

Diğer adları: BIP21.

Bitcoin URI nedir?
Bitcoin URI, tıklanabilir tek bir dizede bir ödemenin ayrıntılarını toplar; bitcoin: ile başlar ve bir adres, bir tutar ve bir etiket taşıyabilir.

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

Bitcoin URI bir bağlantıdır ve tıklandığında cüzdanınızı ödeme zaten doldurulmuş halde açar. BIP21 biçimi 29 Ocak 2012 tarihinde sabitledi: bitcoin: şeması, bir adres, ardından soru işaretinden sonra isteğe bağlı parametreler. Çıplak bir adres yerine bir URI almak, tutarı doğru kopyalamanız gereken şeyler listesinden çıkarır.

Nasıl çalışır

BIP21 dil bilgisi kasıtlı olarak küçüktür ve biçimin on yıldan uzun süredir değişmeden ayakta kalmasının başlıca nedeni budur.

Tam bir URI şöyle görünür: bitcoin:bc1q...w5mdq?amount=0.00042&label=Coffee%20Shop&message=Order%20118. İki nokta ile soru işareti arasındaki her şey hedef adrestir. Sonrasındaki her şey & işaretiyle birleştirilmiş name=value çiftlerinden oluşan bir kümedir ve BIP21 yalnızca üçünü tanımlar:

  • amount, Bitcoin cinsinden ondalık bir sayıdır, asla satoshi değildir; noktayla yazılır, virgül veya para birimi simgesi içermez. amount=0.01, Bitcoin'in yüzde birini ifade eder, yani 1.000.000 satoshi.
  • label, ödeme yapılan tarafı adlandırır, örneğin bir dükkân veya bir kişi.
  • message, ödemenin ne için olduğunu söyler.

İki metin alanı da yüzde kodlamalı UTF-8 ile kodlanır, bu nedenle bir boşluk %20 olur ve bir etiket içindeki & işareti %26 olur.

Biçimi genişletilebilir tutan iki kural var. Bilinmeyen parametreler yok sayılır, bu da eski bir cüzdanın yeni bir URI'yi takılmadan okumasını sağlar. req- önekiyle başlayan parametreler istisnadır: anlamadığı böyle bir parametre bulunan cüzdan, ne yapması gerektiğini tahmin etmek yerine URI'nin tamamını reddetmelidir. Yükseltme mekanizmasının tamamı bu tek kuraldır ve o günden beri her uzantıyı eski yazılımları bozmadan içine almıştır.

Biçim bugün asıl bu uzantılarda yaşıyor:

  • BIP72 ile eklenen r=, bir BIP70 ödeme talebini işaret ediyordu. O yol artık kapalı.
  • BIP78'den gelen pj=, ödeyen ile ödeme alanın birlikte işbirlikçi bir işlem kurabilmesi için bir PayJoin uç noktası adlandırır.
  • lightning=, zincir üstü adresin yanı sıra bir BOLT11 faturası taşır. Bunu anlayan cüzdanlar Lightning üzerinden öder, anlamayanlar adrese geri döner ve satıcı ödeme sayfaları sonucu tek bir birleşik QR kodu olarak yazdırır.
  • BIP353, kullanıcı tarafından okunabilir bir adın ödeme talimatlarına çözülmesi için _bitcoin-payment etiketi altında DNSSEC ile imzalanmış bir TXT kaydının içine bütün bir URI yayımlar.

Adresin kendisi isteğe bağlıdır. BIP21'in dil bilgisi sıfır adres karakterine izin verir; bitcoin:?r=... bu şekilde çalışıyordu ve yalnızca teklif içeren bir URI bugün de bu şekilde çalışır.

Bitcoin satın alırken bu neden önemli

Bir Bitcoin URI'nin en çok önem taşıdığı an, paranın kontrol etmediğiniz bir borsadan çıkıp kontrol ettiğiniz bir yere vardığı para çekme işlemidir.

Kraken ve River borsalarından Relai ve Bitpanda borsalarına kadar bu sitede listelenen neredeyse her borsa, hedef adres için size düz bir metin kutusu verir. O kutu adresi ister, URI'yi değil. bitcoin:bc1q... değerini oraya yapıştırırsanız genellikle bir doğrulama hatası alırsınız, bazen de alan sessizce kesilir ve para çekme başarısız olur. İki nokta ile soru işareti arasındaki kısmı alın ve yalnızca onu yapıştırın.

Trafik ters yönde de akar. Kendi donanım cüzdanınızın para alma ekranı, bir satıcının ödeme sayfası ve eşler arası bir işlem size çıplak adres yerine URI verir. Bir URI tam olarak tek bir açıdan daha güvenlidir: tutar onunla birlikte gelir, bu yüzden toplamı yanlış yazamazsınız. En çok önem taşıyan açıdan daha güvenli değildir. Bir URI'deki hiçbir şey imzalı değildir. label alanı, metni kim oluşturduysa onun seçtiği serbest metindir, bu yüzden bir oltalama (phishing) sayfası label=Kraken%20Withdrawal yazabilir ve cüzdanınız bu sözleri hiçbir uyarı vermeden gösterir.

Donanım cüzdanı ekranının önemli olan kontrol olmasının nedeni budur. Bir URI ne iddia ederse etsin, imzalama cihazı ödemek üzere olduğu adresi panodaki kötü amaçlı yazılımların değiştiremeyeceği bir ekranda gösterir. Baştaki ve sondaki karakterleri orada, cihazda karşılaştırın, bağlantıyı üreten tarayıcı sekmesinde değil.

Uygulamalı bir örnek: bir kafenin faturasını ödemek

Diyelim ki bir yazar kasa bir QR kodu yazdırdı ve telefonunuz bitcoin:bc1q...w5mdq?amount=0.00042&label=Kaffeehaus&message=Table%207 değerini okudu.

Cüzdanınız buradan üç bilgi çıkarır: 0,00042 Bitcoin ödenecek, bu tutar o adrese gönderilecek ve onay ekranında Kaffeehaus ile Table 7 sözleri gösterilecek. Ardından URI'nin hiç istemediği birkaç şey yapar. Harcanmamış çıktılarınızdan hangilerini harcayacağını seçer, mempool hakkındaki kendi görüşünden bir ücret oranı tahmin eder, bir para üstü çıktısı ekler ve onayınızı bekler.

Yapmadığı şey, alıcı hakkında hiçbir şeyi doğrulamaktır. Dükkânın adresi kontrol ettiğini, 0,00042 Bitcoin'in kararlaştırılan fiyat olduğunu veya etiketin dürüst olduğunu kontrol etmemiştir. Bu kontroller size aittir. Bir kahvede risk kaybedilen bir kahvedir. Beş haneli bir transferde ise onay vermeden önce adresi imzalama cihazından dört karakterlik gruplar halinde okumak yerinde olur.

Bitcoin URI vs adres

Bir adres, kendi başına hedeftir ve ona hiçbir talimat bağlı değildir. Modern bir bech32 adresi, tek anahtarlı bir segwit çıktısı için 42 karaktere, bir taproot çıktısı için 62 karaktere ulaşır ve ne kadar gönderileceği ya da kime gönderileceği hakkında hiçbir şey söylemez. Bir URI bir kaptır: bir adres artı isteğe bağlı bir tutar, etiket ve mesaj. Bir URI'den adresi her zaman şemadan ilk soru işaretine kadarki metni okuyarak geri elde edebilirsiniz. Tersi mümkün değildir, çünkü bir adres zaten hiçbir zaman bir tutar taşımamıştır.

Bitcoin URI vs BOLT11 faturası

BOLT11 faturası Lightning tarafındaki karşılıktır ve önem taşıyan üç açıdan farklı davranır. Tek kullanımlıktır, adres yerine bir ödeme hash'ine bağlanır ve süresi dolar; satıcı bir değer belirlemezse varsayılan olarak 3.600 saniyedir. Bir Bitcoin URI'nin süresi asla dolmaz ve iki kez ödenebilir; bu bir bağış sayfasında avantaj, bir faturada tehlikedir. Birleşik QR kodu, sıradan bir URI'nin lightning= parametresinin içine bir BOLT11 dizesi koyarak seçim yapmaktan kaçınır ve her cüzdanın desteklediği yolu izlemesini sağlar.

Karıştırılmaması gerekenler

Sık sorulan sorular

bitcoin: URI'sini bir borsanın para çekme alanına yapıştırabilir miyim?

Genellikle hayır. Para çekme formlarının çoğu düz bir adres bekler ve bitcoin: ön eki içeren her şeyi reddeder veya keser. Yalnızca iki nokta ile ilk soru işareti arasındaki metni kopyalayın, ardından bunu cüzdanınızın para alma ekranıyla karşılaştırarak kontrol edin.

bitcoin: URI'sindeki tutar Bitcoin cinsinden mi yoksa satoshi cinsinden mi?

Bitcoin cinsinden. BIP21 ondalık bir Bitcoin sayısı belirtir, dolayısıyla amount=0.01 bir Bitcoin'in yüzde biridir, yani 1.000.000 satoshi. Ödeme protokolü alanları ve Lightning faturaları bunun yerine satoshi ve milisatoshi kullanır; bu da yaygın bir birim hatası kaynağıdır.

bitcoin: URI'si kime ödeme yaptığımı kanıtlar mı?

Hayır. Bir BIP21 URI'sindeki hiçbir şey imzalanmaz veya doğrulanmaz ve etiket, bağlantıyı oluşturan kişinin sağladığı serbest metindir. Hiçbir şeyi onaylamadan önce hedef adresi donanım cüzdanınızın kendi ekranında doğrulayın.

Sıradaki okuma

İlgili terimler

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

Bu sayfayı İngilizce okuyun