Archiv des Autors: C.Baumann

Blockchain & IoT

Dieses Demo (erstellt für einen Workshop im Rahmen der Fachkonferenz Digitalisierung – IoT + Data Science) zeigt, wie man Leistungen von IoT-Devices über eine Blockchain „kaufen“ – d.h. bezahlen und ausführen lassen kann. Als „Leistung“ wird eine Lampe geschaltet, die „Bezahlung“ erfolgt mit einem „IoT-Light“-Token, welches mittels einer modernen Blockchainplattform (0bsnetwork.com) erstellt, gehandelt und übertragen wird.

Ein weiterer Teil demonstriert, wie Sensordaten des Devices über dieselbe Kommunikationsschnittstelle rückübertragen und in der Blockchain protokolliert werden können.

Die Komponenten dieses Demos sind:

Komponenten des Demos

Als IoT Device wird ein Raspberry Pi mit einem SenseHat-Modul verwendet, welches die Aktorik (LED-Feld als „Lampe“) und Sensorik (Joystick als Schalter) realisiert. Das Gerät stellt über WLAN eine WebSocket Verbindung zum Broker her.

Die IoT-Schnittstelle zwischen den Devices und einem Blockchain Client besteht aus einem WebSocket Broker und einem Client-Interface, welches die Blockchain auf Aktionen für bestimmte Walletadressen überwacht und die Daten über WebSocket an das IoT-Device weiterleitet. Hier ein Teil des Sourcecodes für ein solches Modul:

Als Blockchainumgebung wird in diesem Setup das TestNet des 0bsnetwork eingesetzt. Der Client bietet ein Web-GUI für die Walletfunktionen an: Den Handel mit den hier verwendeten „IoT-Light“ Tokens (gehandelt wird auf der „DEX“, der Decentralized Exchange) und das Senden der Token an das IoT-Device. Ein weiterer Node stellt die API Schnittstelle für das Client-Interface zur Verfügung, mit dem „Explorer“ können die Daten in der Blockchain (Blöcke, Transaktionen, Peers …) angesehen werden.

Ablauf

Auf der „DEX“ (integrierte Handelsplattform) werden die „IoT-Light“-Token für die Bezahlung des IoT-Devices gehandelt …

Handelsplattform für Token im 0bsnetwork

Über das Wallet werden Token an das IoT-Device (bzw. an seine Adresse 3Myh…) gesendet …

Senden von Token an das IoT-Device

Details zur Transaktion

Das Client-Interface …

… registriert die „Bezahlung“ für das Device, sendet ein Kommando an dieses und …

Rasperry Pi 3 mit Sense Hat als IoT Device

… das Device führt die bezahlte Leistung aus und schaltet Licht für die entsprechende Dauer ein.

Und das war es auch schon 😉

Digitalisierung: IoT + Data Science

Im Rahmen der Fachkonferenz Digitalisierung – IoT + Data Science am 7.11.2018 – wie immer perfekt veranstaltet von Seidler-Consulting – Danke, Joachim – hielten wir einen Workshop zum Thema „Was haben Blockchain-Anwendungen und IoT miteinander zu tun?“ ab. „Wir“, das waren Thom Kunz (Verein IoT Austria – The Austrian Internet of Things Network), Uwe Schimon (IVM GmbH) und ich.

Mein Part waren zwei Demos zum Thema „Blockchain & IoT“. Im ersten Demo zeigte ich, wie Daten von Sensoren (Temperatur, Luftfeuchte, Luftdruck), die über LoraWAN an einen MQTT Broker übermittelt wurden, von einem MQTT Client abonniert, empfangen und in einen Blockchain-Stream geschrieben werden.

Prozessdatenerfassung mit LoraWAN – Infrastruktur

Die IoT Sensoren, das LoraWAN und den MQTT Broker stellte die IVM GmbH zur Verfügung, den Rest (die Blockchain auf Basis MultiChain, die Scripts und die Darstellung mit plotly.js) steuerte ich bei. Abgesehen von der MQTT-Anbindung entspricht das Demo im Wesentlichen dem Aufbau der Air-Quality-Chain. Folgend ein Beispiel der Darstellung der Messdaten:

Beispiel für Darstellung der übermittelten Messdaten

Die Präsentation des Workshops kann übrigens hier heruntergeladen werden.

Im zweiten Demo ging es dann etwas detaillierter zur Sache …

Telegram Bot: Air Quality Vienna

Während der Entwicklung und dem Testbetrieb der Air-Quality-Chain (blockchainbasierte Lösung zur unveränderlichen Speicherung von Messdaten) baute ich im Rahmen eines anderen Projektes einen Proof-Of-Concept mit einem Telegram-Bot. Ich fand die Bot-Programmierung recht witzig und kam auf die Idee, mit der AQC protokollierte Umweltdaten auch per Telegram-Bot abzufragen.

