Advertisements

Allowing nodes to advertise their wares could be useful, especially in a situation like a community Ripple network where it may be difficult to know what your Ripple credit can actually buy. Advertisements propagating through the network could leave (or accumulate as the case may be) "breadcrumbs" to indicate a payment route back to the seller.

As the network grows, users (and the network itself) might get inundated with broadcast advertisements, so there might be "channels" associated with each message, and users could subscribe to as many of their neighbors channels as they wanted. Channels would be like newsgroups -- anyone could create their own channels, but it would be easier to reach people through well-established appropriate channels.

Each advertisement would contain the seller's Ripple ID and a unique ad ID, and be broadcast on appropriate channels. A routing onion would be built by adding a layer each time an ad was relayed. A system similar to that used for path queries would be necessary to avoid loops, each node stamping its alias on the message, at least when it forks (and remembering the previous stamps otherwise if it decides not to stamp). Advertisements should specify a max price, and track available credit along their paths as they go. They may also track a reputation metric along the way as well, to give a potential buyer some information to work with.


One issue with only routing ads down links that subscribe to particular channels is that it may not reach all those who wish to see it. If we use cell structure routing, ads can be sent along the cell hierarchy and only broadcast internally to minimize traffic. Using the presumption that payments can be routed in similar fashion, the ads should only reach those that can find a path to the advertiser. Ads would be marked with categories not for routing, but for sorting for user consumption.