Ethereum-Ausbreitungsverzögerung

Ich habe eine sehr Anfänger-Frage. Angenommen, ich habe eine Liste mit den IP-Adressen verschiedener Maschinen und möchte sie über die Ethereum-Blockchain freigeben und annehmen, dass die Liste im Laufe der Zeit sehr groß wird, wie viel Zeit es dauern wird, sie mit anderen Knoten zu teilen und dem Block hinzuzufügen ? Dauert es 14 Sekunden, unabhängig von der Listengröße oder was? Wenn eine Referenz verfügbar wäre, wäre das großartig. Bitte helfen Sie.

Antworten (1)

Dies ist nur ein erfundenes Beispiel für Lernzwecke. Der Betrieb wäre teuer.

Sie würden einen Vertrag erstellen, um den Zustand und die Aktualisierungsfunktion zu halten. Ich habe die Sorge um die Zugriffskontrolle beiseite gelassen und nach Duplikaten gesucht, um das Beispiel recht kurz zu halten.

  1. Der Vertrag würde sich fortpflanzen, sobald die Bereitstellungstransaktion abgebaut ist.
  2. Einfügungen (Anhängen, wie implementiert) würden sich ausbreiten, sobald die appendIP("address")an den Vertrag gesendete Transaktion abgebaut ist.

-

pragma solidity 0.4.25;

contract IPList {

    string[] public ipList;

    event LogNewIp(address sender, string ip);

    function appendIP(string ip) public {
        ipList.push(ip);
        emit LogNewIp(msg.sender, ip);
    }

    function getIPCount() public view returns(uint count) {
        return ipList.length;
    }
}

Das Wichtigste ist der Mining-Prozess. Die Transaktion "verbrennt" etwa 65.000 Gas, was einem rechnerischen Gewicht einschließlich Lagerung entspricht. Zu den Transaktionen gehört ein Gebot, gasPricedas der Preis ist, den der Benutzer für jede Gaseinheit zu zahlen bereit ist. Zusammen sind gasmal gasPricedie Kosten der Transaktion in ETH.

Warum ist das wichtig? Denn Miner priorisieren Transaktionen mit höheren gasPrice. Mit einem entsprechenden Preis ist die Transaktion ein wahrscheinlicher Kandidat für die Aufnahme in 15-30 Sekunden. Niedrigerer Preis, und es kann sein, dass es für eine Weile nicht oder gar nicht abgebaut wird.

Nach dem Mining ist die Transaktion Teil der kanonischen Geschichte der Blockchain und in wenigen Sekunden allen aktuellen Nodes bekannt.

Falls das nicht klar ist, wird die Transaktion Teil eines bestimmten Blocks sein und daher allen Knoten bekannt sein, die diesen Block eingeholt haben, was die meisten in kurzer Zeit sein werden.

Ich hoffe es hilft.

Hitchens - wie lange dauert es, bis der abgebaute Block an alle Knoten in einem Netzwerk weitergegeben wird? Wie lange für Full Nodes und wie lange für Lite Nodes?
Ich würde kurz vor "all" stehen bleiben, weil das ihre Bedingung nicht berücksichtigt. Die meisten Knoten halten mit den neuesten Blöcken Schritt, sodass die meisten Knoten innerhalb von etwa 15 Sekunden nach Aufnahme in einen Block Bescheid wissen. Sehen Sie sich ethstats.net an, um ein besseres Gefühl dafür zu bekommen.