Millaisia siirtoviiveitä teillä on Bitcoin-maksuissa? Itse kokeilin web-Easywalletista Androidin BitcoinSpinneriin, ja viivettä oli “jopa” pari minuuttia. Onko tuo Bitcoin-verkon vika, vai jomman kumman (tai molempien) palvelun?
Siirrot saavat vahvistuksen keskimäärin 10 minuutin välein, joka tarkoittaa sitä, että Bitcoinin lohkoketjuun luodaan uusi lohko, johon liitetään ne keskimäärin viimeisen 10 minuutin aikana tehdyt siirrot. Tällä tavalla siirrot sinetöidään Bitcoinin hajautettuun kirjanpitoon niin, että niitä on mahdotonta väärentää.
Lähettävä lompakko ilmoittaa verkolle siirrostaan välittömästi, jonka vastaanottava lompakko huomaa 1-2 sekunnissa, riippuen siitä missä päin maailmaa tuon tiedon välittävät Bitcoin-silmut ovat. Siirron tai kauppatilanteen luonteesta riippuen vastaanottaja voi hyväksyä siirron jo pelkällä ilmoituksella, esim. kavereiden kesken, postimyynnissä tai ravintolassa etukäteen maksettuna.
Tämä onnistuu sen takia, että siirrolle ehtii tulla vahvistuksia ennen kuin asiasta syntyy ongelma. Jos vahvistuksia ei tule niin tiedetään että jotain on pielessä. Joissain muissa tilanteissa kuten ruokakaupan kassalla voitaisiin visioida tilanne, jossa ehdittäisiin tehdä niin sanottu “double spend” ja paeta kaupasta. Se tosin vaatii hakkeroidun lompakon ja osaamista. Se on tulevaisuudessa yksi haaste Bitcoinille jos se yleistyisi esim. ruokakaupoissa, mutta olen aika varma että siihen löytyy ratkaisuja.
Easywallet.org kuuluttaa transaktiot verkolle aina tor-verkon läpi, joten se voi periaatteessa lisätä latenssia. Itse en kyllä ole koskaan huomannut muutamaa sekuntia pidempää viivettä.
Viive bitcoinspinnerin puolellakin on mahdollinen, sehän ei siis ole ns. full client, vaan toimii yhden keskitetyn serverin läpi. Eli siis eka transun pitää tulla bitcoinspinner-serverille, josta clientti kai pollaa sitten omaa balanssiaan, tai serveri kuuluttaa.
Ja tällä siis tarkoitan sitä, kuinka nopeasti itse maksu näkyy. Bitcoin spinnerissä tämä ilmoitetaan “funds coming to your way” tai jotain, ja itse balanssissa se näkyyvasta ensimmäisen konfirmaation jälkeen (muistaakseni). Easywalletissa taas näkyy Confirmed/Unconfirmed, ja konfirmaatiovaatimus on 3 blokkia.
Käytännössä ainakin itselläni 99.99% kännyköillä tehtävistä transaktioista on senluonteisia, että riittää että näkee että siirto on tullut perille (0 konfirmaatiota). Eli luottoa löytyy sen verran että tietää ettei kauppakumppani taatusti tekisi mitään double-spend yritystä tai vastaavaa, ja summatkin ovat yleensä pieniä.
Hei mode paljon on viive? ;D Tein vähän testailuja:
[ul][li]Pistin pystyyn kaksi Bitcoin-QT:ta eri koneille. Kesti muuten vuorokauden setupata, koska olivat mopoläppäreitä.[/li]
[li]Siirsin Easywalletista rahaa koneeseen A. Näkyi vastaanottajalla “vahvistamatta”-tilassa parin sekunnin kuluttua.[/li]
[li]Pysyvänä saldona se näkyi 2 min 30 sek kuluttua.[/li]
[li]Sitten koitin siirtää sen ilman siirtopalkkiota koneesta A koneeseen B. Ei onnistunut, vaan QT vaati 0,005 BTC:n siirtopalkkiota. No, maksoin kiltisti ja raha lähti…[/li]
[li]… ja näkyi vahvistamattomissa koneella B 3 sekunnin kuluttua.[/li]
[li]Vahvistettuna (=saldona) se näkyi vasta 18 minuutin kuluttua. 1/6 vahvistusta näemmä riittää.[/li][/ul]
Edit: mielestäni ohjelman kieliasussa on parannettavaa, aloitin siitä oman ketjun.
Bitcoin-siirtojen vahvistuksessa on tosiaan varianssia, koska se perustuu raakaan laskentatehoon. Joskus louhijat ratkaisevat uusia blokkeja useita minuutin sisään, vastaavasti pahimmillaan on mennyt 50-60 minuuttia yhden blokin ratkaisemisessa. Tämä tietysti vaikuttaa siihen miten nopeasti siirrot vahvistuvat.
Vahvistuksia tarvitsee korkean tason luotettavuuteen vain yhden, mutta periaatteessa siinä on vielä teoreettista “double spendin” riskiä jonkinverran. Nykyään pidetään yleisesti kolmea konfirmaatiota ns. vuorenvarmana määränä. Toki jos haluaa foliohattuilla niin voi odottaa täydet 6.
Jos bitcoineja siirretään alle 1000€ arvosta niin luottaisin siihen kyllä jo yhdellä konfirmaatiolla. Usein riittää myös pelkkä ilmoitus, joka tulee parissa sekunnissa, jos luottamusta on tai kauppatilanne sen muuten sallii.
Lisään vielä sen, että niin sanotut double spendit ovat vain teoreettinen riski. Edes pelkkiin ilmoituksiin perustuvia double spendejä nähdään harvoin, koska se vaatii modifioidun Bitcoin-lompakon ja osaamista. Itseasiassa esim. Bitpayn maksujärjestelmän kautta ei käsittääkseni ole vielä koskaan tehty onnistunutta double spendiä.
Double spendeistä, jotka tapahtuvat sen jälkeen kun on vahvistuksia (edes 1), en ole tosimaailman osalta tietoinen. Se vaatisi 1) hyvin paljon laskentatehoa ja 2) tuuria. Käytännössä hyökkääjän pitäisi saada käyttöönsä massiivinen määrä laskentatehoa ja senkin jälkeen luottaa siihen, että käy tuuri, ja lisäksi löytää vastapuoli joka hyväksyy suuren rahansiirron ja toteuttaa kaupan vain yhdellä vahvistuksella.
Veikkaisin, että summan pitäisi olla vähintään kymmenissä tuhansissa euroissa ennen kuin kukaan edes lähtisi yrittämään jotain tuollaista. Koska siinä pitää tosiaan käydä hyvä tuuri vaikka olisi paljonkin laskentatehoa käytettävissään. Periaatteessa siis tuo kolmenkin vahvistuksen odottelu on lähinnä varman päälle ottamista, tälläisiä teoreettisia skenaarioita ajatellen. Pienillä summilla täysin tarpeetonta.
Näyttäisi että transaktiomaksuja joutuu jo nykykurssi huomioon ottaen pulittamaan aika reippaasti, että siirrot menee läpi. Laitoin tänään coineja turvaan paperilompsaan ja kuvittelin että 0.0001 BTC maksu riittäisi. Näyttää siltä, että tuolla noin kahden eurosentin maksulla kestää tuntikausia ennenkuin coinit pääsee perille. Jos sitten menevät ollenkaan.
Tänään oli poikkeuksellista ruuhkaa, siirtojen määrässä oli ilmeisesti todella suuri piikki. Sitäpaitsi 0.0001 BTC ei välttämättä ole aivan riittävä jos on kyse suuremmasta siirrosta (kilotavuissa). Suosittelen 0.0001 BTC per 1 kilotavu. Blockchain.infosta näkee sen siirron koon, jos siirtosi paperilompakkoon oli yli 1000 byteä (yli yhden kilotavun), voi olla että tuo 0.0001 ei ruuhkatilanteessa riitä antamaan sille riittävää prioriteettia.
Bittirahan Bittipörssin transaktioissa kesti tänään myös paljon kauemmin kuin normaalisti. Teimme pienen kikan, jolla siirtoa boostattiin jälkeenpäin suuremmat kulut sisältävällä toisella transaktiolla. Se auttaa joidenkin louhintapoolien tapauksessa.
Parissa tunnissa löysivät perille kokoa oli noin 1.1Kb
Rahansiirtoviiveisiin liittyen yksi tärkeä pointti. Bitcoin-verkko on nyt ennennäkemättömän ruuhkainen. En suosittele lähettämään siirtoja ilman transaktiokulua. Viime aikoina on nähty jopa vuorokauden pituisia viiveitä 0-fee siirtojen konfirmaatioajoissa. Pitäkää tämä mielessä.
Mulla meni pari viikkoa takaperin melkein kolme vuorokautta vahvistumiseen 0-feellä.
Ehkäpä väärä paikka “säästää”.
Onko muuten blockchainin My Wallet jotenkin muuttanut oletusastuksia feen suhteen? Lähetin 0.5BTC ja ihmettelin, miksi ei tule vahvistuksia. No huomasin, että ei ole mennyt feetä ollenkaan, vaikka se on aina ennen mennyt.
Nyt on mennyt jo yli 20 minuuttia lähetyksestä, joka kyllä näkyy blockchainissa, mutta ei yhtään vahvistusta.
Onko muilla mennyt kolmea vuorokautta ilman feetä? Minkä verran on yleensä kestänyt? On tuo nyt ihme, että My Wallet ei voi erikseen kysyä, että haluatko lähettää ilman feetä.
Lähettäessäsi rahaa valitse “Custom” valikosta vasemmalta niin voit itse lisätä sen fee:n 0.0001.
Minkähän vuoksi fee on tähän saakka ollut ihan defaulttina My Walletissa. Vahvistukset tulivat lopulta ilman feetäkin noin puolen tunnin jälkeen.
Sori hieman OT, mutta kysytääs tässä samassa… Miksi Bitcoin-QT lompakko pakottaa joskus maksamaan transfer feen, ja joskus ei? En ole huomannut siirtoaikaeroja. Onko fee jotenkin mahdollista välttää silloin kun QT on fee-tuulella?
Kaksi hyvää keinoa jotka voivat auttaa tuohon on lähettää vähintään 0,01 btc (joka ei toki välttämättä sovi joka tilanteeseen) tai odottaa jonkin aikaa, jotta kolikot ovat vanhempia. Bitcoin Coressa (entinen Bitcoin-Qt) voisi olla jokin huomautus/ohje tähän, esim. jos asetettu 0 fee sekä siirrettävä määrä vähintään 0,01 btc ja ei mene ilman feetä niin vaikkapa ilmoitus: “Maksa siirtopalkkio tai odota hetki ja yritä myöhemmin uudelleen” :
[quote=“Aleksi Räisä, post:16, topic:294”][quote author=Aries link=topic=263.msg17773#msg17773 date=1404137762]
Sori hieman OT, mutta kysytääs tässä samassa… Miksi Bitcoin-QT lompakko pakottaa joskus maksamaan transfer feen, ja joskus ei? En ole huomannut siirtoaikaeroja. Onko fee jotenkin mahdollista välttää silloin kun QT on fee-tuulella?
[/quote]
Kaksi hyvää keinoa jotka voivat auttaa tuohon on lähettää vähintään 0,01 btc (joka ei toki välttämättä sovi joka tilanteeseen) tai odottaa jonkin aikaa, jotta kolikot ovat vanhempia. Bitcoin Coressa (entinen Bitcoin-Qt) voisi olla jokin huomautus/ohje tähän, esim. jos asetettu 0 fee sekä siirrettävä määrä vähintään 0,01 btc ja ei mene ilman feetä niin vaikkapa ilmoitus: “Maksa siirtopalkkio tai odota hetki ja yritä myöhemmin uudelleen” ::)[/quote]
Kiitos vastauksesta.
En ole muistaakseni lähettänyt alle 0,01 summia. No, siltikin fee:n se satunnaisesti haluaa isommistakin lähetyksistä.
Mutta mutta, tuo vanheneminen… Kuinka vanha on tarpeeksi vanha, kauanko siis kannattais koittaa suunnilleen odottaa? Ja mihin tämä odottamisen tuoma fee:ttömyys perustuu? Vai perustuuko koko QT:n fee loppujenlopuksi vain sattumaan? o_O
Itsellä ei ole ollut juurikaan ongemia miners feen suhteen… Laitan aina ainakin seuraavasti miners feet:
-Bitcoin: 1 mBTC (millibitcoinia)
-Litecoin: 1 mLTC (millilitecoinia)
-Dogecoin: 15 DOGE
Yleensä olen määrittänyt miners feen mahdollisimman korkeaksi… Rahoista, kun kyse niin siirrot tulee olla mahdollisimmna korkealla prioriteetilla hinnasta viis. Täytyy kyllä sanoa, että näin on mennyt läpi jopa ruuhka-aikoina. Yleensä oletan aina Bitcoin verkossa olevan ruuhka-aika…
En allekirjoittaisi, että Bitcoin välttämättä olisi halpa… Mutta todella luotettava Bitcoin kyllä on. Ei ole koskaan ollut yhtään siirto ongelmia näihin miners fee määriin siirryttäessä…
Seuraavaan bitcoin versioonhan (eli siis bitcoind ja bitcoin-qt) on tulossa systeemi, joka automaattisesti laskee kunkin hetken tilanteelle, että paljonko tarvii laittaa fee:tä, että voi olla varma siirron nopeasta varmistumisesta. Systeemin nimi on floating fees.
Käyttäjä pystyy sitten oikeasti valitsemaan miten kiire siirrolla on eikä tarvi laittaa mitään takuulla yliampuvia summia kiinteästi.
Minuakin kiinnostaa, eikö tätä siirtoviivettä tosiaan voi poistaa. Tämähän tarkoittaa käytännössä sitä, että Bitcoin-maksutapaa ei voi käyttää kaupan kassalla, tai että myyjä ottaa riskin maksun onnistumisesta. Luottokortilla maksu pystytään varmistamaan maksupäätteellä reaaliajassa kaupan kassalla, mutta Bitcoin-maksuja ei.
Kysyin kolmelta Bitcoineja hyväksyvältä liikkeeltä, onnistuuko maksu todella reaaliajassa kassalla. Lopputulema oli, että vain yksi ilmoitti tämän onnistuvan! Ilmeisesti myymälä otti riskin. Toinen liike ilmoitti “meidän täytyy odottaa maksuvarmistusta operaattorilta ja se saattaa vielä useita minuutteja”. Kolmas liike ilmoitti “Olen tällä hetkellä luopumassa Bitcoinien käytöstä, koska maksutapoja hoitavan Bitpay-palvelun käytössä on ollut enempi ja vähempi ongelmaa”.
Jos asiaa ei saada kuntoon, Bitcoin ei ikinä tule yleistymään kauppojen kassalla, vaan jää enempi nörttien puuhasteluksi kuin varteenotettavaksi maksuvälineeksi.