Ich kombinierte also ein paar vorhandene Softwaremodule mit ein paar zig Zeilen neuem Code und … die erste Version des Bots war fertig, ich nannte ihn „Air Quality Vienna Bot“. Zugegeben, der Funktionsumfang ist noch recht bescheiden, in der ersten Version kann man nur die aktuellen Messwerte der 17 Wiener Umweltmessstationen abfragen. Ideen für neue Funktionen gibt es natürlich genug: Zeitreihenauswertungen, Mittelwerte, Maximalwerte, Benachrichtigungen bei Grenzwertüberschreitungen und so weiter. Mal sehen, wann ich dazu komme …

Der „Air Quality Vienna Bot“ ist übrigens unter https://t.me/AirQualityVienna_bot zu erreichen.

Der Screenshot zeigt die Liste aller vom Bot abfragbaren Messstellen, die aktuellen Messdaten und dazugehörigen Grenzwerte aus dem Immissionsschutzgesetz-Luft (IG-L) bzw. Informationsschwelle aus dem Ozongesetz (OzonG), weitere Details dazu siehe https://www.wien.gv.at/umwelt/luft/messwerte/grenzwerte.html.

Viel Spaß damit.

Update 1.10.2018: Die Anwendung ist jetzt auch auf data.gv.at – offene Daten Österreichs unter https://www.data.gv.at/anwendungen/telegram-bot-air-quality-vienna/ gelistet.

Datenquelle: Stadt Wien – data.wien.gv.at

Umweltmessdaten auf der Blockchain

Die „Air-Quality-Chain“ ist ein System zur Protokollierung, unveränderlichen Speicherung und dezentralen Verteilung von Umweltmessdaten basierend auf der Blockchain Technologie.

Im aktuellen Testsystem werden u.a. die Messdaten des Luftmessnetzes der Stadt Wien verarbeitet, die an 17 stationären Messstellen zur kontinuierlichen Messung von Luftschadstoffen erhoben werden. Diese Daten werden in 30 minütigen Intervallen im Rahmen von „data.gv.at – offene Daten Österreichs“ veröffentlicht.

Eine AQC-Schnittstelle lädt diese Daten periodisch und protokolliert sie in der AQC-Blockchain, wo sie unveränderlich gespeichert und an alle teilnehmenden Blockchain-Knoten („Nodes“) verteilt werden.

Die grafische Darstellung der Messwerte ist nur ein Beispiel, wie die gesichert protokollierten Daten ausgewertet werden können.

Eine weitere Datenquelle betrifft die „aktuellen Ozondaten Österreich„, die Ozonmesswerte der Messnetze der Ämter der Landesregierungen und des Umweltbundesamtes. Diese Daten werden im Rahmen des „OpenData Portal – Datenkatalog: Luft“ des Umweltbundesamtes zur Verfügung gestellt. Auch hier lädt ein AQC-Script die stündlichen Mittelwerte und protokolliert sie in der AQC-Blockchain.

Die Ozondaten können auf einer Karte dargestellt werden, es ist aber z.B. auch eine Zeitreihendarstellung einzelner Stationen möglich.

Auch die Meßwerte des Strahlenfrühwarnsystems werden im Rahmen der laufenden Tests verarbeitet, d.h. über eine Schnittstelle eingelesen und in der Blockchain protokolliert. Als Beispiel können die aktuellen Daten der derzeit 111 Stationen auf einer AQC-Kartendarstellung angezeigt werden, ähnlich der offiziellen Darstellung des BMNT.

Im Rahmen des aktuellen Testsystems ist der Zugriff auf die Air-Quality-Chain nur für definierte Teilnehmer möglich. Im kommenden Echtsystem wird diese Beschränkung aufgehoben, d.h. jeder Interessierte kann einen Blockchain-Node betreiben und auf die gespeicherten Daten uneingeschränkt zugreifen.

Webinar „Digitalisierung – Blockchain“

Im Rahmen des Immo-Webinars „Digitalisierung – Blockchain“ konnte ich im Gespräch mit Mag. Heimo Rollett die technischen Grundlagen von Blockchains erläutern, die Abgrenzung Bitcoin – Blockchain, die Haupteigenschaften von Blockchains und Grundlagen über die notwendige Kryptografie. Heimo Rollett ergänzte noch einige sehr interessante Aspekte aus dem Immobilienbereich – siehe auch seinen Blogbeitrag dazu.

War eine interessante Erfahrung, danke an immowebinar.at, das Team von m|mint und natürlich an Mag. Heimo Rollett.

Crypto-currencies hidden in Lego artworks

Two days ago I read this article in „Klausis Krypto Kolumne“. It is about artist Andy Bauch, who created Lego mosaics with hidden data in it. Decoding the data should lead to private keys for crypto-currencies …

After a little brainstorming I managed to crack the code of the picture Bitcoin Initially Valued at $20, 2016, but when looking up the calculated Bitcoin Address (1NmxAV1ze28U4Uuqg2fH1JTB8NtWKvTyhM) in a Blockexplorer, I had to recognize, that the value was already withdrawn. After googling the decoded private key (S49JAsn794iqvr6sTodXfdf41NCFaD) I found an russian article on medium.com, explaining the decoding process of all the Bitcoin series. Further information I then found here.

So some clever guys had done it three weeks ago and collected Bitcoins worth USD 10.000,- Congratulations!


