# Thin-Plate Spline Motion Model for Image Animation

Jian Zhao Hui Zhang
School of Software, BNRist, Tsinghua University, Beijing, China
<EMAIL_ADDRESS><EMAIL_ADDRESS>
###### Abstract

Image animation brings life to the static object in the source image according
to the driving video. Recent works attempt to perform motion transfer on
arbitrary objects through unsupervised methods without using a priori
knowledge. However, it remains a significant challenge for current
unsupervised methods when there is a large pose gap between the objects in the
source and driving images. In this paper, a new end-to-end unsupervised motion
transfer framework is proposed to overcome such issues. Firstly, we propose
thin-plate spline motion estimation to produce a more flexible optical flow,
which warps the feature maps of the source image to the feature domain of the
driving image. Secondly, in order to restore the missing regions more
realistically, we leverage multi-resolution occlusion masks to achieve more
effective feature fusion. Finally, additional auxiliary loss functions are
designed to ensure that there is a clear division of labor in the network
modules, encouraging the network to generate high-quality images. Our
method111Our source code is publicly available: https://github.com/yoyo-
nb/Thin-Plate-Spline-Motion-Model. can animate a variety of objects, including
talking faces, human bodies, and pixel animations. Experiments demonstrate
that our method performs better on most benchmarks than the state of the art
with visible improvements in motion-related metrics.

Figure 1: Example animations generated by our method trained on different
datasets.

##  1 Introduction

Image animation (Fig. 1) transfers the motion of the object in the driving
video to the static object in the source image, which is widely used for video
conferencing[31], movie effects[21] and entertainment videos. It can stimulate
people’s creativity to create more interesting works.

Researches have been done on motion transfer by using a priori knowledge of
objects, such as 3D models, landmarks, domain labels[30, 35, 11, 9, 6, 18, 37,
23, 27]. However, these approaches, which rely on labeled data, only work for
specific objects, such as faces[30, 35, 11, 9] and human bodies[6, 18, 37, 23,
27]. It is costly to obtain such labeled data or pre-trained keypoint
extractors. Therefore, these approaches cannot be applied to objects without
labeled data.

Recently, some unsupervised motion transfer methods have been proposed that do
not require a priori knowledge of objects[32, 25, 26, 28]. These methods use
two frames sampled from a video for training, where one frame is used as the
source image to reconstruct the other frame as the driving image. And the
methods are optimized using reconstruction losses to learn the motion
representations. Some unsupervised methods[25, 26, 28] divide motion transfer
into two steps. First, an optical flow is estimated using the motion
representation that warps the feature maps of the source image to the feature
domain of the driving image. Second, an occlusion mask is predicted to
indicate the missing regions of the warped feature maps, which are then
inpainted in the network. Experiments have shown that unsupervised methods can
perform motion transfer on various objects[25, 26, 28].

However, there are still some challenges with the unsupervised methods. First,
the motion representation is not flexible enough, making it difficult for the
network to learn the large pose gap between the objects in the source and
driving images during training. This deficiency results in large discrepancies
between the warped feature maps and the feature domain of the driving image.
Moreover, the area of the occlusion mask will increase, making motion transfer
too dependent on the inpainting capability of the network, which leads to the
second problem: inadequate inpainting capability of the network. Previous
works[25, 26, 28] did not take full advantage of features at different scales
to inpaint the missing regions, so it is difficult to generate more realistic
images.

Some unsupervised methods[26, 28] improve the quality of the animation by
combining local affine transformations to estimate the motion. However, the
affine transformation is linear, which makes it difficult to represent complex
motions. In fact, the motions of objects are often not linear locally (for
example, when people open their mouths, their lips are curved). To overcome
this, we introduce a more flexible nonlinear transformation, thin-plate spline
(TPS) transformation, to approximate the motion and propose a new end-to-end
unsupervised motion transfer framework. First, we predict several sets of
keypoints to generate TPS transformations and combine them with the affine
background transformation[28] to estimate the optical flow. Furthermore, we
perform dropout for multiple TPS transformations during the early stage of
training so that each TPS transformation contributes to the estimated optical
flow. TPS motion estimation makes the estimated optical flow more flexible,
stable and robust than previously estimated[26, 28]. Second, we predict
occlusion masks for each layer of warped feature maps, making the feature maps
have a different focus for more efficient feature fusion. Finally, we design
the auxiliary loss functions to make each module have a clearer division of
labor, encouraging the network to generate high-quality images. The proposed
framework approximates the motion more accurately and has a stronger
inpainting capability. To summarize, the main contributions are as follows:

  * •

We present TPS motion estimation to approximate the motion from the source
image to the driving image. In addition, we perform dropout on multiple TPS
transformations before combining them during the early stage of training.

  * •

We propose a new end-to-end unsupervised motion transfer framework. It warps
the feature maps of the source image using the estimated optical flow and then
leverages multi-resolution occlusion masks to indicate the missing regions for
inpainting.

  * •

Experiments demonstrate that our method outperforms previous unsupervised
motion transfer methods on various datasets, including talking faces, taichi
videos, TED-talk videos and pixel animations. In particular, there is a
visible improvement in motion-related metrics.

##  2 Related Work

Motion transfer. There are many supervised motion transfer methods that
require a priori knowledge of moving objects, such as landmarks[35, 11, 6, 37,
23, 27], 3D models[30, 9, 18] or domain labels[7]. Specially, GANimation[22]
uses the Facial Action Coding System (FACS)[10] to describe facial
expressions. However, these methods cannot be applied to new objects without
labeled data, such as pixel animations.

As a comparison, unsupervised methods do not need to introduce a priori
knowledge of the animated object during training[32, 25, 26, 28]. X2Face[32]
learns the identity representation of the source image by the embedding
network, and then generates an optical flow to warp the embedded image. Some
unsupervised methods attempt to model the motion representation and
disentangle identity and pose from the image. Monkey-Net[25] estimates optical
flow for animating by predicting several pairs of unsupervised keypoints.
Based on this, first order motion model (FOMM)[26] performs first-order Taylor
expansions near each keypoint and approximates the motion in the neighborhood
of each keypoint using local affine transformations, which significantly
improves the quality of motion transfer. Siarohin _et al_. proposed motion
representations for articulated animation (MRAA)[28], which improves the
shortcomings of FOMM[26] and achieves state-of-the-art performance of
unsupervised methods. MRAA[28] uses PCA-based motion estimation, which has
better quality in representing articulated motions (e.g., human body). In
addition, it adds background motion estimation to eliminate the negative
effects of camera motion. These unsupervised methods can perform motion
transfer on arbitrary objects. Comparing these methods, our approach uses TPS
motion estimation, which estimates optical flow more flexibly and works better
for large-scale motions.

Multi-scale feature fusion. Multi-scale feature fusion has proven to be
effective in several tasks in computer vision, including keypoint
prediction[33, 4, 29], segmentation[24, 19, 36] and image generation[15, 8,
16]. Extensive experiments have demonstrated that different layers of the
network focus on different levels of features[8, 17, 16]. Lower scale feature
maps focus on the overall patterns of the image, while larger scale feature
maps emphasize detailed textures. The unsupervised motion transfer methods[26,
28] estimate an occlusion mask for the missing regions of the warped feature
maps and inpaint them through feature fusion ways. FOMM[26] uses an hourglass
network to upsample the warped feature maps gradually to reconstruct the
driving image. While Monkey-Net[25] and MRAA[28] warp multi-scale feature maps
and add them to the decoder part of the hourglass network via skip
connections[27]. However, they use a single occlusion mask for feature maps at
different scales, which is not conducive to the network that learns features
with different focuses at multiple scales. Our approach also uses a skip-
connected hourglass network for inpainting. The difference is that we estimate
multi-resolution occlusion masks for feature maps at different scales,
allowing features to be more fully fused for more realistic inpainting.

Figure 2: Overview of our model. The BG Motion Predictor predicts the affine
transformation, representing the background motion from the source image to
the driving image. At the same time, we estimate $K$ sets of keypoints using
the Keypoint Detector, each of which generates a TPS transformation. The Dense
Motion Network will then combine the $K+1$ transformations ($K$ TPS
transformations and one affine transformation) for estimating optical flow and
multi-resolution occlusion masks. Finally, we feed the source image into the
Inpainting Network, warp the feature maps extracted by the encoder using
optical flow, and mask them with the corresponding resolution occlusion masks.
The generated image will be output at the last layer of the Inpainting
Network.

##  3 Method

Fig. 2 shows the overview of our proposed model. It generates the
reconstructed driving image $\hat{\mathbf{D}}$ given a source image
$\mathbf{S}$ and a driving image $\mathbf{D}$. The model consists of following
modules:

  * •

Keypoint Detector. The Keypoint Detector $E_{kp}$ receives $\mathbf{S}$ and
$\mathbf{D}$ to predict $K\times N$ pairs of keypoints to generate $K$ TPS
transformations.

  * •

BG Motion Predictor. The concatenation of $\mathbf{S}$ and $\mathbf{D}$ is fed
into the BG Motion Predictor $E_{bg}$ to estimate the parameters of the affine
background transformation.

  * •

Dense Motion Network. The module is an hourglass network. It receives $K$ TPS
transformations from $E_{kp}$ and one affine transformation from $E_{bg}$. The
optical flow will be estimated by combining these $K+1$ transformations. At
the same time, the multi-resolution occlusion masks are predicted by different
layers of the decoder part to indicate missing regions of the warped feature
maps.

  * •

Inpainting Network. It is also an hourglass network. It warps the feature maps
of the source image using the estimated optical flow and inpaints the missing
regions of the feature maps for each scale. The generated image is output at
the last layer.

###  3.1 TPS Motion Estimation

Motion estimation aims to approximate the mapping $\mathcal{T}$ such that
$\mathcal{T}(\mathbf{S})=\mathbf{D}$. In contrast to the combination of local
affine transformations in FOMM[26] and MRAA[28], we propose TPS motion
estimation to approximate $\mathcal{T}$.

TPS transformation[2] is a flexible, nonlinear transformation that allows
representing more complex motions. Given corresponding keypoints in two
images, we can warp one to the other with minimum distortion by using TPS
transformation $\mathcal{T}_{tps}$:

