Identity

This page describes how various entities are identified, addressed, and discovered.

Bare Addresses

Nodes (addresses that can receive or transmit payment) in the credit network are identified by the hash of a public key, like in Bitcoin. The hash is to shorten the public key to a manageable size, so it is more convenient for people to work with.

The address can be specified in the following forms:

  • ripple://[address]
  • [address], if the Ripple protocol is implied by the context

Example: ripple://1BteW1uy7zNXMNqhFdvFafbJLd1HcHVPLx

To verify a signed message from a node, the recipient must have a copy of the full public key. Therefore messages to nodes that may not have the required key must include that key.

A bare node address is not identified with a particular user, server, or host.

Host Addresses

When necessary, nodes are associated with their host server by one of the following forms:

  • ripple://[address]@[host]
  • ripple://[address]@[host]:[port], if the port is other than the Ripple default (1995)
  • [address]@[host], if the Ripple protocol is implied by the context
  • [address]@[host]:[port]

Example: ripple://1BteW1uy7zNXMNqhFdvFafbJLd1HcHVPLx@ripplepay.com

This allows a server to know which host to connect to in order to send messages to a particular node address.

Hosts are authenticated by TLS (using X.509 certs, possibly OpenPGP keys).

Host Address Aliases

Full Ripple addresses are awkward, so a host might accept an alias in place of an address.

Example: ryan@ripplepay.com

Anyone using this form must trust the host (in this case ripplepay.com) to map the alias (ryan) to the correct address, since the true address isn't present to validate the crypto key used to create the messages. Usually this shouldn't be an issue, since the node's owner must trust the host's software to represent it on the credit network, and since any deception should be traceable to the source.

An alias could also be used to identify a human user of a Ripple server, who might have multiple node addresses on that server.