Skip to content

Conversation

@matthew1001
Copy link
Contributor

@matthew1001 matthew1001 commented Mar 3, 2025

PR description

As part of Besu's enterprise roadmap and in support of making Besu more modular and composable, private transaction features are being removed as complimentary projects such as Paladin gain traction as privacy solutions for Besu and other EVMs.

This PR removes the previous private transaction management feature including support for Tessera.

Known TODOs:

  • Make Besu tolerant of private transactions in historic blocks, but don't attempt to execute them
    • We have tested this with historic blocks containing PMTs, both with block import and syncing with nodes
    • One thing the PR adds is @JsonIgnoreProperties({"privacyVersion"}) for MetadataV2 so a user with privacyVersion in their database metadata file doesn't need to manually edit it to start the node.

Summary of tests carried out with existing PMT transactions after upgrading to non-privacy version of Besu:

  • Upgrade/replace a privacy-enabled validator node with privacy-removed besu on existing chain with PMTs (keep data folder intact)
    • Starts and ignores existing privacyVersion field in DB metadata file
  • Upgrade a privacy-disabled validator node with privacy-removed besu on existing chain with PMTs (keep data folder intact)
    • Comes up with no issues and continues to mine
  • Add a new privacy-removed non-validator node on existing chain with PMTs
    • Syncs fine

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
@matthew1001 matthew1001 force-pushed the remove-privacy branch 8 times, most recently from 9ccad1d to e5b4567 Compare March 4, 2025 15:12
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
@macfarla
Copy link
Contributor

macfarla commented Mar 6, 2025

started 3 mainnet nodes (2 checkpoint and 1 snap) off this branch, and 2 control nodes off latest main, all bonsai

  • vm_name: dev-elc-bu-nb-mainnet-rm-privacy-test-1
  • vm_name: dev-elc-bu-nb-mainnet-rm-privacy-test-2
  • vm_name: dev-elc-bu-nb-mainnet-rm-privacy-test-3
  • vm_name: dev-elc-bu-nb-mainnet-rm-privacy-control-1
  • vm_name: dev-elc-bu-nb-mainnet-rm-privacy-control-2

@matthew1001 matthew1001 changed the title Remove privacy Removing private transaction management features Mar 7, 2025
@macfarla
Copy link
Contributor

remove privacy branch looks to have similar behaviour to main when it comes to syncing mainnet so think we can say it's safe to make the change.
Screenshot 2025-03-12 at 4 45 36 pm

@macfarla macfarla added the breaking This can only be addressed/merged for a release that allows user-facing changes to be breaking. label Mar 26, 2025
matthew1001 and others added 6 commits April 14, 2025 13:23
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
…terface

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
@matthew1001 matthew1001 marked this pull request as ready for review April 17, 2025 14:27
matthew1001 and others added 4 commits April 17, 2025 15:32
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
@matthew1001 matthew1001 added the doc-change-required Indicates an issue or PR that requires doc to be updated label Apr 22, 2025
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
@alexandratran alexandratran removed the doc-change-required Indicates an issue or PR that requires doc to be updated label May 19, 2025
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew.whitehead@kaleido.io>
@matthew1001 matthew1001 enabled auto-merge (squash) May 28, 2025 07:56
@matthew1001 matthew1001 merged commit 9ebf356 into hyperledger:main May 28, 2025
48 checks passed
@macfarla macfarla added the privacy private transactions label Jul 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking This can only be addressed/merged for a release that allows user-facing changes to be breaking. privacy private transactions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants