OneKey-Network / addressability-framework

Apache License 2.0
4 stars 2 forks source link

Improve efficiency, multi-implementation support, and future proofing #197

Open jwrosewell opened 2 years ago

jwrosewell commented 2 years ago

Optimises the none RTB data model to reduce the number of bytes needed when performing crypto graphic operations thus improving overall performance and efficiency of the solution. Additional changes address future proofing issues or multi-implementation complexity with the current design.

The changes here fully address issues #264, #194, #193, #184, #179.

These changes relate to #139.

The changes to reduce the bytes needed for signing are:

Other changes are:

Considerations:

A concrete implementation of these changes can be found on the SWAN go repository - https://github.com/SWAN-community/swan-go/tree/feature/ok-refact which is currently being refactored to support a hybrid addressability framework that would include these efficiency and future proofing improvements ahead of live deployments.

jwrosewell commented 2 years ago

@OlivierChirouze @RomainLofaso @broggeri @BasileLeparmentier - I see other PRs are being approved which over time will impact this one and make integration harder. Is there any chance of initial review this week?

jwrosewell commented 2 years ago

@OlivierChirouze @broggeri @RomainLofaso @BasileLeparmentier To update you on progress we have now made the entities needed to support this direction available on the SWAN-Community organization. We'd like to progress this PR here to ensure efficiency, performance, and consistency of approach across multiple implementations.

I believe the classes will fit neatly into the OneKey implementation should others wish to use them. Specifically, the tight coupling of the signing and verification logic, and the different entities. The approach also aligns very well to other programming languages include Go, C#, and Java.

These classes are the basis of the code used in https://preference.express which is progressing to trials.

Adding @bwschmidt in case there is additional interest in reviewing/commenting.