  We study the liquid democracy problem, where each voter can either directly
vote to a candidate or delegate his voting power to a proxy. We consider the
implementation of liquid democracy on the blockchain through Ethereum smart
contract and to be compatible with the realtime self-tallying property, where
the contract itself can record ballots and update voting status upon receiving
each voting massage. A challenge comes due to the gas fee limitation of
Ethereum mainnet, that the number of instruction for processing a voting
massage can not exceed a certain amount, which restrict the application
scenario with respect to algorithms whose time complexity is linear to the
number of voters. We propose a fast algorithm to overcome the challenge, such
that i) shifts the on-chain initialization to off-chain and ii) the on-chain
complexity for processing each voting massage is O(\log n), where n is the
number of voters.

Cryptography and Security