A cross-blockchain authentication method for cross-blockchain authentication, the method comprising: obtaining, by a subscribing client included in a system for cross-chain interaction, a public key of an oracle engine connected to a second blockchain, the system comprising the subscribing client, a publishing client, and a cross-chain interaction end, wherein the subscribing client corresponds to a first blockchain, the publishing client corresponds to the second blockchain, the cross-chain interaction end being separately connected to the subscribing client and the publishing client; using the public key as an authentication data source; obtaining, by using the cross-chain interaction end, data that is to be authenticated in the second blockchain and is published by the publishing client, wherein the data to be authenticated is signed by the oracle engine based on a private key held by the oracle engine comprising: initiating a subscription request to the cross-chain interaction end, wherein the subscription request is used to indicate subscription conditions to the cross-chain interaction end, so that the cross-chain interaction end requests, from the publishing client based on the subscription conditions, data that is to be authenticated in the second blockchain and satisfies the subscription conditions; and obtaining data that is to be authenticated and is published by the publishing client, wherein the data to be authenticated satisfies the subscription conditions, and is signed by the oracle engine based on the private key held by the oracle engine; and performing, based on the authentication data source and a signature of the data to be authenticated, data authentication on the data to be authenticated. obtaining, by a subscribing client included in a system for cross-chain interaction, a public key of an oracle engine connected to a second blockchain, the system comprising the subscribing client, a publishing client, and a cross-chain interaction end, wherein the subscribing client corresponds to a first blockchain, the publishing client corresponds to the second blockchain, the cross-chain interaction end being separately connected to the subscribing client and the publishing client; using the public key as an authentication data source; obtaining, by using the cross-chain interaction end, data that is to be authenticated in the second blockchain and is published by the publishing client, wherein the data to be authenticated is signed by the oracle engine based on a private key held by the oracle engine comprising: initiating a subscription request to the cross-chain interaction end, wherein the subscription request is used to indicate subscription conditions to the cross-chain interaction end, so that the cross-chain interaction end requests, from the publishing client based on the subscription conditions, data that is to be authenticated in the second blockchain and satisfies the subscription conditions; and obtaining data that is to be authenticated and is published by the publishing client, wherein the data to be authenticated satisfies the subscription conditions, and is signed by the oracle engine based on the private key held by the oracle engine; and initiating a subscription request to the cross-chain interaction end, wherein the subscription request is used to indicate subscription conditions to the cross-chain interaction end, so that the cross-chain interaction end requests, from the publishing client based on the subscription conditions, data that is to be authenticated in the second blockchain and satisfies the subscription conditions; and obtaining data that is to be authenticated and is published by the publishing client, wherein the data to be authenticated satisfies the subscription conditions, and is signed by the oracle engine based on the private key held by the oracle engine; and performing, based on the authentication data source and a signature of the data to be authenticated, data authentication on the data to be authenticated.