$\begin{matrix}\begin{aligned}
\min\iint_{R^{2}}\left(\left(\frac{\partial^{2}\mathcal{T}_{tps}}{\partial
x^{2}}\right)^{2}\right.+2\left(\frac{\partial^{2}\mathcal{T}_{tps}}{\partial
x\partial y}\right)^{2}\\\
+\left.\left(\frac{\partial^{2}\mathcal{T}_{tps}}{\partial
y^{2}}\right)^{2}\right)dxdy,\end{aligned}\\\
\text{s.t.}\quad\mathcal{T}_{tps}(P^{\mathbf{S}}_{i})=P^{\mathbf{D}}_{i},\quad
i=1,2,\ldots,N,\end{matrix}$ (1)

where $P^{\mathbf{X}}_{i}$ is the keypoints of image $\mathbf{X}$. We use the
Keypoint Detector to predict $K\times N$ keypoints for $\mathbf{S}$ and
$\mathbf{D}$, where $K$ is the number of TPS transformations. Every $N$ pairs
($N=5$ for this paper) of keypoints generate one TPS transformation from
$\mathbf{S}$ to $\mathbf{D}$. According to the derivation in[2] , the $k^{th}$
TPS transformation is obtained as follows:

$\mathcal{T}_{k}(p)=A_{k}\begin{bmatrix}p\\\
1\end{bmatrix}+\sum_{i=1}^{N}w_{ki}U\left({\left\lVert
P^{\mathbf{D}}_{ki}-p\right\rVert}_{2}\right),$ (2)

where $p=(x,y)^{\top}$ is pixel coordinates, $A_{k}\in\mathcal{R}^{2\times 3}$
and $w_{ki}\in\mathcal{R}^{2\times 1}$ are the TPS coefficients obtained by
solving Eq. 1, $U(r)$ is a radial basis function, which represents the
influence of each keypoint on the pixel at $p$:

$U(r)=r^{2}\log r^{2}.$ (3)

Besides, the camera motion in videos will cause the predicted keypoints to
appear in the background area, leading to deviations in the motion estimation.
To address this problem, we additionally predict an affine background
transformation like MRAA[28] to model the background motion:

$\mathcal{T}_{bg}(p)=A_{bg}\begin{bmatrix}p\\\ 1\end{bmatrix},$ (4)

where $A_{bg}\in\mathcal{R}^{2\times 3}$ is an affine transformation matrix
predicted by the BG Motion Predictor.

Now, we will combine the $K+1$ transformations ($K$ TPS transformations and
one affine transformation) to approximate the mapping $\mathcal{T}$. We use
the $K+1$ transformations to warp $\mathbf{S}$, cascade the warped images and
feed them into the Dense Motion Network. The module predicts $K+1$
contribution maps $\widetilde{\mathbf{M}}_{k}\in\mathcal{R}^{H\times
W},k=0,\dots,K$, where $H$ and $W$ are the height and width of the image,
$\mathbf{\widetilde{M}}_{0}$ corresponds to $\mathcal{T}_{bg}$. The
contribution maps are activated by softmax to make them sum to $1$ at any
pixel location:

$\mathbf{M}_{k}(p)=\frac{\exp(\widetilde{\mathbf{M}}_{k}(p))}{\sum_{i=0}^{K}\exp(\widetilde{\mathbf{M}}_{i}(p))},k=0,\dots,K,$
(5)

where $\mathbf{M}_{k}(p)$ is the value of $\mathbf{M}_{k}$ at coordinate $p$.
We use $\mathbf{M}_{k},k=0,\dots,K$ to combine the $K+1$ transformations to
compute the optical flow:

$\widetilde{\mathcal{T}}(p)=\mathbf{M}_{0}(p)\mathcal{T}_{bg}(p)+\sum_{k=1}^{K}\mathbf{M}_{k}(p)\mathcal{T}_{k}(p),$
(6)

which is the result of our approximate mapping $\mathcal{T}$. We use
$\widetilde{\mathcal{T}}$ to warp the feature maps of $\mathbf{S}$ extracted
by the encoder of the Inpainting Network and reconstruct $\mathbf{D}$ in the
decoder.

Dropout for TPS transformations. We use $K$ TPS transformations to approximate
the motion, but only a few of them may work for the estimated optical flow at
the early stage of training. Their contribution maps have zero values at any
pixel location after softmax, and will have no contribution during the entire
training stage. Therefore, the network can easily fall into local optimums,
resulting in poor quality of the generated images.

We use dropout[13] for TPS transformations to avoid this, which is a technique
for regularization. Specifically,
$\exp(\widetilde{\mathbf{M}}_{k}(p)),k=1,\dots,K$ are set to zero respectively
with probability $P$ in softmax, such that some of $K$ TPS transformations do
not work for estimating optical flow in this mini-batch training. And the
terms not set to zero are divided by $1-P$ to ensure that the expectation of
$\sum_{i=1}^{K}\exp(\widetilde{\mathbf{M}}_{i}(p))$ remains constant. Let
$b_{i},i=1,\dots,K$ obeys Bernoulli distribution with parameter $1-P$, we
change Eq. 5 by:

