  Feeding external data to a blockchain, a.k.a. data feed, is an essential task
to enable blockchain interoperability and support emerging cross-domain
applications, notably stablecoins. Given the data-intensive feeds in real life
(e.g., high-frequency price updates) and the high cost in using blockchain,
namely Gas, it is imperative to reduce the Gas cost of data feeds. Motivated by
the constant-changing workloads in finance and other applications, this work
focuses on designing a dynamic, workload-aware approach for cost effectiveness
in Gas. This design space is understudied in the existing blockchain research
which has so far focused on static data placement.
  This work presents GRuB, a cost-effective data feed that dynamically
replicates data between the blockchain and an off-chain cloud storage. GRuB's
data replication is workload-adaptive by monitoring the current workload and
making online decisions w.r.t. data replication. A series of online algorithms
are proposed that achieve the bounded worst-case cost in blockchain's Gas. GRuB
runs the decision-making components on the untrusted cloud off-chain for lower
Gas costs, and employs a security protocol to authenticate the data transferred
between the blockchain and cloud. The overall GRuB system can autonomously
achieve low Gas costs with changing workloads.
  We built a GRuB prototype functional with Ethereum and Google LevelDB, and
supported real applications in stablecoins. Under real workloads collected from
the Ethereum contract-call history and mixed workloads of YCSB, we
systematically evaluate GRuB's cost which shows a saving of Gas by 10% ~ 74%,
with comparison to the baselines of static data-placement.
