Kehitän projektia työnimeltään bitcoin-broadcast, jonka päämääränä on mahdollistaa bitcoin-transaktioiden ja -blokkien sarjallistaminen ja siirtämisen radioyhteyden välityksellä. Siirtotieksi soveltuu mikä tahansa yksisuuntainen digitaalinen siirtotie, jossa on riittävä määrä virheenkorjausta. Lopullisena tavoitteena on käyttää siirtotienä yleisradiolähetystä, esimerkiksi digi-TV:tä (DVB-T) tai FM-radiokanavan alikantoaaltoa. Alun kokeiluissa tietysti kannattanee käyttää lupavapaita taajuuksia.
Projekti koostuu kahdesta erillisestä sovelluksesta, eli lähetyspuolella käytettävästä sarjallistajasta (serializer) ja vastaanottimeen liitettävästä sovelluksesta (deserializer). Ensin mainittu yhdistää bitcoin-verkkoon, vastaanottaa transaktiot ja blokit ja asettaa nämä jonoon ja purkaa jonoa tietyn prioriteettijärjestyksen mukaisesti ja välittää nämä sarjaliikennelaitteelle lähettämistä varten. Toinen komponenteista yhdistää sarjaliikennelaitteeseen, purkaa vastaanottamansa transaktiot ja blokit ja välittää ne kyseiseen sovellukseen yhteydessä oleville bitcoin-nodeille. Datavirtaan voidaan sisällyttää muutakin tietoa, kuten vaihtokursseja yleisimpien valuuttojen ja bitcoinin välillä eri pörsseistä.
Tämän avulla on mahdollista rakentaa edullisia vastaanotinlaitteita, jotka eivät tarvitse mobiilidatayhteyttä pystyäkseen seuraamaan bitcoin-liikennettä ja reagoimaan vastaanottamiinsa bitcoin-maksuihin. Näin olisi mahdollista rakentaa bitcoin-vastine käteismaksuja hyväksyvästä laitteesta, joista yksinkertaisimpana esimerkkinä pesutuvassa kolikolla toimivat pesukoneet. Mikäli vastaanottava sovellus seuraisi ainoastaan itselleen kohdistettuja transaktioita, olisi se mahdollista rakentaa jopa 8-bittiselle mikrokontrollerille, jolloin maksuja vastaanottavan laitteen komponenttikustannukset (bill of materials) voisivat olla todella edulliset.
Tällä hetkellä toteutettua:
[ul][li]Sarjallistaja osaa yhdistää ja pysyä bitcoin-verkossa[/li]
[li]Sarjallistaja osaa lähettää transaktioita ja blokkeja sarjaporttiin[/li]
[li]Sarjallistaja optimoi lähettämiään blokkeja viittaamalla jo lähetettyihin transaktioihin, eikä siirrä niitä uudelleen blokissa (kuten bitcoin-verkko muutoin tekee)[/li][/ul]
Kesken:
[ul][li]Kunnollinen transaktioiden priorisointi. Tällä hetkellä on altis penny-floodingille[/li]
[li]Sarjaliikenneformaatti vaatisi vielä pohdintaa tai jonkun muun mielipidettä[/li]
[li]Sarjaliikenteen allekirjoittaminen, jonka avulla vastaanottaja voisi varmistua, että dataa ei ole väärennetty siirtotiellä.[/li][/ul]
Aloittamatta:
[ul][li]Vastaanottimessa toimiva sovellus (deserializer)[/li]
[li]Kokeilut oikealla radiotiellä[/li]
[li]Valuuttakurssien lähettäminen[/li][/ul]
Sovellus on toteutettu C:llä (gnu99) ja riippuvuuksina ovat tällä hetkellä Glib, Libssl ja Linux. Lisenssi on GNU GPL v3. Lähdekoodit löytyvät GitHubista:
https://github.com/zouppen/bitcoin-broadcast. Sivulta voi myös halutessaan tukea projektia taloudellisesti, mutta vielä sitäkin hyödyllisempää olisi, jos osaat ja haluat auttaa projektin toteutuksessa!