The invention discloses a voting method based on a blockchain technology, and the method comprises the steps: generating first encrypted information for each votable user through a system according toa set function, writing the first encrypted information into a blockchain, generating signature information of the system according to the set function, and writing the signature information into theblockchain; acquiring the first encrypted information from a blockchain through votable users, decrypting the first encrypted information to obtain a decryption result, encrypting the decryption result to obtain second encrypted information, and writing the second encrypted information into the blockchain, the second encrypted information reflecting a result of whether the votable users vote or not; obtaining the signature information and the second encrypted information from the blockchain through a vote counting user, and decrypting the second encrypted information to obtain a decryption result, restoring the set function according to the decryption result, verifying the signature information according to a restoration result, and determining a voting result according to the verification result.