  In today's blockchain system, designing a secure and high throughput
blockchain on par with a centralized payment system is a difficult task.
Sharding is one of the most worthwhile emerging technologies for improving the
system throughput while maintain high security level. However, previous
sharding related designs have two main limitations: Firstly, the throughput of
their random-based sharding system is not high enough as they did not leverage
the heterogeneity among validators. Secondly, to design an incentive mechanism
to promote cooperation could incur a huge overhead on their system. In this
paper, we propose RepChain, a reputation-based secure and fast blockchain
system via sharding, which also provides high incentive to stimulate node
cooperation. RepChain utilizes reputation to explicitly characterize the
heterogeneity among the validators and lay the foundation for the incentive
mechanism. We propose a new double-chain architecture which includes
transaction chain and reputation chain. For transaction chain, a Raft-based
synchronous consensus that can achieve high throughput has been presented. For
reputation chain, the synchronous Byzantine fault tolerance that combines
collective signing has been utilized to achieve a consensus on both reputation
score and the related transaction blocks. It supports a high throughput
transaction chain with moderate generation speed. Moreover, we propose a
reputation-based sharding and leader selection scheme. To analyze the security
of RepChain, we propose a recursive formula to calculate the epoch security
within only O(km^2) time. Furthermore, we implement and evaluate RepChain on
the Amazon Web Service platform. The results show our solution can enhance both
throughout and security level of the existing sharding-based blockchain system.
