Blockchain-Based Federated Learning: Incentivizing Data Sharing and Penalizing Dishonest Behavior