diff --git a/CHANGELOG.md b/CHANGELOG.md index 145962c28..dc66f4b11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,15 +15,22 @@ - [Fast sync when running Besu on cloud providers](KNOWN_ISSUES.md#fast-sync-when-running-besu-on-cloud-providers) - [Privacy users with private transactions created using v1.3.4 or earlier](KNOWN_ISSUES.md#privacy-users-with-private-transactions-created-using-v134-or-earlier) - [Permissioning issues on Kubernetes](KNOWN_ISSUES.md#Kubernetes-permissioning-uses-Service-IPs-rather-than-pod-IPs-which-can-fail) -- [Restarts caused by insufficient memory can cause inconsistent private state](KNOWN_ISSUES.md#Restart-caused-by-insufficient-memory-can-cause-inconsistent-private-state) +- [Changes not saved to database correctly causing inconsistent private states](KNOWN_ISSUES.md#Changes-not-saved-to-database-correctly-causing-inconsistent-private-states) -### Breaking Changes +### Breaking Change to Onchain Privacy Group Management -When upgrading to 1.5.3, ensure you've taken into account the following breaking changes. +This [early access feature](https://besu.hyperledger.org/en/stable/Concepts/Privacy/Onchain-PrivacyGroups/) was +changed in a way that makes onchain privacy groups created with previous versions no longer usable. -#### Onchain Privacy Group Management +To enhance control over permissions on the privacy group management contract: -This early access feature was changed in a way that makes onchain privacy groups created with previous versions no longer usable. +* The enclave key was removed as the first parameter for `addParticipant` and `removeParticipant`. +* The owner of the privacy group management contract is the signer of the private transaction that creates + the privacy group. In the default onchain privacy group management contract implementation, only the + owner can add and remove participants, and upgrade the management contract. + +The onchain privacy support in the current version of the web3js-eea library (v0.9) will not be compatible +with Besu v1.5.3. We are actively working on an upgrade to webj3-eea that will support these changes. ## 1.5.2 diff --git a/KNOWN_ISSUES.md b/KNOWN_ISSUES.md index 672281faf..5b7825197 100644 --- a/KNOWN_ISSUES.md +++ b/KNOWN_ISSUES.md @@ -55,10 +55,13 @@ Workaround -> Do not use permissioning with Kubernetes. A fix for this issue is being actively worked on. -## Restart caused by insufficient memory can cause inconsistent private state +## Changes not saved to database correctly causing inconsistent private states -While running reorg testing on Besu and Orion, insufficient memory caused Besu to restart, resulting in the state on that machine to become inconsistent with the rest of the members of the privacy group. +While running reorg testing on Besu and Orion, inconsistent private states were observed in some long running tests +when state changes were not saved to the database correctly when executing the private transaction. -Workaround -> Ensure you allocate enough memory for the Java Runtime Environment that the node does not run out of memory. +Workaround -> As the private transaction payloads have all been distributed and the privacy marker +transactions included in the chain, resynchronizing the node with an inconsistent state will re-execute +the private transactions. A fix for this issue is being actively worked on.