IPV6 is key
There is a standard called CGA++ or Cryptographically Generated Addresses. These addresses are generated using ECDSA keypairs as seeds, and contain signed proof of ownership of a key.
For two peers to connect, at least one peer has to know a public key of the other peer. For a service or business, this means they can have a single static public key for all inbound traffic.
Let’s say for this example a business has a metanet shopfront which allows users to connect to their service. There are two ways forward:
1: When the Metanet shopfront is created, a particular keypair is used to create the Orphan node at the root of the graph. This keypair can now be used to generate a CGA++ IP address which is made public.
2: The user sends an IP packet including their own Public Key to the service
3: Using the two keypairs, both the user and the service generate an identical keypair using the Diffie Hellman secret sharing technique.
4: Both parties create CGA++ IP addresses that use this key and use them to conduct IP-IP information sharing. When using CGA++, half the key is the cryptographic part, and the other half is routing information. Unless the two parties are connected to the same router, the two IPs will be different despite being based on the same keys.
1: When the Metanet shopfront is created, a particular keypair is used to create the Orphan node at the root of the graph.
2: The user sends a Bitcoin transaction to the address that corresponds to that public key which includes their own public key. This can be linked to their identity.
Steps 3 & 4: As above.