-
Notifications
You must be signed in to change notification settings - Fork 16
RFC: trits-t1b1
encoding
#14
base: master
Are you sure you want to change the base?
Conversation
|
||
# Motivation | ||
|
||
This encoding of sequences of balanced trits is necessary for the `Curl` hash function and therefore still necessary to allow for the Bee framework to interoperate with the current IOTA mainnet. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Curl
can be implemented using a more efficient encoding (64 trits per two 64-bit words). This way memory footprint can be reduced by a factor of 4. When pointer arithmetic is used to access words of Curl
state (instead of LUT
) then the memory footprint reduces additionally be a factor of 4/3. All in all, optimizing of Curl
is worth investigating.
So, it's not a very convincing argument that "balanced trits is necessary for the Curl
". Maybe we should talk about Curl
-compliant encoding?
t1b1
however is the simplest encoding that could be very useful for tests, to compare invariants when other encodings are used to perform the same trits transformation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not if we actually do a difference between Curl
and PCurl
. Per se Curl
is the one operating on T1B1
while PCurl
accepts different encodings. It is briefly mentioned in the base RFC here https://github.com/iotaledger/bee-rfcs/pull/10/files#diff-b075c83057cb59013a66d6ee87aa3986R31.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yea, I know of BCT-Curl. There is already a Rust port of it btw. But can we use it as a full replacement for Standard-Curl? Or putting this question differently: Is there really no other usecase for T1B1
other than tests, debugging, ....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think for single hashing Curl
is faster than PCurl
because of all the overhead it has. Also, almost all prototyping is done with T1B1
.
Rendered