All of the computers constituting the network are called "routers". A software is designed to run the router. The IP address becomes a Hop-to-Hop layer, just like mac addresses in the OSI model. So, we can draw a new model on which this networking technology stands: - Layer 1: Physical: wire - Layer 2: Data Link: mac address - Layer 3: Network: IP address - Layer 4: Transport -> UDP (peer-to-peer) NEW LAYERS IMPLEMENTED: - Layer 5: SparkRoutingProtocol - Layer 6: Encrypted Data Clearly resumed: - Layer 1+2+3+4 -> "support" on which the network rely - Layer 5 -> End-to-End Delivery - Layer 6 -> Data. ## I.) What the heck is SRP ? ## Service and Router discovery is a main component of SRP. X Actions occur: NOTE : Routers should map the entire network using the SparkMapProtocol and share the routing table using a bockchain. (can be disabled for privacy reasons.) 1) When someone offers a service (such as a Web Site...) it broadcasts a "SparkPacket" containing: - op-code - date of expiry - meeting points (comparable to .onions provided by Tor). - cryptographic protocol (ex: RSA, TLS, SSL, et...) - service protocol used (HTTP ; FTP ; SMTP ; etc....) - hash of the service descriptor (meeting points, cp and sp hashed up) 2) The interested clients go to one of the meeting points by sending a request to the router that act as one of the meeting point addresses for this service, the router will transmit the request to the service provider. Client's packet content: - Header (op-codes and routing related data) - reply header (same header used to send the packet but built backwards) - hash of the service ## II.) How do packets travel anonymously ? ## NOTE: The path the packet must take is defined by the author of the packet. Here is the skeleton of a packet: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@ 1) HEADER: ENCRYPTED USING RELAY ROUTER'S PUBLIC KEY @@@@@@@ - op-codes used to determine which action the router must perform / determine the type of the packet. - operation/routing related data NOTE: this part onion encrypted, it means that this section is onion encrypted by the sender using the protocol explained in part III. The router will decrypt it using its private key. ################################################# @@@@@@@ 2) REPLY HEADER: ONION ENCRYPTED DATA @@@@@@@ - reply header (the header the endpoint router / service provider must use) ################################################# @@@@@@@ 3) ENCRYPTED USING ENPOINT ROUTER's PUBLIC KEY @@@@@@@ - Data @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ## III.) About network's transparency and routing protocol guarenteeing privacy ## NOTE: Each router can't determine what the next one will do because nor whatthe previous one did due to encapsulation provided by onion packet encryption. For instance, the sender wants to use router A and B as "relays" and router C as the exit to the clear-net or to another network (ex: tor...), the packet is composed of an header determining which action has to be performed by each router, and the data used to perform the service. Here is how the sender creates the header: 1) Write in the header the op-code used to tell router C to forward this packet outside of the network, encrypt it using C router's public key 2) Append at the end of the header the op-code telling router B to forward the packet to router C, encrypt it using B router's pub key 3) Append at the end of the header the op-code telling router A to forward the packet to router B, encrypt it using A router's pub key 4) Append the data to be transfered 4) Finaly, send the packet to Router A. The user creates the reply header by doing the same procedure but begining from step 3 and going all along to step 1. ## IV.) About data encryption and cryptographic liberty ## The service provider is free to choose what kind of cryptographic security the data will be wrapped on, i recommend people to use generic cryptographic algorithm such as RSA, TLS, SSL and many popular ones, rather than "home-made" algorithms, unless both of you know what you are doing.