  We propose and compare two approaches to identify smart contracts as token
systems by analyzing their public bytecode. The first approach symbolically
executes the code in order to detect token systems by their characteristic
behavior of updating internal accounts. The second approach serves as a
comparison base and exploits the common interface of ERC-20, the most popular
token standard. We present quantitative results for the Ethereum blockchain,
and validate the effectiveness of both approaches using a set of curated token
systems as ground truth. We observe 100% recall for the second approach. Recall
rates of 89% (with well explainable missed detections) indicate that the first
approach may also be able to identify "hidden" or undocumented token systems
that intentionally do not implement the standard. One possible application of
the proposed methods is to facilitate regulator' tasks of monitoring and
policing the use of token systems and their underlying platforms.
