Skip to content
James Haoran Qiu edited this page Dec 11, 2018 · 7 revisions

Welcome to the fast-blockchain-on-SGX-facilitated-P2P-network wiki!

Interface/API provided for the Adapter:

  • broadcast(Message m)
  • join(NodeProfile np)

Interface/API provided for the Wire Protocol Layer

  • send(Packet p, String sender_ip, String receiver_ip)

Observation on P2P Network:

  1. Reach all nodes (sufficient amount of nodes); [fault-tolerance/robustness]
  2. Secure/address threat models [security]:
    • transport correct message (immune to falsifing msg) [addressed by SGX];
    • hide the topology (anonymity);
    • malicious individuals, eclipse attack, sybil attack, ddos attack;
  3. Converge as fast as possible (route should be optimal & msg should have no redundancy); [efficiency]

Proof & Analysis of GFRR

Hidden Pattern/Topology

Wireshark particular node & normal node -> packet no difference (time, packet, merge into normal, conceptually justify -> guarantee/proof)

no specific target found -> random failure makes sense

Evaluation

Settings:

  • Traffic Control, to simulate real RTT, sleep after receiving packets if between:
    • continents: 150~200ms (random)
    • countries: 100~150ms (random)
    • cities: 50~100ms (random)
    • district: 20~50ms (random)
    • within the same district: do not sleep;

Comparison Targets:

  • Kademlia (how to compare? simulate encryption-decryption time)
  • Chord
  • Pastry
  • Tapestry

Time Complexity

Fixed node number: Time / # of messages/operations

Message Complexity

Fixed node number: # of messages sent / # of operations

Scalability

  • Time / # of nodes (fixed # of messages/operations)
  • Message / # of nodes (fixed # of operations)

Fault-tolerance

  • Message Reachibility / Fault Ratio

Maintainability

  • Node Loss Recovery Time / # of existing nodes
  • Node Join Boostrap Time / # of existing nodes

Paper Plan

  • abstract
  • chap 1: introduction
  • chap 2: background and motivation
  • chap 3: design
  • chap 4: proof & analysis
  • chap 5: implementation details
  • chap 6: evaluation
  • chap 7: related work
  • chap 8: conclusion
  • ack
Clone this wiki locally