Artikkeli
Bitcoin-osoitteiden muodot: mitä 1, 3 ja bc1 kertovat?
Bitcoinin pääverkossa osoitteen alku antaa vihjeen sen muodosta: 1, 3 ja bc1 liittyvät eri osoitetyyppeihin. Se ei kuitenkaan kerro, kenelle osoite kuuluu tai hyväksyykö lähettävä palvelu juuri kyseisen muodon. Tarkista ensin, mitä vastaanottaja tarjoaa ja mitä lähettäjä tukee.
Osoite on tapa ilmaista vastaanottava maksuehto. Alku auttaa tunnistamaan tavallisen osoiteperheen, mutta ei korvaa koko osoitteen tarkistamista. Alla käsitellään Bitcoinin pääverkkoa, ei testiverkon osoitteita tai muiden verkkojen samannäköisiä tunnisteita.
Kolme tavallista alkua
1-alkuinen pääverkon osoite on perinteinen P2PKH-osoite. Lyhenne tarkoittaa maksua julkisen avaimen tiivisteelle. Tällaista muotoa kutsutaan usein legacy-osoitteeksi. Vanhaksi kutsuminen ei tarkoita, että kaikki sitä käyttävät osoitteet olisivat virheellisiä tai että vastaanottaja olisi automaattisesti turvaton.
3-alkuinen pääverkon osoite on P2SH-osoite: maksu kohdistuu skriptin tiivisteeseen. Skripti on joukko ehtoja, joiden täyttyessä varoja voidaan käyttää. Saman ulkoisen osoitemuodon taustalla voi olla erilaisia ehtoja, joten pelkkä alku ei kerro koko toteutusta. P2SH-muotoa voidaan käyttää myös SegWit-maksuehdon yhteensopivuuskuorena. Bitcoinin kehittäjäopas kuvaa P2SH:n ja sen skriptiin perustuvan rakenteen 1.
bc1-alku kertoo pääverkon natiivista SegWit-osoitemuodosta. Sen sisällä on eri versioita: bc1q on tavallinen version 0 osoitteen alku, kun taas bc1p viittaa version 1 osoitteeseen, jota käytetään esimerkiksi Taproot-maksuissa. Version 0 osoitteiden tarkistussumma käyttää Bech32-muotoa ja version 1 ja sitä uudempien Bech32m-muotoa. BIP 173 ja sitä päivittävä BIP 350 määrittelevät nämä muodot 21 23.
Merkkiyhdistelmä bc1 ei siis yksin kerro, tukeeko palvelu sekä bc1q- että bc1p-osoitteita. Älä myöskään päättele kaikkien 3-alkuisten osoitteiden käyttävän samaa sisäistä maksuehtoa. Muoto ja tarkka ominaisuus ovat eri kysymyksiä.
Näin tarkistat yhteensopivuuden
Aloita vastaanottavasta lompakosta tai palvelusta. Valitse siellä Bitcoinin pääverkko ja käytä sen antamaa vastaanotto-osoitetta. Jos palvelu tarjoaa useamman osoitemuodon, katso ensin lähettäjän ohjeesta, mille niistä lähettäminen on tuettua. Palvelun tuote, versio ja valittu verkko voivat vaikuttaa siihen, mitä käytännössä on mahdollista käyttää.
Lähettävä palvelu voi näyttää virheilmoituksen, jos se ei hyväksy osoitetta. Älä yritä korjata ongelmaa poistamalla merkkejä tai muuttamalla osoitteen alkua käsin: eri muodot eivät ole toistensa pintapuolisia kirjoitusasuja. Tarkista vastaanottajan sovelluksesta, voiko se antaa toisen tuetun osoitteen. Ellei se onnistu, selvitä vaihtoehto palveluiden tuesta ennen lähettämistä.
Kuvitteellinen esimerkki: vastaanottajan lompakko näyttää bc1p-alkuisen Bitcoin-osoitteen. Lähettäjän ohjeessa mainitaan bc1q-tuki, mutta bc1p:stä ei sanota mitään. Vastaanottaja tarkistaa, voiko hänen lompakkonsa antaa myös lähettäjän tukeman osoitteen. Jos ei voi, lähettäjä kysyy tuesta erikseen, onko juuri bc1p tuettu. Hän ei päättele tuen olemassaoloa pelkästä bc1-alkuosasta.
Mitä tarkistussumma ei kerro?
Bech32-osoitteissa on tarkistussumma, joka auttaa havaitsemaan kirjoitusvirheitä. Sen läpäiseminen ei kuitenkaan osoita, että osoite kuuluu tarkoitetulle vastaanottajalle tai että se on juuri siihen palveluun sopiva. Myös virheetön, mutta väärälle taholle kuuluva osoite voi olla teknisesti kelvollinen. BIP 173 käsittelee osoitteen koodausta ja tarkistussummaa 21.
Vertaa osoitetta kokonaisuutena luotettavasta vastaanottajan näkymästä saatuihin tietoihin. Tarkista lisäksi, että kyseessä on vastaanottajan nimenomaan Bitcoinin pääverkolle antama osoite. QR-koodi on vain toinen tapa esittää tieto: sen lukeminen ei itsessään vahvista, että vastaanottaja on oikea.
Osoitteen muoto ei myöskään lupaa tiettyä siirtomaksua tai toteutumisaikaa. Maksuun vaikuttaa tapahtuman rakenne ja kulloinenkin maksutilanne; lopullista hintaa ei voi päätellä vain vastaanottajan osoitteen alusta. Jos palvelu esittää maksun ennen vahvistusta, tarkista se siinä vaiheessa.
Kumpi päättää osoitteen?
Vastaanottaja määrää osoitteen, koska se liittyy hänen käyttämäänsä lompakkoon tai palveluun. Lähettäjä puolestaan valitsee lähetyspalvelun ja näkee, hyväksyykö se osoitteen. Pelkkä lähettäjän mieltymys tiettyyn alkuun ei anna oikeutta muokata vastaanottajan antamaa osoitetta.
Palvelun ilmoitus ”Bitcoin-tuettu” ei välttämättä täsmennä kaikkia tuettuja osoiteversioita. Etsi tieto nimenomaan lähetystuesta, sillä vastaanottotuki ja lähetystuki ovat eri toimintoja. Jos ohje on vanha tai se puhuu vain yleisesti SegWitistä, kysy tarvittaessa tarkasta bc1q- tai bc1p-muodosta. Säilytä kysymys yleisenä: palvelun tuki ei tarvitse yksityisiä avaimia tai palautussanoja yhteensopivuuden selvittämiseen.
Jos osoite ei kelpaa
Pysähdy sen sijaan, että kokeilet summittaisia muunnelmia. Varmista, että kopioit koko osoitteen vastaanottajan omasta Bitcoin-vastaanottonäkymästä ja että lähettävä palvelu todella käyttää samaa verkkoa. Tämän jälkeen tarkista nimenomaisen osoitemuodon tuki lähettäjän ajantasaisista ohjeista.
Jos tiedot ovat ristiriidassa tai tuki jää epäselväksi, pyydä palvelulta selvitys. Eri osoitemuodot voivat toimia samassa Bitcoin-verkossa, mutta yksittäisen sovelluksen kyky lähettää tiettyyn muotoon on silti tarkistettava erikseen. Oikea alku on hyvä tunnistusvihje, ei turvallisuustakuu.