Technische Probleme oder was Sie denken sollten, wenn Sie sich entscheiden, Ihr eigenes ICO durchzuführen

Das aktive Interesse an Polybius 'ICO, das wir aktiv befeuerten, war ein voller Erfolg - diesmal fast im wahrsten Sinne des Wortes. Die Polybius-Website war verblüfft über die Aufmerksamkeit von 14.000 Menschen, die in den ersten Minuten nach dem Verkaufsstart unsere Token kauften. Und das war erst der Anfang. Wie versprochen erzählen wir, was am 31. Mai passiert ist und was wir besser tun können, um zu vermeiden, was passiert ist.

Bild

Natürlich waren wir zu Beginn des ICO bereit für DDoS-Angriffe und eine hohe Auslastung der Server. Wir geben jedoch zu, dass wir die Fähigkeiten böser Hacker und das Interesse an dem Projekt sowie die Wahrscheinlichkeit von Notfallsituationen einfach unterschätzt haben.

Die technische Plattform (Investorenbüro, gesamte Infrastruktur) für das Polybius ICO wurde von Ambisafe bereitgestellt. Beginnend mit der Entwicklung von Blockchain-Produkten erweiterte das Unternehmen im Laufe der Zeit seine Interessen, um Unternehmen eine Reihe von Dienstleistungen und Tools zur Verfügung zu stellen, die für die Durchführung von ICOs erforderlich sind. Bei der Auswahl eines erfahrenen Auftragnehmers haben wir uns voll und ganz auf dessen Wissen und Fähigkeiten verlassen und nicht noch einmal die Dinge kontrolliert, die wir kontrollieren konnten (und sollten!). Und das war unser erster Fehler.

Zu schwaches Eisen


Eine gute Serverleistung ist ein wichtiges Detail, wenn Sie nicht möchten, dass die Site zu Beginn des Verkaufs abstürzt. Der Auftragnehmer prognostizierte die mögliche Auslastung des Servers in den ersten Stunden des ICO und stellte uns Anforderungen an deren Kapazität. Selbst dann schlugen wir vor, dass diese Indikatoren möglicherweise nicht ausreichen, und verdoppelten die Leistung. Um die Last zwischen den Servern zu teilen, haben wir auch das Büro des Benutzers und die Polybius-Site selbst an verschiedenen Orten gefunden, aber die Datenbank und die Hauptschrankdateien nicht getrennt. Und das war Fehler Nummer zwei.

Die Datenbank litt jedes Mal, wenn zu viele Anfragen im Büro des Anlegers eingingen (und umgekehrt), und der Server stürzte ab und wurde regelmäßig nicht mehr verfügbar. Als das Problem offensichtlich wurde, haben wir die Serverkapazität im Vergleich zu den ursprünglichen Eigenschaften um fast das Zehnfache erhöht. Es dauerte jedoch einige Zeit, den Schrank neu zu konfigurieren und alle Dateien erneut auf die neuen Server hochzuladen.

Die Aufregung um den Beginn von Polybius 'ICO war so groß, dass, sobald der Countdown-Zähler auf der Website polybius.io Null erreichte, viele Benutzer schnell Token kauften und einige unserer Benutzer sogar einen Fehlstart schafften. Der Hype der echten User ist kein großes Problem. Das Problem war die erhöhte Aufmerksamkeit der Bots auf Polybius ICO - ein DDoS-Angriff begann. Innerhalb von 6 Stunden gingen ungefähr 30 Millionen Anfragen von Ddosern auf das persönliche Konto des Anlegers ein, die einfach darin ertranken. Die Situation wurde durch die Tatsache verschärft, dass es in den ersten Stunden doppelt schwierig war, böswilligen Verkehr abzuwehren - es war nicht immer klar, dass es sich um eine echte Person handelt, die sitzt und auf „Aktualisieren“ drückt, in der Hoffnung, ihren persönlichen Account zu sehen, oder um einen Bot, der dasselbe tut.

Da es zu Beginn viele Leute gab, die teilnehmen wollten, machten sie sich beharrlich über DDoS auf den Weg zur Site und kauften weiterhin Token, als die Site einfacher wurde. Infolgedessen hat das System eine große Anzahl von Transaktionen angesammelt, die nicht rechtzeitig abgeschlossen wurden und darin stecken geblieben sind. Und hier kommen wir reibungslos zu einem anderen Problem über, das die Crowdfunding-Teilnehmer aus offensichtlichen Gründen am meisten beunruhigte.

Überlastung des Netzwerks


Da das System, in dem die Transaktionen stattfanden, groß und mehrmodulig war, musste jede Operation einen klaren Weg gehen. Aufgrund eines DDoS-Angriffs an bestimmten Stellen des Systems wurden die Module langsamer. Gleichzeitig mussten wir die im System stecken gebliebenen Transaktionen manuell sortieren, um den böswilligen Datenverkehr herauszufiltern. Aber selbst nachdem wir die festgefahrenen Operationen vorangetrieben hatten, konnten wir den rechtzeitigen Empfang der gekauften Token aufgrund der Hindernisse im Ethereum-Netzwerk nicht sicherstellen. Es war eine Notsituation, die eine Panik und eine Flut von Kommentaren vom Typ „ Geld wurde mir abgezogen, aber Token wurden nicht berechnet. Es ist bereits eine halbe Stunde / Stunde / 5 Stunden her ... “Nachdem die Token nun allen betroffenen Anlegern zugesprochen wurden, müssen wir uns nur noch einmal für die aufgetretene Situation entschuldigen und erklären, was sie verursacht hat.

