
Es scheint, dass es zu spät ist, über Kryptowährungen und Blockchain-Projekte zu diskutieren: Sie sagten, vor ein paar Jahren sei alles Mögliche gesagt worden, und dann wurden die hohen Erwartungen nicht erfüllt, die Aufregung ließ nach und das Thema wurde irrelevant.
Aber tatsächlich können Sie jetzt ernsthaft über sie sprechen. Auf dem Höhepunkt des Hype war es schwierig, die Schreie von „IMPOSIEREN IN UNSEREM ICO, ES IST NICHT SPÄTER“ zu etwas Vernünftigerem zu durchbrechen, und im Signal-Rausch-Verhältnis stieg die zweite Komponente stark an. Aber jetzt, als der Hype nachließ und Fast-Food-Liebhaber zu etwas anderem wechselten, wurde es möglich, normal zu sprechen. Und als die Frage, in was investiert werden soll, nicht mehr alles andere überschattete, wurde es einfacher, technische Aspekte zu berühren.
Ryan Lewis (bekannt zum Beispiel für den kleinen Dienst
CountMyCrypto ) sieht das Blockchain-Ökosystem sowohl aus der Sicht eines Enthusiasten als auch aus der Sicht eines technischen Spezialisten: Sie interessiert sich für das, was passiert, und für das Testen von Blockchain-Projekten. Und wir beschlossen, ihre Fragen zuerst über die erste zu stellen und dann zur zweiten zu gehen.
- Als sich 2018 viele von Kryptowährungen abwandten, bleiben Sie ihr Enthusiast. Denken Sie, dass sie auf lange Sicht eine glänzende Zukunft haben?- Das stimmt. Kennen Sie den Gartner
Hype-Zyklus ? Es gibt einen typischen Zyklus: Zuerst werden der neuen Technologie ungerechtfertigte Erwartungen zugewiesen, dann werden sie enttäuscht, und nach all dem entwickelt sie sich und wird wirklich gefragt. Meiner Meinung nach befinden wir uns derzeit am tiefsten Punkt der Enttäuschung. Dies ist teilweise auf die aktuelle Kryptowährungskrise zurückzuführen. Wie Sie wissen, ist der Preistrend jetzt abwärts gerichtet. Dennoch gibt es eine weit verbreitete Meinung, der ich zustimme, dass in dieser Phase wichtige Arbeiten stattfinden.
Jetzt gibt es viel weniger Spekulationen als 2017 und im zweiten Halbjahr 2016. Projekte entwickeln sich langsam aber sicher. Parallel zum Preisverfall sinkt das Interesse an ICOs, aber die Zahl der Neugründungen nimmt nicht ab: Nur Unternehmen wechseln zu privater Finanzierung. Vielversprechende Ideen fehlen noch.
Meiner Meinung nach ist dies ein positiver Trend, da dank dessen Menschen mit unrealistischen Absichten gefiltert wurden. Ich denke, Sie wissen, dass ein erheblicher Teil der modernen Technologien in diesem Bereich nicht gut skaliert werden kann, und viele Startups, die große Geldsummen gesammelt haben, basieren auf äußerst unrealistischen Erwartungen. Jetzt ist die Phase der Konsolidierung gekommen, und aus meiner Sicht ist dies das Beste. An sehr interessanten Projekten wird gearbeitet, sie sprechen nicht jeden Tag in den Nachrichten darüber.
Insbesondere im Fall von Ethereum scheint mir ein Rückgang der Anzahl der Transaktionen ein gesundes Zeichen zu sein. Die Blockchain-Architektur von Ethereum ist nicht für die Anzahl dezentraler Anwendungen ausgelegt, die im letzten Jahr nach der Veröffentlichung von CryptoKitties entstanden sind. Einer der Parity IT-Evangelisten hat kürzlich sogar halb im Scherz darum gebeten, die Bereitstellung neuer DApps unter Ethereum einzustellen. Viele waren empört, als sie das hörten, aber im Wesentlichen hatte er recht. Sie können nicht immer mehr dezentrale Anwendungen auf Ethereum bereitstellen, ohne über die Architektur dieser Anwendungen nachzudenken. Es muss versucht werden, maximale Aktionen außerhalb der Kette auszuführen, da die aktuelle Situation nicht lange anhalten kann.
Im Allgemeinen wird jetzt ein ziemlich hohes Aktivitätsniveau beobachtet, aber aufgrund der Tatsache, dass alle neuen Blockchains ihre Hauptnetzwerke starten, wird die Anzahl der Transaktionen auf eine große Anzahl von Blockchains verteilt. Darüber hinaus wächst die Popularität von Blockchains ohne Tokenisierung - Hyperledger und Corda können als Beispiele genannt werden. Corda wurde im R3-Konsortium gegründet und kann als private Blockchain verwendet werden. Jetzt gibt es eine Reihe von Blockchains, die nicht öffentlich und mit Token versehen sind. Sie können keine aktuellen Aktivitäten darin sehen. Natürlich gibt es Blockchains in verschiedenen Organisationen, die durch verschiedene Implementierungen von Blockchain as a Service wie SAP oder die von Microsoft angebotenen implementiert wurden. Ich denke, das Aktivitätsniveau ist jetzt ziemlich hoch, nur dass nicht alle diese Aktivitäten für die Öffentlichkeit sichtbar sind.
- Vor einigen Jahren freuten sich viele über die Nachricht, dass sogar die Bitcoin-Konferenz aufgrund erhöhter Gebühren und Bearbeitungszeit keine Zahlungen in Bitcoins mehr akzeptierte. Was ist nun mit Kryptowährungen als Zahlungsmittel?- Als Beispiel kann ich die Konferenz des Hackers Congress Paralelní Polis in Prag anführen, auf der ich mich gerade befinde - sie akzeptieren Zahlungen nur in Bitcoins und anderen Kryptowährungen. Ich habe bereits ein Ticket für Bitcoins gekauft, und während ich dort bin, werde ich auch alle Lebensmittel für sie kaufen. Sie haben jedoch ein wirklich wichtiges Problem aufgeworfen: Aufgrund der steigenden Preise für Bitcoin wurde es einige Zeit nicht für Transaktionen, sondern als Investition verwendet. Die ganze Zeit wurde gesagt, dass es sich um elektronisches Gold handelte, also wurde es zur Lagerung und nicht für Transaktionen gekauft. 2013 kaufte ich ziemlich viel Bier und Kaffee für Bitcoins - dann kostete es ein paar Pfund oder ein paar Euro, und jetzt kann der gleiche Betrag an Bitcoins für einen ziemlich anständigen Geldbetrag verkauft werden.
Tatsächlich hängt vieles von einer bestimmten Person ab. Zum Beispiel habe ich eine Freundin aus Russland, die kein Bankkonto hat. In den letzten vier Jahren hat sie aus ethischen Gründen nur Kryptowährung verwendet. Es gibt eine kleine Anzahl solcher Menschen, von denen ein Beispiel beweist, dass ein prinzipielles Leben möglich ist. Aber ein bedeutender Teil der Unternehmen, die früher Bitcoins akzeptierten, hat dies jetzt eingestellt. Dies ist teilweise auf die Tatsache zurückzuführen, dass während eines Anstiegs des Interesses an Bitcoins in einem Café oder einer Bar ein Mitarbeiter für die Verwendung der Anwendung geschult werden konnte und dieser Mitarbeiter dann ging und der nächste Kassierer nicht wusste, wie er mit der Anwendung arbeiten sollte. Schade, dass es so passiert ist, denn diese Fähigkeiten sind sehr einfach. Alles ist weitgehend an die Erhaltung des vorhandenen Wissens gebunden. Es wird jetzt viel getan, um Kryptowährung und Fiat-Geld zu integrieren und die Zahlung zu vereinfachen.
Im Allgemeinen befinden wir uns jetzt in einer Art Zwischenphase. Anfangs gab es viel Begeisterung aufgrund der Tatsache, dass die Leute erwarteten, alles nur mit Kryptowährung zu bezahlen. Dann ließ diese Begeisterung nach und die Instabilität der Kurse verdrängte viele. Ich glaube jedoch, dass die Zeit nicht mehr fern ist, in der Menschen viele verschiedene Kryptowährungen verwenden werden. Es lohnt sich auch, sich an die Versuche verschiedener Unternehmen zu erinnern, eine Zensur einzuführen - es ist beispielsweise bekannt, dass PayPal die Konten von Personen aus politischen Gründen schließt. Dank dessen gewinnt das Bewusstsein für die Notwendigkeit von zensurfreiem Geld jetzt an Bedeutung.
- Vor drei Jahren wiederholten sie gern: „Die Möglichkeiten der Blockchain sind nicht nur auf Bitcoin beschränkt, es sind viele andere Anwendungen möglich.“ Sie versuchten, sie in verschiedenen Bereichen einzusetzen. Und was hat das Leben jetzt gezeigt? War es in der Praxis anderswo nützlich?- Ja. Eines der bekanntesten jüngsten Projekte wurde von Samsung für den Warentransport ins Leben gerufen. Sie wissen vielleicht, dass jedes Frachtschiff, das von China nach Europa kommt, ungefähr zwei Kilogramm Dokumente generiert. Dies beansprucht eine enorme Menge an Ressourcen, da es nicht nur um Papier geht, sondern auch um Hunderte von Menschen, die diese Dokumente unterschreiben, stempeln, ausfüllen und so weiter. All dies ist notwendig, weil die Menschen einander nicht vertrauen: Das Unternehmen, das die Waren erhält, möchte sicherstellen, dass sie nicht gefälscht sind. Die Behörden wollen sicherstellen, dass das Unternehmen nichts Illegales importiert. Behörden verschiedener Länder vertrauen sich nicht. Dank dessen entstand die Idee, Blockchain zu verwenden, um dieses Problem des mangelnden Vertrauens zu lösen, insbesondere im Hinblick auf den Warentransport. Und kürzlich hat ein von Samsung geführtes Konsortium die erste Lieferung von Asien nach Europa über die Blockchain registriert.
So gibt es jetzt erfolgreiche Projekte, die auf der Blockchain basieren, die meisten befinden sich jedoch noch im experimentellen Stadium. Zwar nehmen einige Unternehmen ihre Aktivitäten langsam zu - zum Beispiel Power Ledger, das sich mit der Verteilung von Elektrizität befasst und kleine Transaktionen mithilfe der Blockchain aufzeichnet. In jüngerer Zeit haben sie ihr Tätigkeitsfeld auf drei Städte in Australien ausgeweitet und scheinen ihre Dienstleistungen auch außerhalb Australiens anzubieten. Einige Banken verwenden Blockchains, um Geschäfte abzuschließen.
Wenn wir über Blockchains außerhalb von Bitcoin sprechen, müssen Sie vorsichtig sein. Vor ein paar Jahren war die Stimmung beliebt, dass wir eine Blockchain ohne Bitcoin brauchten, aber ich denke, die Leute haben jetzt erkannt, dass öffentliche Blockchains eine gewisse Motivation mit Token benötigen. Aber in den privaten Blockchains oder Blockchains von Konsortien gibt es wirklich viele verschiedene Aktivitäten, die nicht mit Bitcoin zusammenhängen.
- Können Sie ein negatives Beispiel geben, als es schien, dass „die Blockchain hier sehr nützlich ist“, aber das Leben hat gezeigt, dass dies nicht so ist?- Es ist schwierig, objektiv zu antworten. Ich denke, Sie werden keinen solchen Fall finden, in dem jemand öffentlich erklärt: "Die Blockchain funktioniert hier nicht." Es gab jedoch Situationen, in denen Unternehmen eine 180-Grad-Drehung durchführen mussten.
In Berlin gibt es ein interessantes Startup namens SatoshiPay, das sich mit Mikrozahlungen im Verlagswesen beschäftigt. Sie wollten es den Autoren ermöglichen, ihren Inhalt zu monetarisieren: Gegen eine geringe Gebühr in Bitcoins wird ein kleiner Teil der Seite für den Leser geöffnet, dann der nächste und so weiter. Zuerst wurde das Unternehmen schnell bekannt und konnte Spenden sammeln, aber dann wurde die Gebühr für Transaktionen in Bitcoin zu hoch und alle ihre Pläne wurden deswegen verbrannt. Der Fall endete nicht mit einem völligen Misserfolg, aber sie mussten von Bitcoin zu Stellar wechseln. Ein weiteres Beispiel, das ich anführen kann, betrifft Prognosemärkte. Wir sprechen über einige Wett-Sites, die ursprünglich auf Ethereum basierten und diese anschließend aufgeben mussten. In beiden beschriebenen Beispielen war die Idee der Verwendung von Blockchain durchaus vernünftig, es wurde nur die falsche konkrete Wahl getroffen.
Es gibt andere Beispiele für scharfe Kurven. Ich kann keine bestimmten Namen nennen, aber es gab Gerüchte über Startups, die die Blockchain zur Erstellung von Krankenakten verwendeten. Dies schien zunächst eine vielversprechende Richtung zu sein, doch dann stellten sich Fragen zur rechtlichen Seite der Angelegenheit: Ist es zulässig, eine unveränderliche Datenstruktur für die Speicherung von Informationen zu haben, die bei Gesetzesänderungen oder aus ethischen Gründen geändert werden kann, dh wenn eine Person das Recht erlangt, dies nicht aufzunehmen? Informationen in Ihrem medizinischen Buch.
Ich denke, es gab viele Situationen, in denen Unternehmen versuchten, die Blockchain zu verwenden, nur weil sie in Mode war, und nicht, weil sie ein spezifisches Problem des mangelnden Vertrauens hatten, das mit der Blockchain gelöst werden konnte. Ich denke, dass diese Art von Projekt derzeit Schwierigkeiten hat. Soweit ich weiß, werden diese Schwierigkeiten jedoch normalerweise durch den Wechsel von einer Blockchain zu einer anderen oder im Interesse der Zeitersparnis durch den Wechsel von einer öffentlichen Blockchain für das gesamte Projekt zu privaten Blockchains mit Autoritätsnachweis gelöst.
- Kommen wir zu weiteren technischen Fragen. Sie haben einen Beitrag über zehn häufige Missverständnisse über Blockchain / Kryptowährungen. Es richtet sich an die breite Öffentlichkeit, und die meisten unserer Leser wissen bereits, was dort beschrieben wird, wissen aber möglicherweise nichts anderes. Gibt es Missverständnisse über die Blockchain, die im IT-Publikum häufig vorkommen?- Ich würde das Wort „Fehler“ nicht verwenden, da jede Person, die sich mit Technologie beschäftigt und zumindest ein wenig mit der Blockchain vertraut ist, eine sehr gute Vorstellung von den Grundlagen dieser Technologie hat. Ich denke, es ist richtiger, nicht über die Beseitigung von Fehlern zu sprechen, sondern über neues Wissen, zusätzliche Schulungen in der Entwicklung und Erprobung öffentlicher Blockchains (private Blockchains sind viel näher an dem, was Programmierer normalerweise tun).
Ich denke, das Schwierigste ist, sich daran zu gewöhnen, dass die Produktionsumgebung völlig außerhalb der Kontrolle des Entwicklers liegt. Es ist nicht einfach, die Leistung vorherzusagen und die erforderlichen Bedingungen zu simulieren. Für mich war dies die Hauptschwierigkeit, als ich vor zwei Jahren mit meinen Freunden eine Bewerbung für Ethereum schrieb.
Bei uns lief alles reibungslos, es gab eine gut etablierte Pipeline, die Anwendung wurde erfolgreich in der virtuellen Blockchain gestartet, die Teil der von Ethereum bereitgestellten Tools ist. Wir haben die Anwendung auf Testnet bereitgestellt und dort hat sie perfekt funktioniert. Bei der Bereitstellung in einem Produktionsnetzwerk wird es jedoch viel schwieriger, das Verhalten der Anwendung gegenüber dem Benutzer vorherzusagen. Beispielsweise sind zahlreiche und unvorhersehbare Verzögerungen möglich. Viele schwerwiegende Probleme treten nicht in einer Testumgebung auf, sondern treten nur in der Produktion auf.
Angenommen, Sie haben einen Vertrag in Ethereum, und dieser Vertrag erstellt unter anderem dynamisch Brieftaschen für Benutzer. Ein anderer Vertrag derselben Anwendung kann jedoch vor der Erstellung von Brieftaschen abgeschlossen werden. Dies geschieht, weil der entsprechende Block zuerst abgebaut wird. Daher stehen viele ausgenutzte Fallen vor Ihnen, die vor der Produktion oft nicht gefunden werden können. Daher reicht es nicht aus, die Anwendung zu testen. Sie müssen im Voraus vorhersagen, wie sie sich in der Produktion verhalten wird.
Beispielsweise
wurde kürzlich
ein sehr schwerwiegender Fehler in einer Brieftasche mit der Parity Wallet mit mehreren Signaturen entdeckt. Die Brieftasche wurde tatsächlich deaktiviert, weil ein Außenstehender Zugriff auf eine Funktion erhielt, die eigentlich privat sein sollte. So gelang es ihm, den gesamten Vertrag zu deaktivieren. Diese Situation hätte nicht auftreten dürfen, aber da dies geschehen ist, kann nichts unternommen werden, da dieser Code bereits auf Tausenden von Computern angezeigt wurde und es unmöglich ist, ihn zurückzusetzen. Wenn Sie über Architektur und Tests nachdenken, sollten Sie daher über die schlimmsten Szenarien nachdenken und darüber, wie Sie mögliche Schäden in einer Situation abmildern können, in der Sie den Code nicht abrufen können.
Normalerweise können Sie beim Schreiben einer Site als letzten Ausweg Ihren Server jederzeit ausschalten. Natürlich kostet es Sie Geld, aber es gibt eine Gelegenheit. Und im Fall der öffentlichen Blockchain können Sie dies nicht einmal tun: Sobald der bereitgestellte Code nicht mehr zurückgegeben werden kann.
- Wenn Sie daran denken, Kryptowährungsprojekte zu testen, erinnern Sie sich zuerst an Geschichten mit gigantischen Diebstählen. Verstehe ich richtig, dass beim Testen die Sicherheit die wichtigste Überlegung ist?- Das stimmt. Nach dem Metcalfe-Effekt wird das Netzwerk mit den meisten Benutzern in Zukunft das erfolgreichste und beliebteste sein. Aufgrund dieses Effekts wird von allen öffentlichen Blockchains die meiste Entwicklung auf Ethereum durchgeführt. Viele Tools und Bibliotheken wurden für sie erstellt. Zum Beispiel gibt es ein OpenZeppelin-Startup, das den Zugriff auf verschiedene Bibliotheken mit den grundlegendsten Funktionen ermöglicht. Beispielsweise verfügen sie über eine SafeMath-Bibliothek, die Überläufe verhindert. So kümmern sie sich um einige sehr einfache Dinge - zum Beispiel stellen sie sicher, dass Sie aus Sicherheitsgründen Open-Source-Bibliotheken einbinden.
Es ist immer schwierig, für das Geld anderer verantwortlich zu sein, aber nicht nur Diebstahl ist eine Bedrohung. Bei den schwerwiegendsten Hacks handelte es sich oft nicht um einen Diebstahl, sondern um eine Sperrung des Zugangs zu Geld. Dies war beispielsweise bei dem Fehler in der Parity-Brieftasche der Fall, über den ich bereits gesprochen habe. Geld verschwindet nicht, aber es ist für den Eigentümer unmöglich, es zu erhalten. Unter Sicherheitsgesichtspunkten ist dies eine völlig neue Bedrohung, die ebenfalls berücksichtigt werden muss. Sie sollten nicht darüber nachdenken, ob jemand dieses Geld stehlen kann, sondern darüber, ob das System sicher ist, ob jemand den Vertrag kündigen kann.
Wenn ich über das Testen von Blockchains auf Sicherheit spreche, versuche ich immer, die Idee zu vermitteln, dass Schwachstellen nicht nur in intelligenten Verträgen vorhanden sein können. Ihr Grund kann auch sein, dass sich die Entwickler ganz auf den intelligenten Vertrag konzentrieren und dadurch die Anwendung als Ganzes aus den Augen verlieren. Dies spielt natürlich eine viel geringere Rolle, wenn Sie einfach eine Datenbank oder API bereitstellen. Viele Leute entwickeln jedoch Webanwendungen oder mobile Anwendungen basierend auf Blockchains, und es kann sehr erhebliche Schwachstellen geben, da Entwickler nicht richtig denken. Zum Beispiel hat die italienische Krypto-Börse BitGrail im vergangenen Jahr die Nano-Währung gehackt. Es gab keine Probleme bei der Interaktion mit Geldbörsen verschiedener Währungen im Backend. Aber ich kann immer noch nicht glauben, dass niemand den Fehler des Frontend-Entwicklers bemerkt hat. Wenn ein Benutzer Geld aus seiner Brieftasche abhebt, wird auf der Client-Seite ein Scheck mit einem Kontostand erstellt. Aus diesem Grund kann jeder Angreifer mit den grundlegendsten Kenntnissen der Chrome-Tools jedes Mal Geld abheben, wenn er seinen Kontostand auf einen höheren Betrag ändert. Viele nutzten dies und es gab ein großes Geldleck.
Um die Blockchain so sicher wie möglich zu gestalten, ignorieren Entwickler häufig die elementare Sicherheit beispielsweise des Frontends. Und dies ist nicht die erste Front-End-Sicherheitslücke, die Angreifer ausgenutzt haben. Interessanterweise sind die betreffenden Entwicklungsteams alle recht erfahren. , . , - . , - . . , .
— , «» ?— , . , , . , .
, API, , . , user experience. , , , , . .
, , . , , , , .
, . . , , , . Bitcoin, , Bitcoin , Litecoin. , , Block Explorer. , .
: , Docker, Jenkins .
— , , -?— . , , — . , — , . , — , , . , , , , , .
— , , : . ?— , , . , computer science 10 , , , . , , , . - , . , , .
, , , — , , , - . . , , SQL NoSQL Redis. , 5-6 , .
— , , , « , ». , , - , ?— , . , , , .
, , , . , . ; , . , .
, , , , - . , , . , , , , . , big data, , Hadooop. , . , . , , .
— , . , , : ( , )?— , — . . , , , — , Lightning Network Bitcoin Litecoin, Plasma Raiden Ethereum. — . , Ethereum — , proof-of-work proof-of-stake. , , . , , , .
, , , , . — , , , , .
— , , . , , . , , , - ? ?— , . . , , . , , . , , , .
— . !Minute der Werbung. In Kürze wird Rian Ihnen mehr über das Testen von Blockchain-Projekten erzählen: mit einer Liste von Sicherheitslücken, die beachtet werden müssen, und spezifischen Tipps, um diese Sicherheitslücken zu bekämpfen. Dies wird auf unserer Heisenbug 2018- Konferenz in Moskau geschehen , die vom 6. bis 7. Dezember stattfinden wird. Jetzt können Sie die Beschreibung dieses Berichts lesen und das gesamte Konferenzprogramm studieren .