$\mathbf{M}_{k}(p)=\left\\{\begin{matrix}\exp(\widetilde{\mathbf{M}}_{0}(p))/\mathbf{M}_{T}(p),&k=0\\\
b_{k}\exp(\widetilde{\mathbf{M}}_{k}(p))/(1-P)\mathbf{M}_{T}(p),&else\end{matrix}\right.,$
(7)

where

$\mathbf{M}_{T}(p)=\exp(\widetilde{\mathbf{M}}_{0}(p))+\sum_{i=1}^{K}b_{i}\exp(\widetilde{\mathbf{M}}_{i}(p))/(1-P).$
(8)

Dropout keeps the network from excessive reliance on a few TPS transformations
in the early stage of training, and increases the robustness of the network.
We remove the dropout operation when each TPS transformation contributes to
the estimated optical flow after training several epochs.

Figure 3: Implementation details of the Inpainting Network.

###  3.2 Multi-resolution Occlusion Masks

For the Dense Motion Network and the Inpainting Network, we employ the
hourglass architecture network to fuse features of different scales, which has
been proven effective in various works[4, 17, 24]. In [26, 28], Dense Motion
Network estimates a single occlusion mask for the warped feature maps to
inpaint the missing regions. However, many experiments have shown that the
focus of the feature map changes with its scale[8, 17, 16]. Low-scale feature
maps focus on abstract patterns, while high-scale feature maps are more
concerned with detailed textures. If a single occlusion mask is used to mask
out the feature maps of different scales, what it learns during training will
be the trade-off among the focus of different scale feature maps. Hence, we
predict occlusion masks of different resolutions for each layer of the feature
map. The Dense Motion Network will not only estimate the optical flow but also
predict the multi-resolution occlusion masks by using an additional
convolution layer at each layer of the decoder. The estimated optical flow and
the multi-resolution occlusion masks are fed together into the Inpainting
Network.

In the Inpainting Network, we fuse multi-scale features to generate high-
quality images, the details are shown in Fig. 3. We feed $\mathbf{S}$ into the
encoder and use optical flow $\widetilde{\mathcal{T}}$ to warp the feature map
of each layer. The warped feature map is then masked using the occlusion mask
of corresponding resolution and is concatenated to the decoder part via a skip
connection. The feature map is then upsampled after passing through two
residual blocks. The generated image is output at the final layer.

###  3.3 Training Losses

Following FOMM[26] and MRAA[28], we use a pre-trained VGG-19[14] network to
calculate the reconstruction loss between $\mathbf{D}$ and the generated image
$\hat{\mathbf{D}}$ at multi-resolutions:

$\mathcal{L}_{rec}=\sum_{j}\sum_{i}\left|V_{i}(\mathbf{D}_{j})-V_{i}(\hat{\mathbf{D}}_{j})\right|,$
(9)

where $V_{i}$ is the $i^{th}$ layer of the pre-trained VGG-19 network, and $j$
represents that the image is downsampled j times. Equivariance loss is also
used to constrain the Keypoint Detector in[26, 28]:

$\mathcal{L}_{eq}=\left|E_{kp}(\mathcal{T}_{ran}(\mathbf{S}))-\mathcal{T}_{ran}(E_{kp}(\mathbf{S}))\right|,$
(10)

where $\mathcal{T}_{ran}$ is the random nonlinear transformation. We use the
random TPS transformation like FOMM[26] and MRAA[28]. In addition, we designed
auxiliary loss functions for the modules, namely bg loss and warp loss.

We used an affine transformation to model the background motion, and we made
additional constraints on the BG Motion Predictor to make the predicted
parameters more accurate and stable. We cascade in the order of $\mathbf{S}$
and $\mathbf{D}$ and feed them into the BG Motion Predictor to obtain the
affine transformation matrix $A_{bg}$, representing the background’s motion
from $\mathbf{S}$ to $\mathbf{D}$. We then re-cascade them in reverse order to
obtain the affine transformation matrix $A^{\prime}_{bg}$. We expect the two
affine transformation matrices to remain consistent:

$\left[\begin{matrix}A^{\prime}_{bg}\\\ 0\ \ 0\ \
1\end{matrix}\right]=\left[\begin{matrix}A_{bg}\\\ 0\ \ 0\ \
1\end{matrix}\right]^{-1}.$ (11)

However, we cannot use Eq. 11 as a loss function because it is easy to make
the BG Motion Predictor output a zero matrix that minimizes the difference
between the two sides of the equation. We reformulate Eq. 11 in the following
way:

$\vspace{-1.5mm}\mathcal{L}_{bg}=\left|\left[\begin{matrix}A^{\prime}_{bg}\\\
0\ \ 0\ \ 1\end{matrix}\right]\left[\begin{matrix}A_{bg}\\\ 0\ \ 0\ \
1\end{matrix}\right]-I\right|,$ (12)

where $I$ is $3\times 3$ identity matrix.

An additional constraint is also designed for the Inpainting Network. We feed
$\mathbf{D}$ into the encoder of the Inpainting Network. The warped encoder
feature maps of $\mathbf{S}$ are used to compute the loss with the encoder
feature maps of $\mathbf{D}$ at each layer:

$\mathcal{L}_{warp}=\sum_{i}\left|\widetilde{\mathcal{T}}(E_{i}(\mathbf{S}))-E_{i}(\mathbf{D})\right|,$
(13)

where $E_{i}$ is the $i^{th}$ layer of the Inpainting Network encoder.
$\mathcal{L}_{warp}$ can encourage the network to estimate the optical flow
more reasonably, making the warped feature maps closer to the feature domain
of $\mathbf{D}$.

The final loss is the sum of terms:

$\mathcal{L}=\mathcal{L}_{rec}+\mathcal{L}_{eq}+\mathcal{L}_{bg}+\mathcal{L}_{warp}.$
(14)

###  3.4 Testing Stage

At the testing stage, we use a source image $\mathbf{S}$ and a driving video
$\\{\mathbf{D}_{t}\\},t=1,2,\dots,T$ for image animation. FOMM[26] has two
modes for image animation: _standard_ and _relative_. The _standard_ mode uses
each frame $\mathbf{D}_{t}$ and $\mathbf{S}$ directly to estimate the motion
using Eq. 6, while the _relative_ mode estimates the motion between
$\mathbf{D}_{t}$ and the first frame $\mathbf{D}_{1}$ and then applies it to
$\mathbf{S}$. However, the _standard_ mode does not perform well when there is
a large mismatch between identities (for example, animate a thin person
according to the motion of a fat person). The _relative_ mode requires that
the pose of $\mathbf{D}_{1}$ be similar to the pose of $\mathbf{S}$. MRAA[28]
proposes a new mode, animation via disentanglement (_avd_), that uses an
additional trained network to predict the motion that should be applied to
$\mathbf{S}$, and we use the same mode for image animation.

We train a shape and a pose encoder as in MRAA[28]. The shape encoder learns
the shape of the keypoints of $\mathbf{S}$, and the pose encoder learns the
pose of the keypoints of $\mathbf{D}_{t}$. Then a decoder reconstructs the
keypoints, preserving the shape of $\mathbf{S}$ and the pose of
$\mathbf{D}_{t}$. Both the encoders and the decoder are implemented by fully
connected layers. We use keypoints of two frames from a video to train the
networks, where the keypoints of one frame are randomly deformed to simulate
the pose of a different identity. $\mathcal{L}_{1}$ loss is used to encourage
the networks to reconstruct the keypoints before deformation. For image
animation, we feed the keypoints of $\mathbf{S}$ and $\mathbf{D}_{t}$ into the
shape and pose encoders to get the reconstructed keypoints, and then use Eq. 6
to estimate the motion.

|  | TaiChiHD |  |  | TED-talks |  |  | VoxCeleb |  | MGif
---|---|---|---|---|---|---|---|---|---|---
| $\mathcal{L}_{1}$ | (AKD, MKR) | AED | $\mathcal{L}_{1}$ | (AKD, MKR) | AED | $\mathcal{L}_{1}$ | AKD | AED | $\mathcal{L}_{1}$
X2Face[32] | 0.080 | (17.65, 0.109) | 0.27 | - | - | - | 0.078 | 7.69 | 0.405 | -
Monkey-Net[25] | 0.077 | (10.80, 0.059) | 0.288 | - | - | - | 0.049 | 1.89 | 0.199 | -
FOMM[26] | 0.055 | (6.62, 0.031) | 0.164 | 0.033 | (7.07, 0.014) | 0.163 | 0.041 | 1.29 | 0.135 | 0.0225
MRAA[28] | 0.048 | (5.41, 0.025) | 0.149 | 0.026 | (4.01, 0.012) | 0.116 | 0.040 | 1.29 | 0.136 | 0.0274
Ours | 0.045 | (4.57, 0.018) | 0.151 | 0.027 | (3.39, 0.007) | 0.124 | 0.039 | 1.22 | 0.125 | 0.0212

Table 1: Video reconstruction: comparison with the state of the art on four
different datasets. $K=10$ for all methods. (Lower is better, best result in
bold)

##  4 Experiments

###  4.1 Benchmarks

We trained on multiple types of datasets, including talking faces, human
bodies and pixel animation. The pre-processing and training-test splitting
strategies for each dataset are the same as in[28]. The datasets are as
follows:

  * •

_VoxCeleb_[20]: Videos of different celebrities talking downloaded from
youtube cropped to 256*256 resolution according to the bounding boxes of the
faces. The length of the videos ranges from 64 to 1024 frames.

  * •

_TaiChiHD_[26]: Videos of full bodies TaiChi performance downloaded from
youtube cropped to 256*256 resolution according to the bounding boxes of the
bodies.

  * •

_TED-talks_[28]: Videos of TED talk downloaded from youtube, which is a new
dataset proposed in MRAA. The videos were downscaled to 384*384 resolution
according to the upper part of the human bodies. The length of the videos
ranges from 64 to 1024 frames.

  * •

_MGif_[25]: A dataset of _.gif_ files of pixel animations about animals
running, which was collected using google searches.

In previous work, video reconstruction was used to evaluate the quality of
motion transfer by taking the first frame $\mathbf{D}_{1}$ of a video as the
source image to reconstruct $\\{\mathbf{D}_{t}\\},t=1,2,\dots,T$. We used the
same quantitative metrics:

  * •

$\mathcal{L}_{1}$: Average $\mathcal{L}_{1}$ distance between the generated
and driving image pixel values.

  * •

_Average keypoint distance_ (AKD): AKD evaluates the poses of the generated
images. We use the same pre-trained detectors for bodies[5] and faces[4] as
MRAA[28] to extract keypoints from the generated and driving images. Then
calculate the average distance of the corresponding keypoints.

  * •

_Missing keypoint rate_ (MKR): The proportion of keypoints extracted from the
pre-trained model[5, 4] that are present in the driving image but missing in
the generated image.

  * •

_Average Euclidean distance_ (AED): AED evaluates the identity of the
generated images. We use the same pre-trained re-identification networks for
bodies[12] and faces[1] as MRAA[28] to extract identities from the generated
and driving images. Then calculate the average $\mathcal{L}_{2}$ distance of
the extracted identity pairs.

###  4.2 Comparison

We used two GeForce RTX 3090 GPUs to train 100 epochs on each dataset.
VoxCeleb, TaiChiHD, and MGif for three days, while TED-talks was trained for
eight days due to higher resolution. We compared our method with the current
state-of-the-art unsupervised motion transfer method, MRAA[28], on video
reconstruction and image animation tasks. We also compared with other baseline
methods FOMM[26], Monkey-Net[25] and X2Face[32] on video reconstruction.
FOMM[26], MRAA[28] and our methods are trained for the same number of epochs
with $K$ = 10.

Figure 4: Some bad cases of MRAA[28], while our method shows high quality on
video reconstruction task. Figure 5: Our method has better temporal continuity
than MRAA[28] on the video reconstruction task.

Video reconstruction. Quantitative results of video reconstruction are shown
in Tab. 1. Our method reaches state-of-the-art results on VoxCeleb, TaiChiHD
and MGif datasets, with significant improvements in motion-related metrics on
TaiChiHD dataset (15.5% for AKD and 28.0% for MKR). This suggests that our
method estimates motions more accurately than others. Our method also
outperform MRAA[28] on TED-talks dataset with motion-related metrics (AKD),
but was slightly worse in other metrics (L1 and AED). The latter metrics are
related to identity. Fig. 4 shows several bad cases in MRAA[28] on TED-talks
dataset while our method has better reconstruction quality in hand, arm, and
head areas.

Another advantage of our method is that the reconstructed video has a better
temporal continuity. MRAA[28] uses local affine transformations near the
keypoints to estimate the motion. Therefore, the temporal continuity of the
reconstructed video depends on the smoothness of the keypoints change. If the
location of the keypoints in two adjacent frames change greatly, it will cause
pixel jitter (as shown in Fig. 5, the video reconstructed by MRAA[28] has a
redundant finger at frames 111 and 113, but not at frames 110 and 112).
Instead, we use TPS motion estimation and each transformation is generated by
multiple keypoints, which increases the robustness of motion estimation.

Figure 6: Qualitative comparison with MRAA[28] on image animation task: TaiChiHD (top left), TED-talks (top right), VoxCeleb (bottom left), MGif (bottom right). |  Continuity |  Authenticity
---|---|---
TaiChiHD |  71.30% |  86.14%
TED-talks |  63.93% |  58.44%
VoxCeleb |  80.95% |  61.54%
Table 2: User study on image animation, numbers respect the proportion (%) of
users that prefer our method over MRAA[28].

Image Animation. Fig. 6 shows selected image animation results of our method
compared with MRAA[28] on the four datasets. Both MRAA[28] and our method use
the _avd_ mode to generate image animation. The results show that our method
has better motion transfer performance for human bodies (TaiChiHD and TED-
talks), but the ability to maintain image details such as clothes and faces is
slightly poor. For human faces (VoxCeleb), ghosts will appear in the images
generated by MRAA[28], while our method has better generation quality. Our
method also performs better than MRAA[28] on pixel animations (MGif). However,
when the size of the identity differs greatly, neither MRAA[28] nor our method
works well (for example, animate a puppy according to the motion of a
giraffe).

In order to quantitatively evaluate the quality of image animation, we
designed a questionnaire containing randomly selected 20 pairs of videos
generated by our method and MRAA[28] on TaiChiHD, TED-talks and VoxCeleb for
user preference study. People were invited to judge which of the two videos
was better for continuity and authenticity. Results are reported in Tab. 2.
Our method performs much better on temporal continuity than MRAA[28], and most
users prefer the videos generated by our method for authenticity.

| K=5, (K=2 for ours) | K=10, (K=4 for ours) | K=20, (K=8 for ours)
---|---|---|---
| $\mathcal{L}_{1}$ | (AKD, MKR) | AED | $\mathcal{L}_{1}$ | (AKD, MKR) | AED | $\mathcal{L}_{1}$ | (AKD, MKR) | AED
FOMM[26] | 0.062 | (7.34, 0.036) | 0.181 | 0.056 | (6.53, 0.033) | 0.172 | 0.062 | (8.29, 0.049) | 0.196
MRAA[28] | 0.049 | (6.04, 0.029) | 0.162 | 0.048 | (5.41, 0.025) | 0.149 | 0.046 | (5.17, 0.026) | 0.141
Ours | 0.048 | (5.24, 0.022) | 0.166 | 0.046 | (4.84, 0.020) | 0.156 | 0.045 | (4.67, 0.019) | 0.150
Table 3: Additional experiments on TaiChiHD for different K and similar bottleneck sizes for MRAA and ours. (Best result in bold.) | $\mathcal{L}_{1}$ | (AKD, MKR) | AED
---|---|---|---
MRAA[28] | 0.048 | (5.41, 0.025) | 0.149
TPS | 0.048 | (4.96, 0.020) | 0.153
$+$ Dropout | 0.048 | (4.66, 0.018) | 0.156
$+$ Multi-Masks | 0.046 | (4.73, 0.018) | 0.150
$+\mathcal{L}_{bg}$ | 0.046 | (4.64, 0.020) | 0.151
$+\mathcal{L}_{warp}$ | 0.045 | (4.57, 0.018) | 0.151
Table 4: Ablation study for video reconstruction on TaiChiHD. (Lower is
better, best result in bold)

###  4.3 Ablations

We perform ablation experiments on TaiChiHD dataset to demonstrate the
improvement from each of our proposed components. We add our components in
turn and compare the video reconstruction metrics with MRAA[28]. Firstly, we
use TPS transformations to estimate the optical flow instead of local affine
transformations in MRAA[28]. Then we added the dropout operation and the
multi-resolution occlusion masks. Finally, we add $\mathcal{L}_{bg}$ and
$\mathcal{L}_{warp}$ during training. Quantitative results are shown in Tab.
4.

The second row of Tab. 4 demonstrates that TPS motion estimation improves AKD
and MKR, resulting in more accurate motion estimation. Comparing the second
and third rows of Tab. 4, dropout can bring lower AKD and MKR, which indicates
that dropout makes each TPS transformation contributes to the optical flow to
distort the object in $\mathbf{S}$ into a more accurate pose. However, dropout
also affects AED because the more complex optical flow means the larger area
of missing regions in warped feature maps, resulting in insufficient
information for the Inpainting Network to revise the image. The fourth row of
Tab. 4 shows that the multi-resolution occlusion masks bring an improvement to
$\mathcal{L}_{1}$ and AED, which can help the Inpainting Network to generate
higher quality images. Fig. 7 shows the multi-resolution occlusion masks we
learned by our full method, compared with the single occlusion mask learned by
the method in the third row of Tab. 4. But at the same time, it brings a
higher AKD, which is not what we expected. When we add $\mathcal{L}_{bg}$ and
$\mathcal{L}_{warp}$, AKD gradually decreases, the full method can achieve a
better balance on the four metrics.

As with MRAA and FOMM, one of the most important hyper-parameters in our model
is the number of TPS transformations, $K$, which corresponds to the dimension
of the motion representation. The dimensions of FOMM and MRAA are $K*(2+4)$
and $(K+1)*(2+4)$, while ours is $K*(6+5*2)+6$. When K = 5, 10, and 20, the
dimensions of MRAA are 36, 66, and 126, respectively. We set K of our method
to be 2, 4, and 8 to compare with them, and the dimensions are 38, 70, and
118, respectively, which is similar to MRAA. Tab. 3 shows the experiment
results, which demonstrates that our method can achieve better motion-related
metrics than MRAA when using similar motion description dimensions.

Figure 7: Comparison of learned multi-resolution occlusion mask and single
occlusion mask.

##  5 Discussion and Conclusion

In this paper, we first discuss the drawbacks of using local affine
transformations to approximate motions in previous works and propose TPS
motion estimation to estimate an optical flow that warps the feature maps of
the source image to the feature domain of the driving image. In addition, we
use dropout for TPS transformations before combining them in the early stage
of training, which keeps the network from excessive reliance on a few TPS
transformations and avoids the network falling into local optimums. Secondly,
the multi-resolution occlusion masks are used to achieve more effective
feature fusion instead of a single occlusion mask. Finally, we design
additional auxiliary loss functions and proved experimentally effective.

Our method achieves state-of-the-art performance on most benchmarks with
visible improvements in motion-related metrics. However, our approach does not
perform well when an extreme identity mismatch occurs. Unsupervised motion
transfer remains a worthwhile challenge.

Potential negative societal impact. While the proposed method may be used to
make fake videos for spoofing, some detection software will easily determine
the authenticity of videos by analyzing the color textures[3] or using the
depth information obtained through the proximity sensors, which cannot be
simulated by 2D image generating methods. And our approach can create a new
benchmark for face anti-spoofing researches[34].

## References

  * [1] Brandon Amos, Bartosz Ludwiczuk, Mahadev Satyanarayanan, et al.  Openface: A general-purpose face recognition library with mobile applications.  CMU School of Computer Science, 2016.
  * [2] Fred L. Bookstein.  Principal warps: Thin-plate splines and the decomposition of deformations.  IEEE Transactions on pattern analysis and machine intelligence, 1989\.
  * [3] Zinelabidine Boulkenafet, Jukka Komulainen, and Abdenour Hadid.  Face anti-spoofing based on color texture analysis.  In IEEE International Conference on Image Processing, 2015.
  * [4] Adrian Bulat and Georgios Tzimiropoulos.  How far are we from solving the 2d & 3d face alignment problem?(and a dataset of 230,000 3d facial landmarks).  In Proceedings of the IEEE International Conference on Computer Vision, 2017.
  * [5] Zhe Cao, Tomas Simon, Shih-En Wei, and Yaser Sheikh.  Realtime multi-person 2d pose estimation using part affinity fields.  In CVPR, 2017.
  * [6] Caroline Chan, Shiry Ginosar, Tinghui Zhou, and Alexei A Efros.  Everybody dance now.  In Proceedings of the IEEE International Conference on Computer Vision, 2019.
  * [7] Yunjey Choi, Minje Choi, Munyoung Kim, Jung-Woo Ha, Sunghun Kim, and Jaegul Choo.  Stargan: Unified generative adversarial networks for multi-domain image-to-image translation.  In CVPR, 2018.
  * [8] Emily L Denton, Soumith Chintala, arthur szlam, and Rob Fergus.  Deep generative image models using a laplacian pyramid of adversarial networks.  In NeurIPS, 2015.
  * [9] Michail Christos Doukas, Stefanos Zafeiriou, and Viktoriia Sharmanska.  Headgan: One-shot neural head synthesis and editing.  In Proceedings of the IEEE International Conference on Computer Vision, 2021.
  * [10] Paul Ekman and Erika L Rosenberg.  What the face reveals: Basic and applied studies of spontaneous expression using the Facial Action Coding System (FACS).  Oxford University Press, USA, 1997.
  * [11] Sungjoo Ha, Martin Kersner, Beomsu Kim, Seokjun Seo, and Dongyoung Kim.  Marionette: Few-shot face reenactment preserving identity of unseen targets.  In Proceedings of the AAAI Conference on Artificial Intelligence, 2020.
  * [12] Alexander Hermans, Lucas Beyer, and Bastian Leibe.  In defense of the triplet loss for person re-identification.  arXiv:1703.07737, 2017.
  * [13] Geoffrey E Hinton, Nitish Srivastava, Alex Krizhevsky, Ilya Sutskever, and Ruslan R Salakhutdinov.  Improving neural networks by preventing co-adaptation of feature detectors.  arXiv:1207.0580, 2012.
  * [14] Justin Johnson, Alexandre Alahi, and Li Fei-Fei.  Perceptual losses for real-time style transfer and super-resolution.  In Proceedings of the European Conference on Computer Vision, 2016\.
  * [15] Animesh Karnewar and Oliver Wang.  Msg-gan: Multi-scale gradients for generative adversarial networks.  In CVPR, 2020.
  * [16] Wei-Sheng Lai, Jia-Bin Huang, Narendra Ahuja, and Ming-Hsuan Yang.  Deep laplacian pyramid networks for fast and accurate super-resolution.  In CVPR, 2017.
  * [17] Jie Liang, Hui Zeng, and Lei Zhang.  High-resolution photorealistic image translation in real-time: A laplacian pyramid translation network.  In CVPR, 2021.
  * [18] Wen Liu, Zhixin Piao, Jie Min, Wenhan Luo, Lin Ma, and Shenghua Gao.  Liquid warping gan: A unified framework for human motion imitation, appearance transfer and novel view synthesis.  In Proceedings of the IEEE International Conference on Computer Vision, 2019.
  * [19] Jonathan Long, Evan Shelhamer, and Trevor Darrell.  Fully convolutional networks for semantic segmentation.  In CVPR, 2015.
  * [20] A. Nagrani, J. S. Chung, and A. Zisserman.  Voxceleb: a large-scale speaker identification dataset.  In INTERSPEECH, 2017.
  * [21] Jacek Naruniec, Leonhard Helminger, Christopher Schroers, and Romann M Weber.  High-resolution neural face swapping for visual effects.  In Computer Graphics Forum, 2020.
  * [22] Albert Pumarola, Antonio Agudo, Aleix M Martinez, Alberto Sanfeliu, and Francesc Moreno-Noguer.  Ganimation: Anatomically-aware facial animation from a single image.  In Proceedings of the European Conference on Computer Vision, 2018\.
  * [23] Yurui Ren, Xiaoming Yu, Junming Chen, Thomas H Li, and Ge Li.  Deep image spatial transformation for person image generation.  In CVPR, 2020.
  * [24] Olaf Ronneberger, Philipp Fischer, and Thomas Brox.  U-net: Convolutional networks for biomedical image segmentation.  In International Conference on Medical image computing and computer-assisted intervention, 2015.
  * [25] Aliaksandr Siarohin, Stéphane Lathuilière, Sergey Tulyakov, Elisa Ricci, and Nicu Sebe.  Animating arbitrary objects via deep motion transfer.  In CVPR, 2019.
  * [26] Aliaksandr Siarohin, Stéphane Lathuilière, Sergey Tulyakov, Elisa Ricci, and Nicu Sebe.  First order motion model for image animation.  In NeurIPS, 2019.
  * [27] Aliaksandr Siarohin, Enver Sangineto, Stéphane Lathuiliere, and Nicu Sebe.  Deformable gans for pose-based human image generation.  In CVPR, 2018.
  * [28] Aliaksandr Siarohin, Oliver Woodford, Jian Ren, Menglei Chai, and Sergey Tulyakov.  Motion representations for articulated animation.  In CVPR, 2021.
  * [29] Ke Sun, Bin Xiao, Dong Liu, and Jingdong Wang.  Deep high-resolution representation learning for human pose estimation.  In CVPR, 2019.
  * [30] Justus Thies, Michael Zollhofer, Marc Stamminger, Christian Theobalt, and Matthias Nießner.  Face2face: Real-time face capture and reenactment of rgb videos.  In CVPR, 2016.
  * [31] Ting-Chun Wang, Arun Mallya, and Ming-Yu Liu.  One-shot free-view neural talking-head synthesis for video conferencing.  In CVPR, 2021.
  * [32] Olivia Wiles, A Koepke, and Andrew Zisserman.  X2face: A network for controlling face generation using images, audio, and pose codes.  In Proceedings of the European Conference on Computer Vision, 2018\.
  * [33] Xi Yin and Xiaoming Liu.  Multi-task convolutional neural network for pose-invariant face recognition.  IEEE Transactions on Image Processing, 2017.
  * [34] Zitong Yu, Yunxiao Qin, Xiaobai Li, Chenxu Zhao, Zhen Lei, and Guoying Zhao.  Deep learning for face anti-spoofing: A survey.  arXiv:2106.14948, 2021.
  * [35] Egor Zakharov, Aliaksandra Shysheya, Egor Burkov, and Victor Lempitsky.  Few-shot adversarial learning of realistic neural talking head models.  In Proceedings of the IEEE International Conference on Computer Vision, 2019.
  * [36] Hengshuang Zhao, Jianping Shi, Xiaojuan Qi, Xiaogang Wang, and Jiaya Jia.  Pyramid scene parsing network.  In CVPR, 2017.
  * [37] Zhen Zhu, Tengteng Huang, Baoguang Shi, Miao Yu, Bofei Wang, and Xiang Bai.  Progressive pose attention transfer for person image generation.  In CVPR, 2019.


# The Vulnerable Nature of Decentralized Governance in DeFi

Maya Dotan, Aviv Yaish, Hsin-Chu Yin, Eytan Tsytkin, Aviv Zohar
Hebrew University of Jerusalem, Israel

###### Abstract

Decentralized Finance (DeFi) platforms are often governed by Decentralized
Autonomous Organizations (DAOs) which are implemented via governance
protocols. Governance tokens are distributed to users of the platform,
granting them voting rights in the platform’s governance protocol. Many DeFi
platforms have already been subject to attacks resulting in the loss of
millions of dollars in user funds.

In this paper we show that governance tokens are often not used as intended
and may be harmful to the security of DeFi platforms. We show that (1) users
often do not use governance tokens to vote, (2) that voting rates are
negatively correlated to gas prices, (3) voting is very centralized.

We explore vulnerabilities in the design of DeFi platform’s governance
protocols and analyze different governance attacks, focusing on the
transferable nature of voting rights via governance tokens. Following the
movement and holdings of governance tokens, we show they are often used to
perform a single action and then sold off. We present evidence of DeFi
platforms using other platforms’ governance protocols to promote their own
agenda at the expense of the host platform.

##  1 Introduction

Cryptocurrencies such as Bitcoin [41] and Ethereum [48, 15] facilitate
monetary _transactions_ between users in a distributed and decentralized
manner. Users who wish to have their transaction processed by the system can
broadcast it to entities called _miners_ , who in turn collect transactions in
_blocks_. As transactions are ordered within each block, and as blocks contain
a reference to at least one preceding block, an ordered ledger of transactions
commonly called a _blockchain_ is formed. Various mechanisms such as Proof of
Work (PoW) [21] and Proof of Stake (PoS) [9] are used to maintain the
integrity and security of the ledger. The differences between them are outside
the scope of our work, but we note that exact terminology used by each might
differ, too. For example, in Ethereum, miners are also called _validators_.
For brevity, we will stick to the terminology as used in Bitcoin.

The security of blockchain protocols relies on blocks being quickly propagated
throughout the network [20], therefore requiring a size-limit on blocks which
limits the system’s throughput. Thus, if the amount of pending transactions
exceeds the maximal throughput, users can prioritize a transaction over
competing ones by offering a _fee_ to the first miner to include it in a block
[27].

The Ethereum blockchain allows transactions to contain software programs
specified using a formal virtual-machine [28] execution model called the _EVM_
(Ethereum virtual machine) [48]. These programs, also known as _smart
contracts_ [7], can be _deployed_ to the blockchain, e.g., stored on it,
thereby allowing users to interact with them by creating transactions that
invoke their functions. Transaction fees on the Ethereum network are often
referred to as “gas”. At times of high demand, gas prices for including
transactions are high, and at times of low demand they drop.

###  1.1 Decentralized Finance

DeFi platforms, that implement traditional financial instruments on top of a
decentralized mechanism, have emerged as a leading use-case for smart
contracts on the Ethereum blockchain [48, 15]. In this work, we will focus on
two types of DeFi platforms: _DEX_ s (Decentralized exchanges) and
decentralized lending platforms.

DEXs such as Uniswap [45] enable users to exchange or _swap_ tokens amongst
each other without requiring any form of direct interaction between the
exchanging parties [50]. These tokens are commonly implemented using the
ERC-20 standard [39, 46], which is an inter-operable specification for
fungible tokens [22, 47].

Decentralized lending platforms such as Aave [49] and Compound [33] let users
take and give loans. There are two main types of loans available on DeFi
platforms (1) long-term _collateralized_ loans which are secured by up-front
deposits (e.g., collateral) [51], and (2) _flashloans_ [19] which are loans
given for the duration of a single transaction. The transaction atomicity
offered by the EVM allows one to ensure that if a flashloan is not repaid by
the conclusion of the transaction that took it, the transaction is reverted
[12].

In this paper we chose to focus on the Ethereum blockchain, as it is do date
the largest and most active blockchain in terms of DeFi TVL. We also focus on
the following DeFi platforms: Aave V2, Uniswap, Compound, Balancer. At the
time of writing this paper, these are the biggest DeFi platforms with an
active governance protocol, with a combined total value locked (TVL) of over
$12$B USD. They are also the platforms with the highest value governance
tokens on the market at the time of writing this paper.

###  1.2 Governance Protocols

The management of funds in DeFi platforms is often done via DAOs. This is done
algorithmically via smart contracts that are deployed on the blockchain. Smart
contracts that follow the _proxy design pattern_ [36] appoint admins that can
change the address of the delegate contracts. These admins need not be humans.
For example, the admins for the various of Compound’s smart contracts are
smart contracts themselves which enable decentralized decision-making [33,
25]. Such contracts are also called _governance protocols_ [30, 29]. These
contracts are publicly visible and audit-able to anyone who has the technical
skill to read them. There are typically some aspects of platform management
that remains alterable over time, to adjust the platforms to market events,
infrastructure upgrades and so on. While these platforms are typically
privately owned and managed, they many times delegate many aspects of the
managements of funds and decisions regarding crucial policy changes to their
users. This is done in an attempt to increase the perceived transparency and
decentralization of these platforms. This is what is typically referred as a
_governance protocol_. Governance protocols of different platforms vary. Some
governance protocols involve both on and off chain steps. The execution and
implementation is done on-chain. In Fig. 1 we demonstrate the steps involved
in life-cycle of a proposal in Aave’s governance protocol. Off chain activity
mainly consists of introducing pending change proposals to the community and
open discussion about their implications.

Practically, this delegation of decision making is often done through the
utilization of _governance tokens_. These tokens dispersed to community
members as a reward for active participation in the platform, through
depositing or lending funds, making exchanges etc. [26]. The tokens then
become trad-able on the same markets that they enable controlling.
Decentralized governance in the on-chain setting broadly implies one token
equals one vote. Governance tokens can be earned, and can be printed by the
platform. Voting is done via an on-chain transaction, and thus incurs a cost
due to gas fees. Votes have monetary value, people might not vote because
their tokens are put to other uses, e.g. as collateral, or even selling your
vote to make a monetary profit. Votes are often on topics which don’t directly
affect the voter, e.g. change the parameters for some token which the voter
doesn’t hold, and information regarding the content and implications of the
votes may be vague. In fact, many times a voting party may introduce a new
policy change on which other parties can vote, and make the description
intentionally misleading. It is left to other voters to individually
understand the implications of the suggestion. Votes can be automated using
bots and can be delegated to others (either explicitly, or by loaning out your
tokens).

Note that governance token can be traded on the free market, just as any other
token. This means that individuals can buy voting shares of the platforms even
without actively participating in the platform.

##### Escrowed Governance Tokens

_Vote Escrowed Tokenomics_ is a different way of issuing governance power to
users, meant to increase the commitment of governance voter and proposers in
the longevity and health of the platform. In the vote escrow mechanism, users
lock tokens in the platform, and in return are rewarded _veTokens_ ,
representing voting rights. Tokens are distributed according to the time a
user committed to locking the funds on the platform, longer locking periods
grant higher voting power. The purpose is to align users’ incentives with the
health of the platform. Several DeFi platforms now use veTokens in their
governance protocol, including Curve.fi [18] and Balancer [8].

Figure 1: Aave’s governance proposal pipeline. There are both on and off chain
components to the process. At the point of moving from the off-chain to the
on-chain process, the proposer must give proof of passing the off-chain
process in the form of an IPFS hash. Uploading to IPFS can only be done by
Aave’s team.

###  1.3 Our Contributions

In this paper we show misuse of governance protocols by bad actors. In
particular, changes made to the platform are not always at the benefit of the
platform, and are sometimes made by user who only hold on to their voting
rights for the duration of a single proposal. We find that these protocols
often do not encourage active participation in the governance mechanisms based
on real-world data about voting patterns which indicate low participation
rates and that voting is very homogeneous. This enables bad actors to gain
disproportional voting power in these protocols. We map out governance attacks
in which individuals use governance protocols to attack the platform they
control. We show that the vested escrow governance design is not immune to
this type of abuse. Finally, we identify platforms that utilize other
platform’s governance mechanisms in order to promote their own interest,
sometimes at the expense of the native platform.

##### Paper structure

In Section 2 we analyze voting patterns in popular DeFi platforms. In Section
3 we explore the vulnerability of governance attack to misuse: In Section 3.1
we detail some recent attacks on DeFi platforms that utilize the platform’s
own governance mechanism to the attacker’s advantage. In Section 3.2 we
examine cross-platform governance activity. We focus both on platforms holding
significant stake in other platforms, and even proposing changes to other
platform to promote their own agenda. In Section 4 we review related work, and
conclude in Section 5.

##  2 Governance Voting and Proposing Patterns

In this section, we dive deeper into voting patterns in several main
governance protocols. We analyze the holding and voting patterns of users and
find evidence of voting centrality in the sense that users typically do not
vote against proposals. This can be explained by the fact that voting on
proposals costs funds reflected in transaction fees. Fees vary according to
network congestion. An attacker can leverage this to propose malicious attacks
at times of high congestion, making the attack prevention more expensive for
users.

In Table 1 we see an overview of several key aspects of the four major DeFi
platforms examined in this paper. Balancer is the only platform to utilize
escrowed governance tokens, making the voting rights not trade-able for a
period of time. We see that all four platforms have a point of centralization
in the Guardian entity. This entity, controlled by a _community multisig_ ,
has the power to cancel proposals. The multisig is composed of several users
that are believed by the creators of the platform to hold the platform’s best
interest at heart, and to cancel malicious proposals. For instance, in Aave
this multisig requires 6 out of 10 of the holders to sign an order to kill an
active proposal. This is a point of centralization which can be a safeguard,
but also might be subject to abuse111For instance, the famous Ronin bridge
hack involved corrupting 5 of the 9 required shares [34]. Additional points of
centralization are found in integrating a platform’s on/off chain proposal
process. For instance, In Aave, once a proposal passes the off-chain stage it
needs to be merged into Aave’s repository in order to generate a valid IPFS
hash for uploading to the blockchain, see Fig. 1. This upload can only be done
by Aave’s developers. Except Balancer, all platforms have some measures of
automatic code validation for pending proposals [14]. All platforms also have
some form of execution delay between the time a proposal is uploaded, is voted
on and is then implemented to prevent flash-loan attacks, which we discuss in
Section 3.1. Both of these safe-rails are meant to defend the platform from
malicious attacks. However, they are not bulletproof. For instance, later in
this section we detail cases of users who only purchase and hold on to a large
portion of governance tokens for the duration of a single proposition of their
own making. They vote to pass these proposals and then transfer on their
governance tokens. In Section 3.2 we dive deeper into these use-cases and show
that these were proposals that were harmful to the platform. These were not
stopped by the safe-rails, and they past with overwhelming majority, one of
them even past unanimously.

Table 1: An overview of popular governance platforms, centralization points,
proposal process flow and centrality in voting.

Platform |  Proposals can be cancelled by Guardian |  Combines On and Off-chain Protocols |  Automatic Proposal Code Validation |  # Proposals (% Passed with 99% majority)
---|---|---|---|---
Aave | $\checkmark$ | $\checkmark$ | $\checkmark$ |  $109$ ($76.1\%$)
Compound | $\checkmark$ | - | $\checkmark$ |  $134$ ($61.7\%$)
Uniswap V3 | $\checkmark$ | $\checkmark$ | $\checkmark$ |  $24$ ($66.7\%$)
Balancer | $\checkmark$ | $\checkmark$ | - |  $286$ ($61.2\%$)

Table 2: Percentage of circulating governance tokens used for voting, by
platform. Evidently, Compound users feel more incentivised to vote than
Aave’s. Also, Uniswaps’ usage of governance proposals is significantly lower
the the other two platforms.

| Aave | Compound | Uniswap
---|---|---|---
Proposals | 109 | 134 | 24
H-Index | 86 | 91 | 16
Mean | 3.67% | 11.21% | 6.41%
Std. dev | 2.92% | 5.64% | 3.81%
Min | 0% | 0% | 0.00%
Median | 3.15% | 10.62% | 6.64%
Max | 23.53% | 25.97% | 11.93%

###  2.1 Voting and proposal centrality in Aave, Compound and Uniswap

Table 2 summarizes proposition and voting data from three major platforms. In
all three platforms the percentage of governance tokens that participate in
voting is very low, with Compound leading the chart at $11.2\%$. In Table 2 we
also see that an overwhelming majority of proposals pass with an overwhelming
majority of votes in favor. We look at the equivalent of an “h- index” of the
three platforms, i.e. calculated by counting the percent of proposals that won
at least that same percent of votes. In Aave, for instance, at least 86 in the
sense that there are 86% of the proposals with at least 86% of the votes. In
Table 1 we also see indication of voting centrality, in all platforms a
majority of all proposals passes with over $99\%$ majority (out of the total
tokens used to vote, not of all available tokens). Combining these results we
have that voting participation is low and the user that do vote, do so in a
homogeneous manner.

Figure 2: Number of votes cast during times of active governance proposals vs.
the Ethereum gas price in Aave, Compound and Uniswap. In all three platforms
the gas price is negatively correlated with the number of votes cast on
governance proposals.

A plausible explanation is that casting a vote in a governance protocol
requires creating an on-chain transaction, which incurs transaction fees.
These fees vary according to network congestion. This means that the price of
voting changes with blockchain conditions that be unrelated to the DeFi
platforms and certainly to the governance protocols. In Fig. 2 we see
indication that there is negative correlation between the Ethereum gas price
and the number of votes cast for active proposals, which could imply that
voters tend to think twice about voting when the price of voting is high. This
also introduces as new avenue for attacker to upload governance proposals at
times of high transaction fees. Table 1 also summarizes additional points of
centralization in the proposal process in the different platforms.

###  2.2 Governance Token Holding Patterns and Movement in Aave

As a case study, we collected data on governance token holders in Aave. We
looked at how these holdings change over time, and whether the token holders
indeed participate in the governance process, both in proposing and voting.
Results are summarised in Fig. 4b, Fig. 4a. Excluded from Fig. 4b are (1)
Aave’s reserve pool, the largest token holder out of the top 600 holders. Over
the entire life of the protocol, the reserve tokens were only used once to
vote in proposal 106222“Adjust Aave Governance Level 2 requirements” which
changed the structure of the governance protocol itself (lowering the quorum
requirements), and was dormant for all of the rest. (2) Aave’s genesis team.
In Fig. 4a we see that that there are several cases of users who only held on
to governance tokens for the duration of the proposal they introduces, and
transferred them elsewhere upon completing their proposing business. This
implies that the governance protocol might not always be utilized by long term
stake holders of the platform, but rather by persons of interest that buy the
tokens to promote a single proposal of interest to them and then dump them
when the proposal ends its life-cycle. We map these instances to several
proposals that were passed and were eventually reversed by the community since
they were harmful to the platform. This is detailed in Section 3.2.

Data shows tokens move frequently trough DEXs and other DeFi platforms,
explained by the fact that AAVE tokens earn interest in various DeFi
platforms. Combined with evidence showing that voters and proposers only hold
on to AAVE tokens for short periods of times when they are actively
voting/proposing paints a picture of these tokens being a quick way for
parties of interest to make vast changes to the code of the platform without
necessarily having a long term interest in the health of the platform or even
an interest in honestly participating in the platform for its intended use.
Additionally, we identify users that vote in multiple platforms. In Fig. 3 We
can see the movement of governance from the three platforms - Aave, Compound
and Uniswap. In red are voters on all three platforms. They consist of two
platforms that aid in voting/delegating votes (Sybil and Excelsior), the group
“Blockchains at UCLA”, DeFi Pulse Index (whom we discuss in depth in Section
3.2), and the rest are either pseudo-names or unidentified.

Figure 3: Governance token movement for Aave (Purple), Compound (Green) and
Uniswap (orange). The red nodes are voters on all three platforms, grey nodes
voted in two out of the three.

(a) Proposers in Aave - This image depicts AAVE token holdings of governance
proposers in Aave over time. The crossed lines indicate if a holder used their
tokens to propose a governance change at the given time. Shown are only users
that have ever used their tokens to propose. We see that proposals 27 and 65
we made by users that only held on to these tokens for the duration of a
single proposals life-cycle (proposing and voting).

(b) Voters in Aave - This image shows the top 600 AAVE token holders over time
and their voting activity. Excluded from this image are Aave’s own reserves
pool and the Aave genesis team (whom are the majority stakeholders in the
platform). The crossed lines indicate if a holder used their tokens to vote a
governance change at the given time. We see participation rates in voting
vary, and users choose on which proposals they care to vote. None of the users
vote on all proposals that happened during the time they held on to their AAVE
tokens. We also see that out of the total $14$M available AAVE tokens, the
number of tokens used to vote is very low, typically under $500$K tokens

Figure 4: AAVE token holdings over time. We watch how these tokens are
transferred between holders at times proposals for proposers(left) and voters
(right).

##  3 Vulnerability of Governance Protocols

In this section, we review use-cases of governance protocols being vulnerable
to misuse by governance token holders. In Section 3.1 are outright attacks,
scenarios in which the user manages to either steal funds from the platform by
momentarily holding governance tokens, or manipulate the reward scheme. Use-
cases in Section 3.2 are more subtle, the misuse is not obvious at first, and
is hence not stopped by safeguards of the protocol. In retrospect they are
sometimes harmful to the host platform, and require action by the community to
remedy the situation.

###  3.1 Governance Attacks and Risks

Any user with sufficient stake of the governance token can propose changes, in
code, overriding the current smart contract implementation of the platform.
Proposals are sometimes difficult to verify, especially for end users that are
not proficient in reading code. In smart contracts, there are clever ways of
disguising malicious code. These ways have been exploited by attackers in
order to upload malicious proposals that are seemingly harmless. Governance
attacks are a growing way for bad actors to steal funds from DeFi platforms.
These attacks are often very well hidden and incredibly sophisticated, and are
not discovered by the various safety measures implemented by platforms to
prevent them.

####  3.1.1 Balancer and Humpy

Balancer is a DeFi platform that uses vote-escrowed governance via veBAL
tokens. veBAL tokens are distributed to users who commit to locking funds into
Balancers’ platform. The “voting strength” a user has is determined both by
the quantity of the locked tokens and the duration funds are locked. The
voting strength decays on a weekly basis (as the funds approach being
unlocked). This design means that committing to holding BAL long term will
give an advantage to in strength to long term holders, and is supposed to
increase the stake of governance voters hold in the health of the platform
over time. veBAL holders can obtain governance rights, and accrue a portion of
protocol revenue.

Following the introduction of veBAL to Balancers’ governance, a user under the
pseudoname _Humpy_ managed to get control of 35% of the entire supply of veBAL
tokens. Humpy leveraged veBAL to create a CREAM/WETH pool and set the pool
trading fees to 10%. Then, Humpy directed its veBAL holdings across multiple
addresses and directed BAL emissions to the pool’s gauge. This way, Humpy
managed to direct 1.8M USD of cumulative BAL emissions to itself, via the to
the CREAM/WETH gauge. This was a great profit for Humpy, at the expense of
Balancer’s platform, as they only generated 17K USD in revenue from the new
pool over the same period.

The Balancer community noticed this occurrence mitigated the problem by
issuing proposal BIP 19 at an attempt to better align the veBAL design with
Balancer’s revenue. The proposal passed and Balancer introduced several new
safeguards. Following this, Humpy changed strategies, moving away from low-cap
pools into the Tetu 20WETH/80BAL/TetuBAL pool. Which again caused Humpy to be
a fast printer of BAL tokens. This created a proposition war between Humpy and
the Balancer community. The saga came to an end with a peace treaty proposal
[37] between Balancer and Humpy, where both parties agreed to give Humpy
control of 17.5% of all future BAL emissions. We visually present the data of
the distribution of Balancers veBAL token holders over time in Fig. 5. We can
see how Humpy’s stake, as well as increasing amounts of tokens being
transferred to Tetu, which is also associated with Humpy.

In this case, an oversight in the design of the governance mechanism created
an opportunity for a selfish, utility maximizing user to leverage the
Balancer’s governance to grow its own wealth at the direct expense of the
wealth and stability of the platform. This was only resolved by surrendering
significant power permanently to the attacker, essentially making it a major
stakeholder indefinitely. Clearly, this is an undesirable outcome from a
mechanism that is supposed to manage the health of the platform.

Figure 5: veBAL token holders over time. Each color represents a specific
user. There are several addresses associated with Humpy. Attribution of
addresses to Humpy was done by looking at voters that voted against proposal
BIP 28 (Kill CREAM/WETH Gauge), a proposal which stopped Humpy’s original
money printing pool. Humpy is also accountable for the growing portion of the
Tetu pool.

####  3.1.2 Beanstalk

Beanstalk is a lending platform that allowed its governance contract to change
the address of the owner of the collateral of the platform. It was attacked
[42] by an exploiter who transferred all of the collateral of the platform
(estimated at just over 182M USD) to themselves, collapsing the platform as a
result. The attack was issued by an individual who was able to take a
flashloan of Beanstalk’s governance tokens and in doing so became a majority
holder of governance tokens, allowing them to make dictatorship decisions in
the governance contract. The attacker was able to upload a seemingly innocent
governance suggestion (donating funds to Ukraine) while hiding the actual
functionality using Ethereum’s Diamond standard [40] (which is a sophisticated
version of the proxy mechanism) and was also able to use the emegranctCommit()
method to transfer to himself a sum that covered his flashloan, alongside over
180M USD in profits from the attack.

####  3.1.3 Tornado Cash

Tornado Cash [43] is a popular Ethereum based zero-knowledge mixer implemented
as a smart contract. The platform is governed by a DAO via the TORN governance
token. On May 20th 2023 the DAO handling operations, funds and future plans of
Tornado Cash was taken over by an unidentified attacker [35]. The attacker
uploaded a malicious proposal that hid a code function that granted them fake
votes. The attackers proposal imitated an earlier version – except with some
malicious code that allowed for the update of logic that gave the attacker
access to all governance votes.

####  3.1.4 Compound COMP and negative interest rates on loans

In two distinct incidents, Compounds’ governance reward mechanism (i.e. COMP
token distribution) created condition in which the interest rate on COMP loans
in Compounds’ own platform were negative. In the first case, COMP rewards
rates were applied at the same rate for both suppliers and borrowers for any
single market, which created negative interest rates when borrowing certain
assets from the platform. Governance proposal 62 [17] changed the distribution
to fix the problem. Proposal 68 [16] was imposed to remedy another negative
interest situation. Compound used to reward cCOMP333this token is printed by
Compound to represent positions in the COMP token borrowing with COMP tokens.
This meant the net rate for borrowing COMP was negative. In both these
examples, a user that borrows COMP token both makes revenue on _borrowing_
funds and increases their voting power in the platform, as the COMP token is
the governance token used to vote on and propose changes to the Compound
protocol. In addition to being bad for the platform’s balance, the fact that
this happened with the platform’s governance token made the risk worse, since
the negative interest rate de-facto meant that users borrowing COMP tokens
disproportionately increased their voting power in the platform.

###  3.2 Cross-Platform Governance activity

In this section we present evidence of platforms holding stake in other
platforms’ governance. This stake can either be bought by a competing
platform, or sometimes be gained by simply holding user’s tokens which happen
to be governance tokens in other platforms. This creates dependencies between
platforms, exposing them to devastating risks. We present two examples of
proposals in Aave’s governance protocol in which users leveraged Aave’s
governance mechanism to propose and vote on a single transaction to promote
their own token on Aave’s platform. Both proposals passed and were implemented
without much objection. Both were later overturned upon new government
proposals, due to extreme drops in the value of the tokens, that were
substantial enough to risk the health of the Aave ecosystem.

####  3.2.1 Terra’s UST in Aave

Terra is a blockchain protocol and payment platform for algorithmic stable-
coins. On March 8th 2022 proposal number $65$ was created on Aave’s governance
protocol [4]. The title of the proposal is “Add Terra USD (UST) to Aave v2”.
The proposer of this transaction is Ethereum address $0xf...011$. This also
the biggest voter for the transaction, with $230.9$K out of the total $487.7$K
votes in support of this proposal. The proposal passed and was executed on
Aave’s platform. The proposer got ownership of the AAVE tokens just before
this proposal, and discarded them right after the vote. The Terra USD token
collapsed on May 12th 2022 after it depegged from the USD, an event that wiped
out almost $45 billion in market capitalisation within a week[38]. Adding the
UST token to Aave’s platform did not promote the health of the system. During
the process of preparing the proposal on-chain this address received funds
from address $0xbe...e682$ which is associated with Terraform Labs, the
company behind the now collapsed Terra stable-coin UST, hinting that Terraform
Labs was behind this proposal. This in potentially catastrophic to Aave’s
platform, as loans taken out with UST as collateral will most likely never be
repaid, as the collateral is now worthless.

Aave only noticed this after the collapse. On May 19th 2022, the Aave DAO
executed proposal 75 [5], this time for “Freezing UST and Updating stETH
Parameters”. This proposal also passed with $450$K votes in favor of freezing
the asset on Aave’s platform.

####  3.2.2 DeFi Pulse Index and Meta-Governance

The DeFi Pulse Index (DPI) is a DeFi platform aiming to implement a
decentralized capitalization-weighted index that tracks the performance of
DeFi assets on the Ethereum blockchain. DeFi Pulse index purchased different
ERC-20 tokens across the Ethereum DeFi ecosystem, in the native tokens to the
relevant platforms. In Aave, Compound, Balancer and Uniswap the native token
is also a governance token. DPI is aware of this and has implemented a “Meta-
governance” protocol. Currently, this enables DPI holders to vote on changes
to the Aave, Compound, and Uniswap (DPI stated they will expand to other
protocols in the future). Interestingly, the only governance proposal that DPI
holder have voted on in the Aave platform was proposal 27 [1] to “begin the
on-boarding process for listing DeFi Pulse Index (DPI) as collateral on the
Aave ARC market”. The proposal was created by Ethereum address $0x7f\ldots
32E$ , an address funded by DPI in transaction $0x37\ldots 0bf$. This proposal
whitelisted DPI on the Aave platform, making it viable as collateral to loan-
takers on the Aave platform. Later, in proposal $189$ [6] “Freeze DPI on V2
Ethereum” Aave decided to stop support for DPI due to “implied centralization
risk of DPI compared with the direct holding of the basket of underlying
assets”. DeFi Pulse Index was able to gain enough AAVE governance tokens to
momentarily vote their own token, DPI, into Aave’s protocol. It took the Aave
community over a year to realize that having DPI as collateral in Aave is
harmful to the platform and the ecosystem due to increased risk of cascade in
case of a drop in DPI’s value, and correct it.

####  3.2.3 Platforms Holding Stake in Other Platforms

In some cases, platforms choose to hold stake in other platforms in what is
meant to be a benign partnership. The nature of governance tokens however,
means these stake-holdings can cause harm to the health of at least one of the
platforms. Two notable examples are:

##### Binance and Uniswap

On Oct. 2022, Binance [13] shifted $~{}4.6M$ UNI tokens between two different
wallets owned by Binance. This caused $13M$ UNI tokens to be automatically
delegated to Binance’s wallet on Uniswap by accident[31]. This made Binance
one of the largest delegates in Uniswap at the time. Although Binance did not
vote with the UNI tokens, they could have. This is an example of how a bug in
Binance’s platform directly affects Uniswap’s governance.

##### Aave and Balancer

The Aave community has passed two governance decisions (proposal 87 [3] and
proposal 115 [2] to buy stake in BAL tokens, as part of a strategic
partnership between the platforms. They are aiming to re-lock these tokens
back into Balancer in order to gain stake in veBAL, which in addition to a
monetary reward gives them voting power in Balancer’s governance. This is
again a point of centralization in the market which makes the platforms co-
dependent, meaning a collapse in one platform can pull down the other.

##  4 Related Work

Although governance protocols underline many prominent DeFi projects (such as
Uniswap, Aave, and the others which were covered in this work), the literature
dedicated to the subject is rather sparse. Kiayias  _et al._ [32] present a
SoK of governance protocols, which defines several properties of interest such
as who is granted suffrage by each protocol, and the confidentiality of the
voting process. They then perform a qualitative analysis of both the
governance of blockchain consensus mechanism (e.g., the method by which
improvements are suggested and adopted by cryptocurrencies such as Bitcoin and
Ethereum), and the on-chain protocols used by DeFi protocols. Barbereau  _et
al._ [10] quantify the decentralization of the governance mechanisms of
Uniswap, Maker, SushiSwap, Yearn Finance, Universal Market Access by applying
various metrics to the governance token balances of the aforementioned
mechanisms’ users. Sun _et al._ [44] attempt to quantify the level of
centralization in MakerDao’s governance. Fritsch _et al._ [26] map governance
holding power and clusters that vote together for Uniswap and compound.
Barbereau _et al._ [11] analyze initial distribution of governance tokens and
centrality in voting. Fan _et al._ [23] study how issuing governance tokens
affects user’s incentives to participate in a DeFi platform, mainly to provide
liquidity.

##  5 Conclusions

This studies the design of popular governance mechanisms and analyzes points
of centralization in protocols that are meant to be decentralized. It shows
that participation rates are low, users tend to vote even less at times of
high transaction fees, and voting is highly centralized. We identify specific
examples of users who hold governance tokens for the duration of a single
proposal which they created and voted for with a majority of the voting power.
These proposals were retroactively discovered as harmful to the platform, and
reverted at a later date. From all of these a picture is painted, implying
that governance tokens are often not fulfilling the goal for which they are
meant. Specifically, users of the platform do not use them to vote for
proposals that create a more stable and safe platform overtime, but rather
often use them to promote their own goals, which are sometimes harmful to the
platform itself. These results align with ample research on referendums [24].
The delegation model might be a remedy to some of the issues discussed in this
paper. It however does not solve the incentives problem of users losing money
by voting instead of investing their governance token. Exploring mechanisms
that combine a delegation model with financial incentives is therefore a good
direction for future work.

## References

  * [1] Aave.  Add dpi on aave v2, 2021.
  * [2] Aave.  Aave governance proposal 115, 2022.
  * [3] Aave.  Aave governance proposal 87, 2022.
  * [4] Aave.  Add terra usd (ust) to aave v2, 2022.
  * [5] Aave.  Freezing ust and updating steth parameters, 2022.
  * [6] Aave.  Freeze dpi on v2 ethereum, 2023.
  * [7] Andreas M Antonopoulos and Gavin Wood.  Mastering ethereum: building smart contracts and dapps.  O’reilly Media, 2018.
  * [8] Balancer.  Vote-escrowed governance, 2022.
  * [9] Shehar Bano, Alberto Sonnino, Mustafa Al-Bassam, Sarah Azouvi, Patrick McCorry, Sarah Meiklejohn, and George Danezis.  Sok: Consensus in the age of blockchains.  In Proceedings of the 1st ACM Conference on Advances in Financial Technologies, AFT ’19, page 183–198, New York, NY, USA, 2019. Association for Computing Machinery.
  * [10] Tom Barbereau, Reilly Smethurst, Orestis Papageorgiou, Alexander Rieger, and Gilbert Fridgen.  Defi, not so decentralized: The measured distribution of voting rights.  In Proceedings of the 55th Hawaii International Conference on System Sciences, 2022.
  * [11] Tom Barbereau, Reilly Smethurst, Orestis Papageorgiou, Johannes Sedlmeir, and Gilbert Fridgen.  Decentralised finance’s unregulated governance: Minority rule in the digital wild west.  Available at SSRN, 2022.
  * [12] Alex Beregszaszi and Nikolai Mushegian.  Eip-140: Revert instruction, 2017.
  * [13] Binance.  Binance, 2021.
  * [14] Bored Ghosts (bgd-labs).  Aave seatbelt, 2021.
  * [15] Vitalik Buterin.  Ethereum whitepaper, July 2022.
  * [16] Compound.  End ccomp borrow rewards, 2021.
  * [17] Compound.  Split comp rewards distribution and bug fixes, 2021.
  * [18] Curve.fi.  Curve dao: Vote-escrowed crv, 2022.
  * [19] Philip Daian, Steven Goldfeder, Tyler Kell, Yunqi Li, Xueyuan Zhao, Iddo Bentov, Lorenz Breidenbach, and Ari Juels.  Flash boys 2.0: Frontrunning in decentralized exchanges, miner extractable value, and consensus instability.  In 2020 IEEE Symposium on Security and Privacy, SP 2020, San Francisco, CA, USA, May 18-21, 2020, pages 910–927. IEEE, 2020.
  * [20] Maya Dotan, Yvonne-Anne Pignolet, Stefan Schmid, Saar Tochner, and Aviv Zohar.  Survey on blockchain networking: Context, state-of-the-art, challenges.  ACM Computing Surveys (CSUR), 54(5):1–34, 2021.
  * [21] Maya Dotan and Saar Tochner.  Proofs of useless work – positive and negative results for wasteless mining systems, 2021.
  * [22] Ethereum.org.  Erc-20 token standard, 2021.
  * [23] Sizheng Fan, Tian Min, Xiao Wu, and Cai Wei.  Towards understanding governance tokens in liquidity mining: a case study of decentralized exchanges.  World Wide Web, pages 1–20, 2022.
  * [24] Timothy J Feddersen.  Rational choice theory and the paradox of not voting.  Journal of Economic perspectives, 18(1):99–112, 2004.
  * [25] Compound Finance.  Governance, 2022.
  * [26] Robin Fritsch, Marino Müller, and Roger Wattenhofer.  Analyzing voting power in decentralized governance: Who controls daos?  arXiv preprint arXiv:2204.01176, 2022.
  * [27] Yotam Gafni and Aviv Yaish.  Greedy transaction fee mechanisms for (non-)myopic miners, 2022.
  * [28] Robert P Goldberg.  Survey of virtual machine research.  Computer, 7(6):34–45, 1974.
  * [29] Lewis Gudgeon, Daniel Perez, Dominik Harz, Benjamin Livshits, and Arthur Gervais.  The decentralized financial crisis.  In Crypto Valley Conference on Blockchain Technology, CVCBT 2020, Rotkreuz, Switzerland, June 11-12, 2020, pages 1–15. IEEE, 2020.
  * [30] Johannes Rude Jensen, Victor von Wachter, and Omri Ross.  How decentralized is the governance of blockchain-based finance: Empirical evidence from four governance token distributions.  arXiv preprint arXiv:2102.10096, 2021.
  * [31] Sam Kessler.  Binance becomes second-largest voting entity on uniswap dao, 2022.
  * [32] Aggelos Kiayias and Philip Lazos.  Sok: Blockchain governance, 2022.
  * [33] Robert Leshner and Geoffrey Hayes.  Compound: The money market protocol, 2019.
  * [34] Lossless.  Ronin & axie infinity hack: Risks of a multisig, 2022.
  * [35] Shaurya Malwa.  Attacker takes over tornado cash dao with vote fraud, token slumps 40%, 2023.
  * [36] Lodovica Marchesi, Michele Marchesi, Giuseppe Destefanis, Giulio Barabino, and Danilo Tigano.  Design patterns for gas optimization in ethereum.  In 2020 IEEE International Workshop on Blockchain Oriented Software Engineering (IWBOSE), pages 9–15. IEEE, 2020.
  * [37] Messari.  Peace treaty (bip 128), 2022.
  * [38] Hannah Miller.  Terra $45 billion face plant creates crowd of crypto losers, 2022.
  * [39] Amani Moin, Kevin Sekniqi, and Emin Gun Sirer.  Sok: A classification framework for stablecoin designs.  In International Conference on Financial Cryptography and Data Security, pages 174–197. Springer, Springer International Publishing, 2020.
  * [40] Nick Mudge.  Eip-2535: Diamonds, multi-facet proxy, 2022.
  * [41] Satoshi Nakamoto.  Bitcoin: A peer-to-peer electronic cash system, 2008.
  * [42] Newar.  Beanstalk farms loses 182m usd in defi governance exploit, 2022.
  * [43] Alexey Pertsev, Roman Semenov, and Roman Storm.  Tornado cash privacy solution version 1.4.  2019\.
  * [44] Xiaotong Sun, Charalampos Stasinakis, and Georigios Sermpinis.  Decentralization illusion in defi: Evidence from makerdao, 2022.
  * [45] Uniswap.  Uniswap v2 sdk, 2022.
  * [46] Friedhelm Victor and Bianca Katharina Lüders.  Measuring ethereum-based erc20 token networks.  In Financial Cryptography and Data Security, page 113–129, Berlin, Heidelberg, 2022. Springer-Verlag.
  * [47] Fabian Vogelsteller and Vitalik Buterin.  Eip-20: Token standard, 2015.
  * [48] Gavin Wood et al.  Ethereum: A secure decentralised generalised transaction ledger.  Ethereum project yellow paper, 151(2014):1–32, 2014.
  * [49] wow.  Aave protocol, 2020.
  * [50] Jiahua Xu, Nazariy Vavryk, Krzysztof Paruch, and Simon Cousaert.  Sok: Decentralized exchanges (DEX) with automated market maker (AMM) protocols, 2021.
  * [51] Aviv Yaish, Saar Tochner, and Aviv Zohar.  Blockchain stretching & squeezing: Manipulating time for your best interest, 2022.