Section V: Permissioned Chains
April 9, 2026
| Permissioned concept | Fabric term | Purpose in Fabric |
|---|---|---|
| Identity and membership | Certificate Authority plus Membership Service Provider (MSP) | Establish trusted identities and define whose signatures count |
| Transaction approval policy | Endorsement policy | Specify which organizations must approve a transaction |
| Ordering service | Orderer cluster | Produce one agreed transaction order |
| Shared ledger history | Block log plus current-value snapshot | Preserve accepted history while supporting efficient reads |
| Governance and admin control | Channel configuration plus chaincode lifecycle policies | Control membership, upgrades, and administrative changes |
Enrollment and registration commands create identities through the CA.
Channel configuration defines which organizations exist on that channel and which MSPs their signatures must satisfy.
Endorsement policies are typically set as part of the chaincode definition committed to a channel.
InitLedger, CreateAsset, ReadAsset, TransferAssetCreateAssetasync CreateAsset(ctx, id, color, size, owner, appraisedValue) {
const exists = await this.AssetExists(ctx, id);
if (exists) {
throw new Error(`The asset ${id} already exists`);
}
const asset = {
ID: id,
Color: color,
Size: Number(size),
Owner: owner,
AppraisedValue: Number(appraisedValue),
};
await this._saveAsset(ctx, asset);
await ctx.stub.setEvent('CAR_LISTED', Buffer.from(JSON.stringify(asset)));
return JSON.stringify(asset);
}
Hyperledger Fabric — Army Cyber Institute — April 9, 2026