A Definition of Blockchain