Es ist wichtig, dass Unternehmen die Verträge überprüfen, die sie unterzeichnen, da die Unternehmen in der Regel an die Verträge gehalten werden, die sie abschließen. Klauseln, die eine automatische Verlängerung vorsehen, sind nur eine der potenziellen Fallen, die im Vertragstext begraben werden können. In der Praxis lassen sich solche Fallen, wenn man sie einmal bemerkte, leicht vermeiden, indem man einfach auf die richtige Weise benachrichtigen würde. Leider können diejenigen, die das Kleingedruckte nicht lesen oder Nachlesen von Artikeln wie diesem tätig werden, in Schwierigkeiten geraten. Zusammenfassend haben wir eine Challenge-Lösung für die Speicherung und Abfrage von Pharmakogenomik-Daten auf der Ethereum-Blockchain in einem Smart Contract und eine alternative fastQuery-Lösung mit deutlich verbesserter Abfragezeit und Skalierbarkeit vorgestellt. Unsere Challenge-Lösung verwendet mehrere Mappings, die durch eindeutige Ganzzahl-Identifikatoren verknüpft sind. Dieser Entwurf war von Vorteil, da er Abfragen durch direkten Zugriff auf Zuordnungen (im Wesentlichen Hashtabellen) ermöglichte, anstatt durch die gesamte Datenbank zu iterieren. Unsere fastQuery-Lösung führte eine gepoolte Datenspeicherung ein, die die Abfragezeit weiter verkürzte, da bei Abfragen keine eindeutigen Genvarianten-Arzneimittel-Kombinationen in der Datenbank überprüft werden mussten. Beide Lösungen funktionieren gut mit skalierbaren Zeit- und Speicheranforderungen von bis zu 1.000 Abfragen. Obwohl unsere Challenge-Lösung die Daten erfolgreich speicherte, benötigte sie hohe Gasmengen, um Abfragen in einer Kette mit mehr als 1.000 Einträgen durchzuführen.

Unsere fastQuery-Lösung war erfolgreich bis zu 10.000 Einträge mit skalierbarem Zeit-, Speicher- und Gasbedarf. Unsere Algorithmen mussten unter Berücksichtigung der Einschränkungen von Solidity entworfen werden, wie die Anzahl der in einer Funktion zulässigen lokalen Variablen, die “Gas”-Grenze und andere Besonderheiten der Ethereum-Entwicklung. Unsere Lösungen zeigen das Potenzial der Blockchain-Technologie in der medizinischen Forschungsgemeinschaft, könnten aber auf eine Vielzahl anderer Speicher- und Abfrageprobleme angewendet werden. Die fastQuery-Lösung benötigt ca. 152 ms, um 1.000 Beobachtungen mit einer linearen Zeitkomplexität einzufügen [Abb. 2]. Der Speicherbedarf zum Einfügen von 1.000 Einträgen in die Kette beträgt ca. 500 MB pro Einfügung.