多项选择题

在区块链的数据层中,哪些元素是关键的组成部分()

A.区块头
B.区块体
C.加密算法
D.共识机制
E.智能合约