A method comprising: receiving encrypted context data collected by one or more sensors from one or more user devices including one or more trapdoors associated with one or more keywords; receiving advertisement information from one or more advertiser devices including a searchable encryption; determining an advertisement to be provided to a first user device by a matchmaking transaction based upon the encrypted context data of the first user device and the advertisement information; and causing the advertisement to be provided to the first user device, the method further comprising conflict detection following updates to a first table comprising the encrypted context data and to a second table comprising the advertisement information, comprising: in response to determining that the encrypted context data of the first user device is updated while the matchmaking transaction is ongoing and prior to causing the advertisement to be provided to the first user device, updating the first table and aborting provision of the advertisement to the first user device, or in response to determining that the advertisement information has been updated prior to causing the advertisement to be provided to the first user device, determining whether the advertisement to be provided to the first user device was updated; and aborting provision of the advertisement to the first user device in an instance in which the advertisement to be provided to the first user device was updated. receiving encrypted context data collected by one or more sensors from one or more user devices including one or more trapdoors associated with one or more keywords; receiving advertisement information from one or more advertiser devices including a searchable encryption; determining an advertisement to be provided to a first user device by a matchmaking transaction based upon the encrypted context data of the first user device and the advertisement information; and causing the advertisement to be provided to the first user device, the method further comprising conflict detection following updates to a first table comprising the encrypted context data and to a second table comprising the advertisement information, comprising: in response to determining that the encrypted context data of the first user device is updated while the matchmaking transaction is ongoing and prior to causing the advertisement to be provided to the first user device, updating the first table and aborting provision of the advertisement to the first user device, or in response to determining that the advertisement information has been updated prior to causing the advertisement to be provided to the first user device, determining whether the advertisement to be provided to the first user device was updated; and aborting provision of the advertisement to the first user device in an instance in which the advertisement to be provided to the first user device was updated. in response to determining that the encrypted context data of the first user device is updated while the matchmaking transaction is ongoing and prior to causing the advertisement to be provided to the first user device, updating the first table and aborting provision of the advertisement to the first user device, or in response to determining that the advertisement information has been updated prior to causing the advertisement to be provided to the first user device, determining whether the advertisement to be provided to the first user device was updated; and aborting provision of the advertisement to the first user device in an instance in which the advertisement to be provided to the first user device was updated.