Author: Gregory Maxwell 2015-01-23 18:51:06
Published on: 2015-01-23T18:51:06+00:00
In this conversation, the topic being discussed is the limitations of memory in the embedded world and how it affects TREZOR. The sender, slush, mentions that dynamic memory allocation should be avoided along with any artificial restrictions to the number of inputs or outputs. Although the current solution may be slow, there are no limitations on transaction size. In the embedded world, there are significant restrictions to memory which is why TREZOR uses a powerful and expensive MCU to perform validations and calculate hashes. The recipient of the message expresses familiarity with embedded development and is surprised by the numbers presented. They understand that streaming the transaction along with its inputs interleaved reduces the memory requirement to two midstates and a value accumulator. However, resending the transaction may be required if a table is not used to avoid retransmitting reused transactions. In the worst-case scenario where 800 inputs spending from 100kb input transactions are sent, about 800MB of data may need to be sent which could take half an hour if hashing runs at 45KB/s or slower. Overall, the conversation highlights the challenges of working with limited memory in the embedded world and how it affects the capabilities of hardware like TREZOR.
Updated on: 2023-05-19T19:47:17.847839+00:00