Skip to content
This repository has been archived by the owner on Jun 7, 2023. It is now read-only.

RFC: trits-t9b2 encoding #8

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Conversation

Alex6323
Copy link
Contributor

@Alex6323 Alex6323 commented Sep 20, 2019


# Summary

This feature introduces a special trits encoding to Bee that might be referred to as `9trits/2bytes`, `9t/2b`, or simply `9/2`, or maybe even `4.5trits/byte` encoding. In comparison there is the `10trits/2bytes`, `10t/2b`, or `5trits/byte`, or just `10/2` alternative encoding which is currently used in IOTAs reference implementation IRI. In contrast to that the `9/2` encoding is less memory/bandwidth efficient, but on the other hand is more optimized for byte-wise data processing. This encoding was successfully used already in the Ict node software which was intended to be able to run on weaker devices like Raspberry Pis which is also a primary objective for the Bee node framework. It can be expected that this encoding will positively affect a node's performance by:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, we really need to come up with better naming method for this. Vlad has a rule for this which is TE. So TE1 means 1 trit per byte, TE5 mean 5 trits per byte. What do you think.


TODO: FINISH THIS SECTION

**Example transaction implementation based on 9/2 encoding**: This example assumes that a trivial trimming algorithm is used that only trims the 0 bytes from the signature message fragment.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really appreciate the example. We may also need to know what basic data structure looks like (maybe like #5 )


# Unresolved questions

TODO
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you provide how to interact with hashing? Like could it do operations directly or need some conversions.

@thibault-martinez
Copy link
Member

Can you add a paragraph on how conversion from/to raw trits would work ?

@Alex6323 Alex6323 changed the title RFC: '9trits per 2bytes' encoding for Bee RFC: 9trits per 2bytes encoding Sep 27, 2019
@Alex6323 Alex6323 changed the title RFC: 9trits per 2bytes encoding RFC: trits-t9b2 encoding Sep 27, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants