ID-based self-encryption via Hyperledger Fabric based smart contract