A computing device, comprising: a communications interface configured to communicatively couple the computing device with a plurality of other computing devices (100B, 100C) over a network, the plurality of computing devices collectively maintaining a blockchain; a storage machine holding a plurality of blocks (202A, 202B, 202C) comprising the blockchain, where a particular block of the plurality defines a smart contract that includes: (i) a first access criterion granted to an entity for a digital asset, and (ii) one or more functions that, when an associated condition is satisfied, change the first access criterion to a second access criterion, the condition being satisfied when one or more variables have specified values; and a logic machine configured to: receive a current value of a variable; determine that the current value of the variable satisfies the associated condition; and based on the one or more functions, transmit a request to the plurality of computing devices to update the first access criterion to the second access criterion; wherein when the associated condition is satisfied, the smart contract performs at least one of: expanding access to the digital asset by the entity; granting access to the digital asset to another entity; and constraining access to the digital asset by the entity; via the communications interface, receive a proposed update to the blockchain that includes a new block defining the second access criterion; evaluate the proposed update to the blockchain according to a consensus mechanism; and after determining that the proposed update complies with the consensus mechanism, incorporate the new block into the blockchain, where the blockchain maintains the particular block defining the first access criterion and the new block defining the second access criterion. a communications interface configured to communicatively couple the computing device with a plurality of other computing devices (100B, 100C) over a network, the plurality of computing devices collectively maintaining a blockchain; a storage machine holding a plurality of blocks (202A, 202B, 202C) comprising the blockchain, where a particular block of the plurality defines a smart contract that includes: (i) a first access criterion granted to an entity for a digital asset, and (ii) one or more functions that, when an associated condition is satisfied, change the first access criterion to a second access criterion, the condition being satisfied when one or more variables have specified values; and a logic machine configured to: receive a current value of a variable; determine that the current value of the variable satisfies the associated condition; and based on the one or more functions, transmit a request to the plurality of computing devices to update the first access criterion to the second access criterion; wherein when the associated condition is satisfied, the smart contract performs at least one of: expanding access to the digital asset by the entity; granting access to the digital asset to another entity; and constraining access to the digital asset by the entity; via the communications interface, receive a proposed update to the blockchain that includes a new block defining the second access criterion; evaluate the proposed update to the blockchain according to a consensus mechanism; and after determining that the proposed update complies with the consensus mechanism, incorporate the new block into the blockchain, where the blockchain maintains the particular block defining the first access criterion and the new block defining the second access criterion. receive a current value of a variable; determine that the current value of the variable satisfies the associated condition; and based on the one or more functions, transmit a request to the plurality of computing devices to update the first access criterion to the second access criterion; wherein when the associated condition is satisfied, the smart contract performs at least one of: expanding access to the digital asset by the entity; granting access to the digital asset to another entity; and constraining access to the digital asset by the entity; via the communications interface, receive a proposed update to the blockchain that includes a new block defining the second access criterion; evaluate the proposed update to the blockchain according to a consensus mechanism; and after determining that the proposed update complies with the consensus mechanism, incorporate the new block into the blockchain, where the blockchain maintains the particular block defining the first access criterion and the new block defining the second access criterion.