A method for transferring an asset based on an asset transfer transaction published in a blockchain, the asset transfer transaction based on an input asset object corresponding to an asset object held by an asset transferor and on an output asset object corresponding to an asset object to be re-created for an asset transferee, the input asset object having an asset type and the output asset object having an asset type, the blockchain supporting hiding related information of the input asset object, the method comprising: receiving, by a node device of the blockchain, the asset transfer transaction sent by the asset transferor, wherein the asset transfer transaction comprises a commitment value corresponding to the output asset object and a proof used to perform a zero-knowledge proof on the commitment value, wherein the commitment value corresponding to the output asset object is generated through calculation by inputting the output asset object and the asset type of the output asset obj ect in the asset transfer transaction as input data to a commitment function, wherein the proof is generated through calculation by the asset transferor by inputting at least the commitment value corresponding to the output asset object, the asset type of the input asset object, the asset type of the output asset object, and identifier information corresponding to a commitment value of the input asset object as input data to a proof generation algorithm comprised in the blockchain, wherein the identifier information corresponding to the commitment value of the input asset object uniquely identifies the commitment value of the input asset object; performing, by the node device invoking a smart contract published on the blockchain, the zero-knowledge proof on the commitment value based on the proof, wherein execution code related to an algorithm logic of the zero-knowledge proof is implemented in the smart contract; verifying, by the node device invoking the smart contract, whether the asset type of the input asset object matches the asset type of the output asset object in the asset transfer transaction; and in response to determining that the asset type of the input asset object is different from the asset type of the output asset object in the asset transfer transaction, discarding the asset transfer transaction, and in response to verifying that the asset type of the input asset object matches the asset type of the output asset object in the asset transfer transaction, publishing, by the node device, the commitment value corresponding to the output asset object on the blockchain for deposit to complete the transfer of the asset. receiving, by a node device of the blockchain, the asset transfer transaction sent by the asset transferor, wherein the asset transfer transaction comprises a commitment value corresponding to the output asset object and a proof used to perform a zero-knowledge proof on the commitment value, wherein the commitment value corresponding to the output asset object is generated through calculation by inputting the output asset object and the asset type of the output asset obj ect in the asset transfer transaction as input data to a commitment function, wherein the proof is generated through calculation by the asset transferor by inputting at least the commitment value corresponding to the output asset object, the asset type of the input asset object, the asset type of the output asset object, and identifier information corresponding to a commitment value of the input asset object as input data to a proof generation algorithm comprised in the blockchain, wherein the identifier information corresponding to the commitment value of the input asset object uniquely identifies the commitment value of the input asset object; performing, by the node device invoking a smart contract published on the blockchain, the zero-knowledge proof on the commitment value based on the proof, wherein execution code related to an algorithm logic of the zero-knowledge proof is implemented in the smart contract; verifying, by the node device invoking the smart contract, whether the asset type of the input asset object matches the asset type of the output asset object in the asset transfer transaction; and in response to determining that the asset type of the input asset object is different from the asset type of the output asset object in the asset transfer transaction, discarding the asset transfer transaction, and in response to verifying that the asset type of the input asset object matches the asset type of the output asset object in the asset transfer transaction, publishing, by the node device, the commitment value corresponding to the output asset object on the blockchain for deposit to complete the transfer of the asset.