  Due to the open-source nature of the blockchain ecosystem, it is common for
new blockchains to fork or partially reuse the code of classic blockchains. For
example, the popular Dogecoin, Litecoin, Binance BSC, and Polygon are all
variants of Bitcoin/Ethereum. These "forked" blockchains thus could encounter
similar vulnerabilities that are propagated from Bitcoin/Ethereum during
forking or subsequently commit fetching. In this paper, we conduct a systematic
study of detecting and investigating the propagated vulnerabilities in forked
blockchain projects. To facilitate this study, we propose BlockScope, a novel
tool that can effectively and efficiently detect multiple types of cloned
vulnerabilities given an input of existing Bitcoin/Ethereum security patches.
Specifically, BlockScope adopts similarity-based code match and designs a new
way of calculating code similarity to cover all the syntax-wide variant (i.e.,
Type-1, Type-2, and Type-3) clones. Moreover, BlockScope automatically extracts
and leverages the contexts of patch code to narrow down the search scope and
locate only potentially relevant code for comparison. Our evaluation shows that
BlockScope achieves good precision and high recall both at 91.8% (1.8 times
higher recall than that in ReDeBug). BlockScope allows us to discover 101
previously unknown vulnerabilities in 13 out of the 16 forked projects of
Bitcoin and Ethereum, including 16 from Dogecoin, 6 from Litecoin, 1 from
Binance, and 4 from Optimism. We have reported all the vulnerabilities to their
developers; 40 of them have been patched or accepted, 66 were acknowledged or
under pending, and only 4 were rejected. We further investigate the propagation
and patching processes of discovered vulnerabilities, and reveal three types of
vulnerability propagation from source to forked projects, as well as the long
delay (over 200 days) for releasing patches in Bitcoin forks.
