Public versus private and permissioned versus permissionless blockchains