Address book replication on client side

Ideea… can’t customer store a copy of the address book for his pieces, on it’s machine, and request the pieces directly, without asking the satellite?
Asks only if the pieces needed repair from the last copy of the address book, and if any nodes changed their IP.
Or some sort of caching for the address of frequently accessed pieces?
@BrightSilence I didn’t found a better title. :grin:

You could delete your previous post from other thread so there is no duplication.

1 Like

Storj couldn’t charge the customer for egress… I guess they don’t like that idea. :wink:

1 Like

Exactly, and if Satellite doesn’t track customers downloads, nodes can’t be paid for the egress…

Isn’t this tracked by nodes? I didn’t realised it’s tracked by satellites. Or is it?
The data flows from nodes to clients peer-to-peer. So who does the tracking?

1 Like

The node will still send bandwidth orders to the satellite to get paid. This is also used to charge customers. So that won’t ve an issue.

There might be an issue with bandwidth allocation tracking, which is what’s shown in the graphs before finalized orders are available.

Some form of piece metadata replication or caching could possibly work to speed up downloads. But it’s complicated for uploads as you still need the satellite for node selection.

1 Like

Nodes verify whether download requests are digitally signed by a satellite. This is for many reasons, for example this is the only way to enforce ACLs, or that the client actually has funds to pay for this download.

2 Likes

It’s working differently. The customer places a signed by the satellite and libuplink orders on the nodes to download pieces from them, when they finish or cancel - the node will submit the signed by the node order with the actually used egress to the satellite and the customer would be billed on that amount and the node will be rewarded on that amount.
See

and

So, getting a payment from the customer for the used egress is not an issue, as confirmed by several people above.

The real issue is clearly described by @Toyoo - this order must be signed by the satellite too, to apply ACL and enforce limits.
See

@snorkel The satellite uses cache for the nodes selection, so I do not know, what issue do you want to solve?