Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prevent validated transactions and blocks from being sent between peers #1868

Closed
mversic opened this issue Feb 4, 2022 · 1 comment
Closed
Assignees
Labels
iroha2-dev The re-implementation of a BFT hyperledger in RUST Security This issue asks for improved security

Comments

@mversic
Copy link
Contributor

mversic commented Feb 4, 2022

Transactions and blocks have lifecycles like:
Transaction -> AcceptedTransaction -> ValidTransaction
PendingBlock -> ChainedBlock -> ValidBlock

only Transaction and PendingBlock should be allowed to be sent between peers because invariants that are expected to hold true in later parts of the lifecycle cannot be guaranteed (there can be malicious nodes pretending to have performed validation). This means that transaction/block should traverse it's lifecycle only in the context of one peer

Currently, we do this by developers diligence but it would be better if we were to disable these programs from compiling. If there is a proposal or an idea on how to do this it should be discussed before implementation

@mversic mversic added iroha2-dev The re-implementation of a BFT hyperledger in RUST Security This issue asks for improved security labels Feb 4, 2022
@Arjentix
Copy link
Contributor

So for developer side we can have strongly typed functions.
For security we can allow to deserialize (decode) only PendingBlocks.
I can't see a big problem here

@Erigara Erigara self-assigned this Nov 17, 2022
Erigara added a commit to Erigara/iroha that referenced this issue Nov 18, 2022
…g sent between peers

Signed-off-by: Shanin Roman <shanin1000@yandex.ru>
Erigara added a commit to Erigara/iroha that referenced this issue Nov 22, 2022
…g sent between peers

Signed-off-by: Shanin Roman <shanin1000@yandex.ru>
Erigara added a commit to Erigara/iroha that referenced this issue Nov 22, 2022
…g sent between peers

Signed-off-by: Shanin Roman <shanin1000@yandex.ru>
Erigara added a commit to Erigara/iroha that referenced this issue Nov 22, 2022
…g sent between peers

Signed-off-by: Shanin Roman <shanin1000@yandex.ru>
Erigara added a commit to Erigara/iroha that referenced this issue Nov 23, 2022
…g sent between peers

Signed-off-by: Shanin Roman <shanin1000@yandex.ru>
Erigara added a commit to Erigara/iroha that referenced this issue Nov 23, 2022
…g sent between peers

Signed-off-by: Shanin Roman <shanin1000@yandex.ru>
Erigara added a commit that referenced this issue Nov 24, 2022
…een peers

Signed-off-by: Shanin Roman <shanin1000@yandex.ru>
@Erigara Erigara closed this as completed Dec 5, 2022
Arjentix pushed a commit to Arjentix/iroha that referenced this issue Dec 14, 2022
…g sent between peers

Signed-off-by: Shanin Roman <shanin1000@yandex.ru>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
iroha2-dev The re-implementation of a BFT hyperledger in RUST Security This issue asks for improved security
Projects
None yet
Development

No branches or pull requests

3 participants