From 3160fa1657c901ce5a8f936617ecac658dc186ac Mon Sep 17 00:00:00 2001 From: Sally MacFarlane Date: Mon, 25 Nov 2024 06:34:35 +1000 Subject: [PATCH] Privacy deprecation (#1730) * add deprecation warnings for privacy * add deprecation warnings for privacy plugin * add deprecation notice for privacy tutorials * adjusted deprecation message and added to how-to privacy pages Signed-off-by: Sally MacFarlane --------- Signed-off-by: Sally MacFarlane --- .../private-networks/concepts/privacy/flexible-privacy.md | 8 +++++++- docs/private-networks/concepts/privacy/index.md | 8 +++++++- docs/private-networks/concepts/privacy/multi-tenancy.md | 8 +++++++- docs/private-networks/concepts/privacy/plugin.md | 8 +++++++- docs/private-networks/concepts/privacy/privacy-groups.md | 8 +++++++- .../concepts/privacy/private-transactions/index.md | 8 +++++++- .../concepts/privacy/private-transactions/processing.md | 8 +++++++- docs/private-networks/how-to/monitor/quorum-hibernate.md | 8 +++++++- .../send-transactions/concurrent-private-transactions.md | 8 +++++++- .../how-to/send-transactions/private-transactions.md | 8 +++++++- .../how-to/use-privacy/access-private-transactions.md | 8 +++++++- docs/private-networks/how-to/use-privacy/besu-extended.md | 8 +++++++- docs/private-networks/how-to/use-privacy/eea-compliant.md | 8 +++++++- docs/private-networks/how-to/use-privacy/flexible.md | 8 +++++++- .../how-to/use-privacy/performance-best-practices.md | 8 +++++++- .../private-networks/how-to/use-privacy/privacy-groups.md | 8 +++++++- docs/private-networks/how-to/use-privacy/sign-pmts.md | 8 +++++++- docs/private-networks/how-to/use-privacy/tessera.md | 8 +++++++- docs/private-networks/how-to/use-privacy/web3js-quorum.md | 8 +++++++- docs/private-networks/index.md | 2 +- docs/private-networks/tutorials/privacy/index.md | 8 +++++++- docs/private-networks/tutorials/privacy/multi-tenancy.md | 8 +++++++- docs/private-networks/tutorials/privacy/quickstart.md | 8 +++++++- docs/private-networks/tutorials/privacy/web3js-quorum.md | 8 +++++++- 24 files changed, 162 insertions(+), 24 deletions(-) diff --git a/docs/private-networks/concepts/privacy/flexible-privacy.md b/docs/private-networks/concepts/privacy/flexible-privacy.md index 9c074524920..1162c2a3acf 100644 --- a/docs/private-networks/concepts/privacy/flexible-privacy.md +++ b/docs/private-networks/concepts/privacy/flexible-privacy.md @@ -4,7 +4,13 @@ sidebar_position: 3 description: Flexible privacy groups --- -# Flexible privacy groups +# Flexible privacy groups (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: Flexible [privacy groups](privacy-groups.md) use smart contracts to store and maintain the group membership. You can [add and remove members to and from flexible privacy groups](../../how-to/use-privacy/flexible.md). diff --git a/docs/private-networks/concepts/privacy/index.md b/docs/private-networks/concepts/privacy/index.md index 0888bbe40e3..7fe9f47bab2 100644 --- a/docs/private-networks/concepts/privacy/index.md +++ b/docs/private-networks/concepts/privacy/index.md @@ -4,7 +4,13 @@ sidebar_position: 1 description: Privacy --- -# Privacy +# Privacy (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: In Besu, privacy refers to the ability to keep transactions private between the involved participants. Other participants cannot access the transaction content or list of participants. diff --git a/docs/private-networks/concepts/privacy/multi-tenancy.md b/docs/private-networks/concepts/privacy/multi-tenancy.md index d04b9606eb8..49959053c5d 100644 --- a/docs/private-networks/concepts/privacy/multi-tenancy.md +++ b/docs/private-networks/concepts/privacy/multi-tenancy.md @@ -4,7 +4,13 @@ sidebar_position: 4 description: Multi-tenancy --- -# Multi-tenancy +# Multi-tenancy (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: By default, each participant in a privacy network uses its own Besu and Tessera node. diff --git a/docs/private-networks/concepts/privacy/plugin.md b/docs/private-networks/concepts/privacy/plugin.md index ce3f574068c..f1424d9f50b 100644 --- a/docs/private-networks/concepts/privacy/plugin.md +++ b/docs/private-networks/concepts/privacy/plugin.md @@ -4,7 +4,13 @@ description: Privacy plugin sidebar_position: 5 --- -# Privacy plugin +# Privacy plugin (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: You can define your own strategy for private transactions by building a plugin that extends Besu functionality. diff --git a/docs/private-networks/concepts/privacy/privacy-groups.md b/docs/private-networks/concepts/privacy/privacy-groups.md index 8521efe7810..e2a85b1cf89 100644 --- a/docs/private-networks/concepts/privacy/privacy-groups.md +++ b/docs/private-networks/concepts/privacy/privacy-groups.md @@ -4,7 +4,13 @@ sidebar_position: 2 description: Privacy groups --- -# Privacy groups +# Privacy groups (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: A privacy group is a group of nodes identified by a unique privacy group ID by Tessera. Tessera stores each private transaction with the privacy group ID. diff --git a/docs/private-networks/concepts/privacy/private-transactions/index.md b/docs/private-networks/concepts/privacy/private-transactions/index.md index 0571268b995..e817e3920f7 100644 --- a/docs/private-networks/concepts/privacy/private-transactions/index.md +++ b/docs/private-networks/concepts/privacy/private-transactions/index.md @@ -2,7 +2,13 @@ description: Private transaction overview --- -# Private transactions +# Private transactions (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: Private transactions have the same parameters as public Ethereum transactions, with the following additions: diff --git a/docs/private-networks/concepts/privacy/private-transactions/processing.md b/docs/private-networks/concepts/privacy/private-transactions/processing.md index 196f2b9e7e0..a55c9535212 100644 --- a/docs/private-networks/concepts/privacy/private-transactions/processing.md +++ b/docs/private-networks/concepts/privacy/private-transactions/processing.md @@ -4,7 +4,13 @@ sidebar_position: 1 description: Private transaction processing --- -# Private transaction processing +# Private transaction processing (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: Processing [private transactions](index.md) involves the following: diff --git a/docs/private-networks/how-to/monitor/quorum-hibernate.md b/docs/private-networks/how-to/monitor/quorum-hibernate.md index 9eb390e4e5c..ef271456fa4 100644 --- a/docs/private-networks/how-to/monitor/quorum-hibernate.md +++ b/docs/private-networks/how-to/monitor/quorum-hibernate.md @@ -6,7 +6,13 @@ tags: - private networks --- -# Use Quorum Hibernate +# Use Quorum Hibernate (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: [Quorum Hibernate] is a proxy that monitors a node's API traffic and hibernates the node when inactive. This reduces infrastructure costs by ensuring only nodes receiving API requests or nodes required to establish consensus are running. diff --git a/docs/private-networks/how-to/send-transactions/concurrent-private-transactions.md b/docs/private-networks/how-to/send-transactions/concurrent-private-transactions.md index b14ca734c72..765d89b9a26 100644 --- a/docs/private-networks/how-to/send-transactions/concurrent-private-transactions.md +++ b/docs/private-networks/how-to/send-transactions/concurrent-private-transactions.md @@ -6,7 +6,13 @@ tags: - private networks --- -# Send concurrent private transactions +# Send concurrent private transactions (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: Private transaction processing involves two transactions, the private transaction and the [privacy marker transaction (PMT)](../../concepts/privacy/private-transactions/processing.md). The private transaction and the PMT each have their own [nonce](../../concepts/privacy/private-transactions/index.md#nonces). diff --git a/docs/private-networks/how-to/send-transactions/private-transactions.md b/docs/private-networks/how-to/send-transactions/private-transactions.md index 92f1d2a62a5..e67273c2fcf 100644 --- a/docs/private-networks/how-to/send-transactions/private-transactions.md +++ b/docs/private-networks/how-to/send-transactions/private-transactions.md @@ -6,7 +6,13 @@ tags: - private networks --- -# Create and send private transactions +# Create and send private transactions (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: Create and send [private transactions](../../concepts/privacy/index.md) using: diff --git a/docs/private-networks/how-to/use-privacy/access-private-transactions.md b/docs/private-networks/how-to/use-privacy/access-private-transactions.md index fa0e1e0a94c..c2b92771e1c 100644 --- a/docs/private-networks/how-to/use-privacy/access-private-transactions.md +++ b/docs/private-networks/how-to/use-privacy/access-private-transactions.md @@ -6,7 +6,13 @@ tags: - private networks --- -# Access private and privacy marker transactions +# Access private and privacy marker transactions (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: A Besu private transaction creates a [privacy marker transaction](../../concepts/privacy/private-transactions/processing.md) and the private transaction itself. diff --git a/docs/private-networks/how-to/use-privacy/besu-extended.md b/docs/private-networks/how-to/use-privacy/besu-extended.md index 4fb896542de..0731095381e 100644 --- a/docs/private-networks/how-to/use-privacy/besu-extended.md +++ b/docs/private-networks/how-to/use-privacy/besu-extended.md @@ -6,7 +6,13 @@ tags: - private networks --- -# Use Besu-extended privacy +# Use Besu-extended privacy (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: Besu provides an extended implementation of privacy allowing you to [create a privacy group for a set of participants](../../concepts/privacy/privacy-groups.md). You must specify the privacy group ID when sending private transactions. diff --git a/docs/private-networks/how-to/use-privacy/eea-compliant.md b/docs/private-networks/how-to/use-privacy/eea-compliant.md index 67ec058f0de..8eef82b5bd2 100644 --- a/docs/private-networks/how-to/use-privacy/eea-compliant.md +++ b/docs/private-networks/how-to/use-privacy/eea-compliant.md @@ -6,7 +6,13 @@ tags: - private networks --- -# Use EEA-compliant privacy +# Use EEA-compliant privacy (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: When using Besu [EEA-compliant privacy](../../concepts/privacy/privacy-groups.md), the group of nodes specified by `privateFrom` and `privateFor` form a privacy group, to which Tessera assigns a unique privacy group ID. diff --git a/docs/private-networks/how-to/use-privacy/flexible.md b/docs/private-networks/how-to/use-privacy/flexible.md index abf1892732b..c787822e9da 100644 --- a/docs/private-networks/how-to/use-privacy/flexible.md +++ b/docs/private-networks/how-to/use-privacy/flexible.md @@ -6,7 +6,13 @@ tags: - private networks --- -# Use flexible privacy groups +# Use flexible privacy groups (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: Use the [`web3js-quorum` library](https://github.com/ConsenSys/web3js-quorum) to create and update membership of [flexible privacy groups](../../concepts/privacy/flexible-privacy.md). diff --git a/docs/private-networks/how-to/use-privacy/performance-best-practices.md b/docs/private-networks/how-to/use-privacy/performance-best-practices.md index e75cfabc2c7..55e7df8377f 100644 --- a/docs/private-networks/how-to/use-privacy/performance-best-practices.md +++ b/docs/private-networks/how-to/use-privacy/performance-best-practices.md @@ -6,7 +6,13 @@ tags: - private networks --- -# Performance best practices +# Privacy performance best practices (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: This document collects deployment and usage tips to help you achieve high performance for private transactions. If transaction throughput or latency is not meeting your expectations, please consider the following before raising an issue. diff --git a/docs/private-networks/how-to/use-privacy/privacy-groups.md b/docs/private-networks/how-to/use-privacy/privacy-groups.md index 887d84cd53b..34ecf2ad94c 100644 --- a/docs/private-networks/how-to/use-privacy/privacy-groups.md +++ b/docs/private-networks/how-to/use-privacy/privacy-groups.md @@ -6,7 +6,13 @@ tags: - private networks --- -# Create and manage privacy groups +# Create and manage privacy groups (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: Besu-extended privacy provides JSON-RPC API methods for creating and managing privacy groups: diff --git a/docs/private-networks/how-to/use-privacy/sign-pmts.md b/docs/private-networks/how-to/use-privacy/sign-pmts.md index 1dea1b4ff63..9dbe134446c 100644 --- a/docs/private-networks/how-to/use-privacy/sign-pmts.md +++ b/docs/private-networks/how-to/use-privacy/sign-pmts.md @@ -6,7 +6,13 @@ tags: - private networks --- -# Sign privacy marker transactions +# Sign privacy marker transactions (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: You can sign privacy marker transactions (PMTs) with either a random key or a specified key. To sign privacy marker transactions with a specified private key, use [`--privacy-marker-transaction-signing-key-file`](../../reference/cli/options.md#privacy-marker-transaction-signing-key-file) when starting Besu. diff --git a/docs/private-networks/how-to/use-privacy/tessera.md b/docs/private-networks/how-to/use-privacy/tessera.md index adf67093c9f..47f1210173c 100644 --- a/docs/private-networks/how-to/use-privacy/tessera.md +++ b/docs/private-networks/how-to/use-privacy/tessera.md @@ -6,7 +6,13 @@ tags: - private networks --- -# Run Tessera with Besu +# Run Tessera with Besu (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: To enable [privacy functionality](../../concepts/privacy/index.md) in production systems, [Tessera](https://docs.tessera.consensys.net/) must be [highly available](#high-availability) and [run in a separate instance](#separate-instances) to Besu. diff --git a/docs/private-networks/how-to/use-privacy/web3js-quorum.md b/docs/private-networks/how-to/use-privacy/web3js-quorum.md index b3a83f2ec31..c9910cc51f6 100644 --- a/docs/private-networks/how-to/use-privacy/web3js-quorum.md +++ b/docs/private-networks/how-to/use-privacy/web3js-quorum.md @@ -9,7 +9,13 @@ tags: import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Use the web3js-quorum client library +# Use the web3js-quorum client library (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: [web3js-quorum](https://github.com/ConsenSys/web3js-quorum) is an Ethereum JavaScript library extending [web3.js](https://github.com/ethereum/web3.js/) that adds support for Besu-specific JSON-RPC APIs and features. Use the library to create and send RLP-encoded transactions using JSON-RPC. diff --git a/docs/private-networks/index.md b/docs/private-networks/index.md index 1f23e1a2d0f..1f2c0b7bd90 100644 --- a/docs/private-networks/index.md +++ b/docs/private-networks/index.md @@ -12,7 +12,7 @@ tags: You can use Besu to develop enterprise applications requiring secure, high-performance transaction processing in a private network. -A private network is a network not connected to Ethereum Mainnet or an Ethereum testnet. Private networks typically use a different [chain ID](../public-networks/concepts/network-and-chain-id.md) and proof of authority consensus ([QBFT](how-to/configure/consensus/qbft.md), [IBFT 2.0](how-to/configure/consensus/ibft.md), or [Clique](how-to/configure/consensus/clique.md)). +A private (also known as permissioned) network is a network not connected to Ethereum Mainnet or an Ethereum testnet. Private networks typically use a different [chain ID](../public-networks/concepts/network-and-chain-id.md) and proof of authority consensus ([QBFT](how-to/configure/consensus/qbft.md), [IBFT 2.0](how-to/configure/consensus/ibft.md), or [Clique](how-to/configure/consensus/clique.md)). You can also [create a local development network](tutorials/ethash.md) using proof of work (Ethash). diff --git a/docs/private-networks/tutorials/privacy/index.md b/docs/private-networks/tutorials/privacy/index.md index 4f57937691b..2977d778415 100644 --- a/docs/private-networks/tutorials/privacy/index.md +++ b/docs/private-networks/tutorials/privacy/index.md @@ -9,7 +9,13 @@ tags: import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Create a privacy-enabled network +# Create a privacy-enabled network (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: Configuring a network that supports private transactions requires starting a [Tessera] node for each Besu node. Besu command line options associate the Besu node with the Tessera node. diff --git a/docs/private-networks/tutorials/privacy/multi-tenancy.md b/docs/private-networks/tutorials/privacy/multi-tenancy.md index 7db1a5101df..4afb36dccf0 100644 --- a/docs/private-networks/tutorials/privacy/multi-tenancy.md +++ b/docs/private-networks/tutorials/privacy/multi-tenancy.md @@ -6,7 +6,13 @@ tags: - private networks --- -# Configure a multi-tenant node +# Configure a multi-tenant node (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: You can configure Besu and associated Tessera node in a privacy-enabled network to host [multiple tenants](../../concepts/privacy/multi-tenancy.md). diff --git a/docs/private-networks/tutorials/privacy/quickstart.md b/docs/private-networks/tutorials/privacy/quickstart.md index d01bc599ffa..980ee6cfc92 100644 --- a/docs/private-networks/tutorials/privacy/quickstart.md +++ b/docs/private-networks/tutorials/privacy/quickstart.md @@ -4,7 +4,13 @@ tags: - private networks --- -# Create a privacy-enabled network using the Quorum Developer Quickstart +# Create a privacy-enabled network using the Quorum Developer Quickstart (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: You can create a privacy-enabled network using the [Quorum Developer Quickstart](../quickstart.md). It runs a private Besu network that uses [Tessera](https://docs.tessera.consensys.net/en/stable/) as its private transaction manager. diff --git a/docs/private-networks/tutorials/privacy/web3js-quorum.md b/docs/private-networks/tutorials/privacy/web3js-quorum.md index b008bae0a56..36362926581 100644 --- a/docs/private-networks/tutorials/privacy/web3js-quorum.md +++ b/docs/private-networks/tutorials/privacy/web3js-quorum.md @@ -6,7 +6,13 @@ tags: - private networks --- -# Use the multi-node example in the web3js-quorum client library +# Use the multi-node example in the web3js-quorum client library (Deprecated) + +:::caution + +Tessera-based privacy is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +::: To use the examples provided in the web3js-quorum library with [your privacy network](index.md):