Zum Zeitpunkt des Starts von Polybius ICO fand ein weiteres großes ICO (BAT - BasicAttentionToken ) im Blockchain-Netzwerk von Ethereum statt, und der Wettbewerb zwischen Investoren führte zu einer Überlastung des Netzwerks. Um diejenigen unserer Leser zu verstehen, die nicht viel über Ethereum wissen, funktioniert das Netzwerk so, dass Sie eine Provision zahlen müssen, um eine Transaktion an Ethereum zu senden. Und je höher die Provision, desto schneller gelangt die Transaktion ins Netzwerk. Vor dem Hintergrund des zweiten ICO, dessen Teilnehmer anfingen, riesige Provisionen einzurichten, wurden Polybius-Transaktionen mit der optimalen Provision in Bezug auf das Verhältnis von Kosten und Zeit für die Bestätigung nicht mehr bestätigt und standen im Ethereum-Netzwerk in einer Reihe, diesmal irgendwo an der Grenze zwischen unserem System und Blockchain.

Um nicht eine einzelne, sondern ein Bündel von Transaktionen in Ethereum auszuführen, wie dies in unserem Fall der Fall war, müssen diese in die Warteschlange gestellt werden, indem jeder Transaktion eine (bedingte) Seriennummer zugewiesen wird. Sequenznummern müssen in absoluten Schritten angegeben werden - das heißt, jede nachfolgende Transaktion muss eine Nummer eins haben, die größer als die vorherige ist. Dies bedeutet, dass wir die Transaktionsnummer 10 erst an das Netzwerk senden können, wenn die ersten neun verarbeitet wurden. Um das Netzwerk nicht noch stärker zu belasten und die Anzahl der feststeckenden Transaktionen nicht zu erhöhen, mussten wir die Provision für alle neuen Bestellungen erhöhen. Neue Transaktionen wurden im normalen Modus und in einem akzeptableren Zeitrahmen bestätigt. Die allerersten Transaktionen (wir sprechen von einer großen Anzahl von Aufträgen - mehr als tausend) mussten „wie sie sind“ belassen werden, sodass mehrere Tage vergingen, bevor die ersten Anleger ihre Token erhalten konnten.

Dies ist ein abnormales Verhalten des Systems und der Situation, die unsere Auftragnehmer zum ersten Mal lösen mussten. Daher ist es schwierig zu beurteilen, ob die optimale Taktik gewählt wurde oder ob wir noch mehr tun könnten.

Was haben wir gelernt?


Das wichtigste, wenn nicht eindeutige Verständnis ist, dass Sie, wenn das Problem bereits aufgetreten ist, nur damit beginnen können, es so schnell wie möglich zu lösen. Als erstes haben wir die Eigenschaften des Servers verbessert, leistungsfähigere Hardware verwendet, die Datenbank auf verschiedene Server verteilt, eine Firewall eingerichtet und DDoS-Angriffe herausgefiltert. Und all diese Prozesse dauerten ungefähr einen Tag. Zusätzliche Zeit wurde für die Organisation der Transaktionen über Ethereum aufgewendet.

Jetzt, da wir bereits Erfahrung mit ICO haben, können wir mit Sicherheit sagen, dass es unmöglich ist, in dieser Angelegenheit zu umsichtig zu sein. Es ist besser, wieder in Sicherheit zu sein. Wenn Sie sich also plötzlich dazu entschließen, Ihr eigenes ICO durchzuführen, denken Sie bitte sofort an Folgendes:

  • Die Last in den ersten Stunden kann nur außerhalb des Maßstabs liegen und selbst die wildesten Erwartungen übertreffen.
  • Wenn Ihr Projekt bekannt ist, ist Ihnen die Aufmerksamkeit der Händler garantiert. Achten Sie daher auf den Schutz vor möglichen Angriffen.
  • Wenn weitere 10 ICOs gleichzeitig mit Ihren ausgeführt werden, ist es besser, sich im Voraus Gedanken darüber zu machen, welche Taktik Sie wählen sollten - ob Sie einige Tage warten, bis die Transaktionen in die eine oder andere Richtung verlaufen, oder zusätzliche Ressourcen investieren und die Ausführung von Aufträgen über das Netzwerk erzwingen.
  • Es lohnt sich, mehr darauf zu achten, die Anleger rechtzeitig über die aufgetretenen Probleme zu informieren. Dies wird definitiv dazu beitragen, die Anzahl identischer Anfragen nach technischem Support zu verringern und Ressourcen für die Lösung anderer dringender Probleme freizusetzen.

Und vor allem werden Sie nie in der Lage sein, alle möglichen Probleme vorherzusehen. Seien Sie also auf Überraschungen vorbereitet. Sie können viel Zeit damit verbringen, Fehler zu zählen, die durch Versehen gemacht wurden, aber sie lernen aus Fehlern, und wir sind froh, dass sie kein ernstes Hindernis für den erfolgreichen Abschluss unserer Kampagne darstellen.

Source: https://habr.com/ru/post/de405485/


All Articles