BLOCKCHAIN AND SMART CONTRACTS