A blockchain-based transaction method, comprising: calculating a transaction amount commitment based on a commitment random number and a transaction amount; obtaining a first commitment random number ciphertext by encrypting the commitment random number based on a homomorphic encryption public key of a remitter account and the transaction amount using a homomorphic encryption algorithm; obtaining a second commitment random number ciphertext by encrypting the commitment random number based on a homomorphic encryption public key of a remittee account and the transaction amount using the homomorphic encryption algorithm; generating a first zero-knowledge proof, a second zero-knowledge proof, and a third zero-knowledge proof, wherein the first zero-knowledge proof is configured to verify that the transaction amount is not less than zero, wherein the second zero-knowledge proof is configured to verify that the transaction amount is not greater than a remitter balance, and wherein the third zero-knowledge proof is configured to verify that the commitment random number for calculating the transaction amount commitment, the commitment random number for calculating the first commitment random number ciphertext, and the commitment random number for calculating the second commitment random number ciphertext are consistent with one another, and to verify that the transaction amount for calculating the transaction amount commitment, the transaction amount for calculating the first commitment random number ciphertext, and the transaction amount for calculating the second commitment random number ciphertext are consistent with one another; obtaining a signature data by signing a transaction data using a signature private key of the remitter account; and submitting the transaction data to a blockchain, the transaction data including the transaction amount commitment, the first commitment random number ciphertext, the second commitment random number ciphertext, the first zero-knowledge proof, the second zero-knowledge proof, the third zero-knowledge proof, and the signature data, for the transaction amount commitment and the first commitment random number ciphertext to be recorded into the remitter account, and the transaction amount commitment and the second commitment random number ciphertext to be recorded into the remittee account. calculating a transaction amount commitment based on a commitment random number and a transaction amount; obtaining a first commitment random number ciphertext by encrypting the commitment random number based on a homomorphic encryption public key of a remitter account and the transaction amount using a homomorphic encryption algorithm; obtaining a second commitment random number ciphertext by encrypting the commitment random number based on a homomorphic encryption public key of a remittee account and the transaction amount using the homomorphic encryption algorithm; generating a first zero-knowledge proof, a second zero-knowledge proof, and a third zero-knowledge proof, wherein the first zero-knowledge proof is configured to verify that the transaction amount is not less than zero, wherein the second zero-knowledge proof is configured to verify that the transaction amount is not greater than a remitter balance, and wherein the third zero-knowledge proof is configured to verify that the commitment random number for calculating the transaction amount commitment, the commitment random number for calculating the first commitment random number ciphertext, and the commitment random number for calculating the second commitment random number ciphertext are consistent with one another, and to verify that the transaction amount for calculating the transaction amount commitment, the transaction amount for calculating the first commitment random number ciphertext, and the transaction amount for calculating the second commitment random number ciphertext are consistent with one another; obtaining a signature data by signing a transaction data using a signature private key of the remitter account; and submitting the transaction data to a blockchain, the transaction data including the transaction amount commitment, the first commitment random number ciphertext, the second commitment random number ciphertext, the first zero-knowledge proof, the second zero-knowledge proof, the third zero-knowledge proof, and the signature data, for the transaction amount commitment and the first commitment random number ciphertext to be recorded into the remitter account, and the transaction amount commitment and the second commitment random number ciphertext to be recorded into the remittee account.