Performance Characterization and Bottleneck Analysis of Hyperledger Fabric