-
Notifications
You must be signed in to change notification settings - Fork 9
Improve Routing Hops #178
Description
Routing Hops are currently 130 bytes on average. They each contain two publickeys (from, to) and a signature. The signature is generated using the to address and a piece of data associated with the transaction.
Optimizing the size of routing paths is important over the long-term given the number of transactions that will be included in blocks. One possible modification is removing the "from" publickey because it can be sourced from the "to" field of the previous routing hop. The first routing "from" address can be found as the sender of the first INPUT slip who would have needed to sign the transaction.
We can explore using a commutive encryption algorithm as well -- one where only a single signature is needed and that signature is generated and swapped-out as additional paths.
Possible savings are 33 bytes per routing hop, possibly the final "to" publickey as well (as the block creator will contain the publickey). And all but one signature, saving 64 bytes per block. Average data sizes per hop can be reduced considerably. This is well worth looking into once the software is up and operating reliably.