A computer-implemented method comprising: computing a first shared key (410; A; 710) using a key associated with a first entity (402; 604; 702; 904; 1004) and a first key associated with an exchange platform (408; 602; 704; 902; 1002); causing a first blockchain transaction (412; 618) to be recorded to a blockchain (416; 620) by at least: generating the first blockchain transaction (412; 618) to be unlockable by any computer system having access to the first shared key (410; A); and broadcasting the first blockchain transaction (412; 618) to a blockchain network (416; 620); and causing a second blockchain transaction to be recorded to the blockchain (416; 620) by at least: computing a second key associated with the exchange platform (408; 602; 704; 902; 1002) using a key associated with a second entity (714; 906; 1006) such that: the key associated with the first entity (402; 604; 702; 904; 1004) becomes invalid; and a second shared key is computed from the key associated with the second entity (714; 904; 1006) and the second key associated with the exchange platform (408; 602; 704; 902; 1002) and is equal to the first shared key; and replacing the first key associated with the exchange platform (408; 602; 704; 902; 1002) with the second key associated with the exchange platform (408; 602; 704; 902; 1002). causing a first blockchain transaction (412; 618) to be recorded to a blockchain (416; 620) by at least: generating the first blockchain transaction (412; 618) to be unlockable by any computer system having access to the first shared key (410; A); and broadcasting the first blockchain transaction (412; 618) to a blockchain network (416; 620); and generating the first blockchain transaction (412; 618) to be unlockable by any computer system having access to the first shared key (410; A); and broadcasting the first blockchain transaction (412; 618) to a blockchain network (416; 620); and causing a second blockchain transaction to be recorded to the blockchain (416; 620) by at least: computing a second key associated with the exchange platform (408; 602; 704; 902; 1002) using a key associated with a second entity (714; 906; 1006) such that: the key associated with the first entity (402; 604; 702; 904; 1004) becomes invalid; and a second shared key is computed from the key associated with the second entity (714; 904; 1006) and the second key associated with the exchange platform (408; 602; 704; 902; 1002) and is equal to the first shared key; and replacing the first key associated with the exchange platform (408; 602; 704; 902; 1002) with the second key associated with the exchange platform (408; 602; 704; 902; 1002). computing a second key associated with the exchange platform (408; 602; 704; 902; 1002) using a key associated with a second entity (714; 906; 1006) such that: the key associated with the first entity (402; 604; 702; 904; 1004) becomes invalid; and a second shared key is computed from the key associated with the second entity (714; 904; 1006) and the second key associated with the exchange platform (408; 602; 704; 902; 1002) and is equal to the first shared key; and the key associated with the first entity (402; 604; 702; 904; 1004) becomes invalid; and a second shared key is computed from the key associated with the second entity (714; 904; 1006) and the second key associated with the exchange platform (408; 602; 704; 902; 1002) and is equal to the first shared key; and replacing the first key associated with the exchange platform (408; 602; 704; 902; 1002) with the second key associated with the exchange platform (408; 602; 704; 902; 1002).