Hyperledger Fabric Roadmap(转发)
  iwbGD3gmtxyT 2023年11月02日 62 0

Original URL: https://wiki.hyperledger.org/pages/viewpage.action?pageId=2392087


The short term roadmap can be viewed as a list of GitHub issues with Epic label with more details presented as a Zenhub board. Typically Epics are created after an RFC is approved and merged.

The Hyperledger Fabric maintainers produce minor releases to deliver the release themes on the roadmap as they become ready. Other improvements and fixes are delivered as patch releases against the most recent long-term support release and latest release.

Longer term priorities that have not yet gone through the RFC process are discussed in the community and in contributor meetings, for example Fabric Strategic Priorities - 2021 discussion.

See prior release notes for release history and content. Prior release documentation can be found in the documentation links.


Current roadmap priorities

Fabric v2.5 (delivered March 2023)

Fabric v3.0

BFT Ordering Service

Changes, removals, deprecations for v3


  • Remove Kafka consensus
  • Remove orderer system channel
  • Remove legacy v1.x lifecycle
  • Switch to protocol buffers apiv2
  • Extract gossip, bccsp, etc to their own repository

Fabric v3.x potential items

  • Binary chaincode builder - replace default docker builder
  • Optimize block storage, e.g. de-duplication of certs
  • Replace Goleveldb with faster database
  • Validation/Commit path performance improvements
  • Orderer snapshots RFC - similar to peer snapshots introduced in v2.3
  • Block archive and prune - peer and orderer
  • SmartBFT - Add transaction pipeline support to improve the performance
  • Quantum safe crypto

Release agnostic items (not tied to a specific release)


v3.0.0-preview Release Notes - September 1, 2023

The v3.0.0-preview release is an early preview of Fabric v3.0, specifically to demonstrate and get feedback on the new Byzantine Fault Tolerant (BFT) ordering service.

v3.0.0-preview is not intended to be used in production and is not intended as an upgrade target from prior versions.

New features

Byzantine Fault Tolerant (BFT) ordering service

Hyperledger Fabric has utilized a Raft crash fault tolerant (CFT) ordering service since version v1.4.1.
A Byzantine Fault Tolerant (BFT) ordering service can withstand not only crash failures, but also a subset of nodes behaving maliciously.

Fabric v3.0.0-preview is the first release to provide a BFT ordering service based on the SmartBFT consensus library.
Consider using the BFT orderer if true decentralization is required, where up to and not including a third of the parties running the orderers may not be trusted due to malicious intent or being compromised.
For more details of the BFT ordering service and other recent features, see the What's New documentation.

Improvements and Fixes

All improvements and fixes as of v2.5.4 have also been included in v3.0.0-preview.

Dependencies

Fabric v3.0.0-preview has been tested with the following dependencies:


  • Go 1.20.7
  • CouchDB v3.3.2

Fabric docker images on dockerhub utilize Ubuntu 20.04.

Changes

Support for ordering service system channel has been removed!

v2.3 introduced the ability to manage an ordering service without a system channel.
Managing an ordering service without a system channel has privacy, scalability, and operational benefits.
The system channel is removed in Fabric v3.0, as well as the concept of a 'consortium' of organizations that can create channels.
If you used the system channel in prior releases, you must remove the system channel and migrate to the channel participation API before upgrading to v3.x.
For information about removal of the system channel, see the Create a channel without system channel documentation.

Support for 'Solo' consensus ordering service has been removed!

The 'Solo' consensus type was intended for test environments only in prior releases and has never been supported for production environments.
Support for 'Solo' consensus has been removed in Fabric v3.0.
For trial environments you can utilize a single node Raft ordering service as demonstrated in the test network tutorial.

Support for 'Kafka' consensus ordering service has been removed!

The 'Raft' consensus type was introduced in v1.4.1 and has become the preferred production consensus type.
Support for 'Kafka' consensus has been removed in Fabric v3.0.
If you used Kafka consensus in prior releases, you must migrate to Raft consensus prior to upgrading to v3.x.
For details about the migration process, see the Migrating from Kafka to Raft documentation.

Other changes planned for v3.0

Support for specifying orderer endpoints at the global level in channel configuration is deprecated and may be removed.

Utilize the new 'OrdererEndpoints' stanza within the channel configuration of an organization instead.
Configuring orderer endpoints at the organization level accommodates
scenarios where orderers are run by different organizations. Using
this configuration ensures that only the TLS CA certificates of that organization
are used for orderer communications; in contrast to the global channel level endpoints which
would cause an aggregation of all orderer TLS CA certificates across
all orderer organizations to be used for orderer communications.

Support for configtxgen flag --outputAnchorPeersUpdate is deprecated and may be removed.

The --outputAnchorPeersUpdate mechanism for updating anchor peers has always had
limitations (for instance, it only works the first time anchor peers are updated).
Instead, anchor peer updates should be performed through channel configuration updates.

The fabric-tools docker image is deprecated and may be removed

The fabric-tools docker image will not be published in future Fabric releases.Instead of using the fabric-tools docker image, users should utilize the
published Fabric binaries. The Fabric binaries can be used to make client callsto Fabric runtime components, regardless of where the Fabric components are running.

Block dissemination via gossip is deprecated and may be removed!

Block dissemination via gossip is deprecated and may be removed in a future release.
Fabric peers can be configured to receive blocks directly from an ordering servicenode, and not gossip blocks, by using the following configuration:

peer.gossip.orgLeader: true
peer.gossip.useLeaderElection: false
peer.gossip.state.enabled: false
peer.deliveryclient.blockGossipEnabled: false

Legacy chaincode lifecycle is deprecated and may be removed!

The legacy chaincode lifecycle from v1.x is deprecated and will be removed
in a future release. To prepare for the eventual removal, utilize the v2.x
chaincode lifecycle instead, by enabling V2_0 application capability on all
channels, and redeploying all chaincodes using the v2.x lifecycle. The new
chaincode lifecycle provides a more flexible and robust governance model
for chaincodes. For more details see the
documentation for enabling the new lifecycle.



References

https://www.meetup.com/hyperledger-kochi/events/295600137/

https://wiki.hyperledger.org/pages/viewpage.action?pageId=2392087

https://ieeexplore.ieee.org/document/9461099

https://newreleases.io/project/github/hyperledger/fabric/release/v3.0.0-preview

https://hyperledger-fabric.readthedocs.io/en/latest/orderer/ordering_service.html


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
iwbGD3gmtxyT