---
_id: '6378'
abstract:
- lang: eng
text: 'In today''s cryptocurrencies, Hashcash proof of work is the most commonly-adopted
approach to mining. In Hashcash, when a miner decides to add a block to the chain,
she has to solve the difficult computational puzzle of inverting a hash function.
While Hashcash has been successfully adopted in both Bitcoin and Ethereum, it
has attracted significant and harsh criticism due to its massive waste of electricity,
its carbon footprint and environmental effects, and the inherent lack of usefulness
in inverting a hash function. Various other mining protocols have been suggested,
including proof of stake, in which a miner''s chance of adding the next block
is proportional to her current balance. However, such protocols lead to a higher
entry cost for new miners who might not still have any stake in the cryptocurrency,
and can in the worst case lead to an oligopoly, where the rich have complete control
over mining. In this paper, we propose Hybrid Mining: a new mining protocol that
combines solving real-world useful problems with Hashcash. Our protocol allows
new miners to join the network by taking part in Hashcash mining without having
to own an initial stake. It also allows nodes of the network to submit hard computational
problems whose solutions are of interest in the real world, e.g.~protein folding
problems. Then, miners can choose to compete in solving these problems, in lieu
of Hashcash, for adding a new block. Hence, Hybrid Mining incentivizes miners
to solve useful problems, such as hard computational problems arising in biology,
in a distributed manner. It also gives researchers in other areas an easy-to-use
tool to outsource their hard computations to the blockchain network, which has
enormous computational power, by paying a reward to the miner who solves the problem
for them. Moreover, our protocol provides strong security guarantees and is at
least as resilient to double spending as Bitcoin.'
article_processing_charge: No
author:
- first_name: Krishnendu
full_name: Chatterjee, Krishnendu
id: 2E5DCA20-F248-11E8-B48F-1D18A9856A87
last_name: Chatterjee
orcid: 0000-0002-4561-241X
- first_name: Amir Kafshdar
full_name: Goharshady, Amir Kafshdar
id: 391365CE-F248-11E8-B48F-1D18A9856A87
last_name: Goharshady
orcid: 0000-0003-1702-6584
- first_name: Arash
full_name: Pourdamghani, Arash
last_name: Pourdamghani
citation:
ama: 'Chatterjee K, Goharshady AK, Pourdamghani A. Hybrid Mining: Exploiting blockchain’s
computational power for distributed problem solving. In: Proceedings of the
34th ACM Symposium on Applied Computing. Vol Part F147772. ACM; 2019:374-381.
doi:10.1145/3297280.3297319'
apa: 'Chatterjee, K., Goharshady, A. K., & Pourdamghani, A. (2019). Hybrid Mining:
Exploiting blockchain’s computational power for distributed problem solving. In
Proceedings of the 34th ACM Symposium on Applied Computing (Vol. Part F147772,
pp. 374–381). Limassol, Cyprus: ACM. https://doi.org/10.1145/3297280.3297319'
chicago: 'Chatterjee, Krishnendu, Amir Kafshdar Goharshady, and Arash Pourdamghani.
“Hybrid Mining: Exploiting Blockchain’s Computational Power for Distributed Problem
Solving.” In Proceedings of the 34th ACM Symposium on Applied Computing,
Part F147772:374–81. ACM, 2019. https://doi.org/10.1145/3297280.3297319.'
ieee: 'K. Chatterjee, A. K. Goharshady, and A. Pourdamghani, “Hybrid Mining: Exploiting
blockchain’s computational power for distributed problem solving,” in Proceedings
of the 34th ACM Symposium on Applied Computing, Limassol, Cyprus, 2019, vol.
Part F147772, pp. 374–381.'
ista: 'Chatterjee K, Goharshady AK, Pourdamghani A. 2019. Hybrid Mining: Exploiting
blockchain’s computational power for distributed problem solving. Proceedings
of the 34th ACM Symposium on Applied Computing. ACM Symposium on Applied Computing
vol. Part F147772, 374–381.'
mla: 'Chatterjee, Krishnendu, et al. “Hybrid Mining: Exploiting Blockchain’s Computational
Power for Distributed Problem Solving.” Proceedings of the 34th ACM Symposium
on Applied Computing, vol. Part F147772, ACM, 2019, pp. 374–81, doi:10.1145/3297280.3297319.'
short: K. Chatterjee, A.K. Goharshady, A. Pourdamghani, in:, Proceedings of the
34th ACM Symposium on Applied Computing, ACM, 2019, pp. 374–381.
conference:
end_date: 2019-04-12
location: Limassol, Cyprus
name: ACM Symposium on Applied Computing
start_date: 2019-04-08
date_created: 2019-05-06T12:11:36Z
date_published: 2019-04-01T00:00:00Z
date_updated: 2024-03-28T23:30:34Z
day: '01'
ddc:
- '004'
department:
- _id: KrCh
doi: 10.1145/3297280.3297319
ec_funded: 1
external_id:
isi:
- '000474685800049'
file:
- access_level: open_access
checksum: fbfbcd5a0c7a743862bfc3045539a614
content_type: application/pdf
creator: dernst
date_created: 2019-05-06T12:09:27Z
date_updated: 2020-07-14T12:47:29Z
file_id: '6379'
file_name: 2019_ACM_Chatterjee.pdf
file_size: 1023934
relation: main_file
file_date_updated: 2020-07-14T12:47:29Z
has_accepted_license: '1'
isi: 1
language:
- iso: eng
month: '04'
oa: 1
oa_version: Submitted Version
page: 374-381
project:
- _id: 2581B60A-B435-11E9-9278-68D0E5697425
call_identifier: FP7
grant_number: '279307'
name: 'Quantitative Graph Games: Theory and Applications'
- _id: 25892FC0-B435-11E9-9278-68D0E5697425
grant_number: ICT15-003
name: Efficient Algorithms for Computer Aided Verification
- _id: 25832EC2-B435-11E9-9278-68D0E5697425
call_identifier: FWF
grant_number: S 11407_N23
name: Rigorous Systems Engineering
publication: Proceedings of the 34th ACM Symposium on Applied Computing
publication_identifier:
isbn:
- '9781450359337'
publication_status: published
publisher: ACM
pubrep_id: '1069'
quality_controlled: '1'
related_material:
record:
- id: '8934'
relation: dissertation_contains
status: public
scopus_import: '1'
status: public
title: 'Hybrid Mining: Exploiting blockchain’s computational power for distributed
problem solving'
type: conference
user_id: 4359f0d1-fa6c-11eb-b949-802e58b17ae8
volume: Part F147772
year: '2019'
...
---
_id: '6490'
abstract:
- lang: eng
text: "Smart contracts are programs that are stored and executed on the Blockchain
and can receive, manage and transfer money (cryptocurrency units). Two important
problems regarding smart contracts are formal analysis and compiler optimization.
Formal analysis is extremely important, because smart contracts hold funds worth
billions of dollars and their code is immutable after deployment. Hence, an undetected
bug can cause significant financial losses. Compiler optimization is also crucial,
because every action of a smart contract has to be executed by every node in the
Blockchain network. Therefore, optimizations in compiling smart contracts can
lead to significant savings in computation, time and energy.\r\n\r\nTwo classical
approaches in program analysis and compiler optimization are intraprocedural and
interprocedural analysis. In intraprocedural analysis, each function is analyzed
separately, while interprocedural analysis considers the entire program. In both
cases, the analyses are usually reduced to graph problems over the control flow
graph (CFG) of the program. These graph problems are often computationally expensive.
Hence, there has been ample research on exploiting structural properties of CFGs
for efficient algorithms. One such well-studied property is the treewidth, which
is a measure of tree-likeness of graphs. It is known that intraprocedural CFGs
of structured programs have treewidth at most 6, whereas the interprocedural treewidth
cannot be bounded. This result has been used as a basis for many efficient intraprocedural
analyses.\r\n\r\nIn this paper, we explore the idea of exploiting the treewidth
of smart contracts for formal analysis and compiler optimization. First, similar
to classical programs, we show that the intraprocedural treewidth of structured
Solidity and Vyper smart contracts is at most 9. Second, for global analysis,
we prove that the interprocedural treewidth of structured smart contracts is bounded
by 10 and, in sharp contrast with classical programs, treewidth-based algorithms
can be easily applied for interprocedural analysis. Finally, we supplement our
theoretical results with experiments using a tool we implemented for computing
treewidth of smart contracts and show that the treewidth is much lower in practice.
We use 36,764 real-world Ethereum smart contracts as benchmarks and find that
they have an average treewidth of at most 3.35 for the intraprocedural case and
3.65 for the interprocedural case.\r\n"
article_processing_charge: No
author:
- first_name: Krishnendu
full_name: Chatterjee, Krishnendu
id: 2E5DCA20-F248-11E8-B48F-1D18A9856A87
last_name: Chatterjee
orcid: 0000-0002-4561-241X
- first_name: Amir Kafshdar
full_name: Goharshady, Amir Kafshdar
id: 391365CE-F248-11E8-B48F-1D18A9856A87
last_name: Goharshady
orcid: 0000-0003-1702-6584
- first_name: Ehsan Kafshdar
full_name: Goharshady, Ehsan Kafshdar
last_name: Goharshady
citation:
ama: 'Chatterjee K, Goharshady AK, Goharshady EK. The treewidth of smart contracts.
In: Proceedings of the 34th ACM Symposium on Applied Computing. Vol Part
F147772. ACM; :400-408. doi:10.1145/3297280.3297322'
apa: 'Chatterjee, K., Goharshady, A. K., & Goharshady, E. K. (n.d.). The treewidth
of smart contracts. In Proceedings of the 34th ACM Symposium on Applied Computing
(Vol. Part F147772, pp. 400–408). Limassol, Cyprus: ACM. https://doi.org/10.1145/3297280.3297322'
chicago: Chatterjee, Krishnendu, Amir Kafshdar Goharshady, and Ehsan Kafshdar Goharshady.
“The Treewidth of Smart Contracts.” In Proceedings of the 34th ACM Symposium
on Applied Computing, Part F147772:400–408. ACM, n.d. https://doi.org/10.1145/3297280.3297322.
ieee: K. Chatterjee, A. K. Goharshady, and E. K. Goharshady, “The treewidth of smart
contracts,” in Proceedings of the 34th ACM Symposium on Applied Computing,
Limassol, Cyprus, vol. Part F147772, pp. 400–408.
ista: 'Chatterjee K, Goharshady AK, Goharshady EK. The treewidth of smart contracts.
Proceedings of the 34th ACM Symposium on Applied Computing. SAC: Symposium on
Applied Computing vol. Part F147772, 400–408.'
mla: Chatterjee, Krishnendu, et al. “The Treewidth of Smart Contracts.” Proceedings
of the 34th ACM Symposium on Applied Computing, vol. Part F147772, ACM, pp.
400–08, doi:10.1145/3297280.3297322.
short: K. Chatterjee, A.K. Goharshady, E.K. Goharshady, in:, Proceedings of the
34th ACM Symposium on Applied Computing, ACM, n.d., pp. 400–408.
conference:
end_date: 2019-04-12
location: Limassol, Cyprus
name: 'SAC: Symposium on Applied Computing'
start_date: 2019-04-08
date_created: 2019-05-26T21:59:15Z
date_published: 2019-04-01T00:00:00Z
date_updated: 2024-03-28T23:30:34Z
day: '01'
ddc:
- '000'
department:
- _id: KrCh
doi: 10.1145/3297280.3297322
external_id:
isi:
- '000474685800052'
file:
- access_level: open_access
checksum: dddc20f6d9881f23b8755eb720ec9d6f
content_type: application/pdf
creator: dernst
date_created: 2020-05-14T09:50:11Z
date_updated: 2020-07-14T12:47:32Z
file_id: '7827'
file_name: 2019_ACM_Chatterjee.pdf
file_size: 6937138
relation: main_file
file_date_updated: 2020-07-14T12:47:32Z
has_accepted_license: '1'
isi: 1
language:
- iso: eng
month: '04'
oa: 1
oa_version: Submitted Version
page: 400-408
publication: Proceedings of the 34th ACM Symposium on Applied Computing
publication_identifier:
isbn:
- '9781450359337'
publication_status: submitted
publisher: ACM
pubrep_id: '1070'
quality_controlled: '1'
related_material:
record:
- id: '8934'
relation: dissertation_contains
status: public
scopus_import: '1'
status: public
title: The treewidth of smart contracts
type: conference
user_id: 4359f0d1-fa6c-11eb-b949-802e58b17ae8
volume: Part F147772
year: '2019'
...