Parallel to the „Bitcoins“ series Andy Bauch also did some artwork including the private keys for other cryptocurrencies. For example Dogecoin initally valued at $10, 2018.

I played around with it yesterday evening: It is a little more complicated to extract the private key (than in the BTC series) and the gained value is far lower, but the fun is the same …

Here my findings for the Dogecoin picture, after locating the relevant area in the picture (see yellow frame):

The information is coded in Base4, using 4 digits per character
Colors: pink: 0, red: 1, blue: 2, grey: 3

This leads to following 204 digits: 031210221101101013020310101113120312030313101013100211131003031312220302102211211322101012321213121213021100112011201303122110111221101310311301121212231213111313031233101112320320031113111013031011200310

This sequence grouped in four digits, converted to Base10 and interpreted as ASCII gives the 51 character private key: 6JQDr4Ev63tGBWC7j2JYzDngfrPXXsiEiGMqfkgWsoEn85uG4X4

This converts to the DOGE Address: DS94PAd6nxxTWSktgHUKkcxxjotSJoWrCW

As expected, the 1,255.3030078 DOGE (valued approx. USD 10,-) also have been collected on 2018-03-24.

But: Did I mention the fun?

😉

Austrian Blockchain Landscape

Letzte Woche wurde die V1.1 der „Austrian Blockchain Landscape“ veröffentlicht. Es handelt sich hier um einen Überblick zu Unternehmen, Plattformen und Institutionen in Sachen Blockchain Entwicklungen in Österreich. Diese Infos werden von der EnliteAI GmbH in Zusammenarbeit mit dem bekannten Blogger & Influencer Robby Schwertner (CryptoRobby) zusammengestellt.

Für mich ist es natürlich eine Ehre, unter der Rubrik „Development & Software“ genannt zu werden!

Austrian Blockchain Center

Jetzt wird es ernst: Die Vorbereitungen für den Förderantrag zur Gründung des COMET K1 Forschungszentrums ABC – Austrian Blockchain Center laufen auf vollen Touren.
Es freut mich, gemeinsam mit Synercon an der Organisation und Moderation der Antragserstellung arbeiten zu können.

Die wissenschaftlichen Partner sind großteils definiert: Prof. Taudes (WU, Institut für Kryptoökonomie) ist für die wissenschaftliche Gesamtleitung verantwortlich, die vier Themengebiete (Areas) werden von Top Researchern der WU Wien, TU Wien, Uni Wien, SBA-Research, FH St. Pölten, dem RIAT … bearbeitet.

Aktuell arbeiten wir an der Gewinnung von Unternehmenspartnern …

Details siehe https://blockchain-center.at/

IOTA Full Node

IOTA zählt heute wohl zu den am meisten polarisierenden Technologien am Sektor der Kryptowährungen.

Mit dem anstatt einer Blockchain eingesetzten „Tangle“ sollen IOTA Systeme Transaktionen „blitzschnell“ verarbeiten und dabei „endlos skalieren“. Da es kein Mining gibt, fallen keine Transaktionskosten an und „quantum proof“ (d.h. die Algorithmen können nicht von – irgendwann kommenden – Quantencomputern gebrochen werden) soll das System auch noch sein.

Da werden natürlich Verfechter der „alten“ Kryptowährungen, die auf Bitcoin- bzw. auf Ethereumtechnologien basieren, nervös und reiten auf diversen Eigenschaften von IOTA herum, ibs. auch auf den Skurilitäten, z.B. der Einsatz von ternärer Logik auf „normaler“ (binärer) Hardware oder eine selbsterfundene Hashfunktion, die sich als kryptografische Schwachstelle herausgestellt hatte.

Wie dem auch sei. Ich finde die Technologie jedenfalls interessant genug, um mich damit zu beschäftigen. Also habe ich Anfang Dezember 2017 mal einen Server („Full Node“) mit IRI (der IOTA Reference Implementation) aufgesetzt. War zwar etwas Bastelei (mittlerweilen gibt es gute Anleitungen) und auch das manuelle Suchen und Konfigurieren von „Neighbors“ (Nodes mit denen sich der eigene zu verbinden hat) ist zumindest ungewöhnlich.

Gut, jetzt habe ich also einen funktionierenden Full Node und unterstütze das IOTA Netzwerk. Mein Wallet (Light Wallet unter Windows, Android muss ich noch testen) kann ich auch damit verbinden und IOTA hin- und herschicken. Sehr spannend 😉

Eigentlich würde ich sehr gerne noch ganz andere Dinge damit ausprobieren, z.B. Daten von IOT-Devices verarbeiten (übertragen, speichern, verkaufen …), was ja der eigentliche Hauptzweck von IOTA sein soll. Das ist aber noch nicht wirklich verfügbar, zumindest nicht für die Allgemeinheit.

Aber wenigstens konnte ich einmal das IRI-API anbinden, an eine simple Webapplikation, mit der man den Status meines Nodes beauskunften kann.

Ich bleibe jedenfalls dran und werde über die Verarbeitung von IOT-Daten berichten, sobald es relevante News gibt.

Also: Stay tuned …