Blockchain protocol engineering and research