Adding concurrency to smart contracts
- Published: 06 Jul 2019
- Yale University
- Yale University Finland
- Brown University United States
- Funder: National Science Foundation (NSF)
- Project Code: 1421126
- Funding stream: Directorate for Computer & Information Science & Engineering | Division of Computing and Communication Foundations
[1] R. D. Blumofe, C. F. Joerg, B. C. Kuszmaul, C. E. Leiserson, K. H. Randall, and Y. Zhou. Cilk: An e cient multithreaded runtime system. In Proceedings of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP '95, pages 207{216, New York, NY, USA, 1995. ACM.
[2] R. L. Bocchino, Jr., V. S. Adve, S. V. Adve, and M. Snir. Parallel programming must be deterministic by default. In Proceedings of the First USENIX Conference on Hot Topics in Parallelism, HotPar'09, pages 4{4, Berkeley, CA, USA, 2009. USENIX Association.
[3] N. G. Bronson, J. Casper, H. Cha , and K. Olukotun. Transactional predication: Highperformance concurrent sets and maps for stm. In Proceedings of the 29th ACM SIGACTSIGOPS Symposium on Principles of Distributed Computing, PODC '10, pages 6{15, New York, NY, USA, 2010. ACM.
[4] DAO. Thedao smart contract. Retrieved 8 February 2017.
[5] K. Delmolino, M. Arnett, A. Kosba, A. Miller, and E. Shi. Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab, pages 79{94. Springer Berlin Heidelberg, Berlin, Heidelberg, 2016.
[6] Ethereum. https://github.com/ethereum/.
[14] E. Koskinen, M. J. Parkinson, and M. Herlihy. Coarse-grained transactions. In Proceedings of the 37th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'10), pages 19{30. ACM, 2010. [OpenAIRE]
[15] L. Luu, D. Chu, H. Olickel, P. Saxena, and A. Hobor. Making smart contracts smarter. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, October 24-28, 2016, pages 254{269, 2016. [OpenAIRE]
[16] L. Luu, J. Teutsch, R. Kulkarni, and P. Saxena. Demystifying incentives in the consensus computer. In Proceedings of the 22Nd ACM SIGSAC Conference on Computer and Communications Security, CCS '15, pages 706{719, New York, NY, USA, 2015. ACM.
[17] S. Nakamoto. Bitcoin: A peer-to-peer electronic cash system. May 2009.
[18] Scala STM Expert Group. Scalastm. web. Retrieved from http://nbronson.github.com/ scala-stm/, 20 November 2011.
[19] Solidity documentation. http://solidity.readthedocs.io/en/latest/index.html.
[20] Solidity documentation: Solidity by example. develop/solidity-by-example.html.
uint winningVoteCount = 0; for (uint p = 0; p < proposals.length; p++) f if (proposals[p].voteCount > winningVoteCount) f winningVoteCount = proposals[p].voteCount; winningProposal = p;
Related research
- Yale University
- Yale University Finland
- Brown University United States
- Funder: National Science Foundation (NSF)
- Project Code: 1421126
- Funding stream: Directorate for Computer & Information Science & Engineering | Division of Computing and Communication Foundations
[1] R. D. Blumofe, C. F. Joerg, B. C. Kuszmaul, C. E. Leiserson, K. H. Randall, and Y. Zhou. Cilk: An e cient multithreaded runtime system. In Proceedings of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP '95, pages 207{216, New York, NY, USA, 1995. ACM.
[2] R. L. Bocchino, Jr., V. S. Adve, S. V. Adve, and M. Snir. Parallel programming must be deterministic by default. In Proceedings of the First USENIX Conference on Hot Topics in Parallelism, HotPar'09, pages 4{4, Berkeley, CA, USA, 2009. USENIX Association.
[3] N. G. Bronson, J. Casper, H. Cha , and K. Olukotun. Transactional predication: Highperformance concurrent sets and maps for stm. In Proceedings of the 29th ACM SIGACTSIGOPS Symposium on Principles of Distributed Computing, PODC '10, pages 6{15, New York, NY, USA, 2010. ACM.
[4] DAO. Thedao smart contract. Retrieved 8 February 2017.
[5] K. Delmolino, M. Arnett, A. Kosba, A. Miller, and E. Shi. Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab, pages 79{94. Springer Berlin Heidelberg, Berlin, Heidelberg, 2016.
[6] Ethereum. https://github.com/ethereum/.
[14] E. Koskinen, M. J. Parkinson, and M. Herlihy. Coarse-grained transactions. In Proceedings of the 37th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'10), pages 19{30. ACM, 2010. [OpenAIRE]
[15] L. Luu, D. Chu, H. Olickel, P. Saxena, and A. Hobor. Making smart contracts smarter. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, October 24-28, 2016, pages 254{269, 2016. [OpenAIRE]
[16] L. Luu, J. Teutsch, R. Kulkarni, and P. Saxena. Demystifying incentives in the consensus computer. In Proceedings of the 22Nd ACM SIGSAC Conference on Computer and Communications Security, CCS '15, pages 706{719, New York, NY, USA, 2015. ACM.
[17] S. Nakamoto. Bitcoin: A peer-to-peer electronic cash system. May 2009.
[18] Scala STM Expert Group. Scalastm. web. Retrieved from http://nbronson.github.com/ scala-stm/, 20 November 2011.
[19] Solidity documentation. http://solidity.readthedocs.io/en/latest/index.html.
[20] Solidity documentation: Solidity by example. develop/solidity-by-example.html.
uint winningVoteCount = 0; for (uint p = 0; p < proposals.length; p++) f if (proposals[p].voteCount > winningVoteCount) f winningVoteCount = proposals[p].voteCount; winningProposal = p;