A computer-implemented method of enabling users to access broadcasted messages using
blockchain transactions comprising: determining a set of users eligible to access a message; maintaining a key graph comprising a plurality of nodes representing keys, generating an encrypted message; determining a set of encrypted data items; obtaining a message transaction comprising: a respective input associated and signed by each respective user, a respective input associated with and signed by the
broadcasting party, a respective output associated with and locked to a respective public key of the respective user and / or a public key of the
broadcasting party, and a respective output comprising the set of encrypted data items; causing the message transaction to be submitted to a
blockchain network; and
broadcasting the encrypted message to at least the set of users.