Electrotechnical and Computer Engineering
Vol. 37 No. 11 (2022): Proceedings of Faculty of Technical Sciences
APPLICATION OF SOURCE CODE OBFUSCATION TECHNIQUES IN THE SOLIDITY PROGRAMMING LANGUAGE
Abstract
This work will present the possibilities of applying obfuscation techniques over source code written in the Solidity programming language. The work also includes a description of the implementation of these techniques written in the Go programming language.
References
[1] M. Van Steen, A.S. Tanenbaum, „A brief introduction to distributed systems“, Computing 98, pp. 967-1009, 2016.
[2] R. Ugarte, J. Luis, „Distributed Ledger Technology (DLT): Introduction“, Banco de Espana Article 19/18, October 2018.
[3] L. Lamport, R. Shostak, M.Pease, „The Byzantine Generals Problem“, Transactions on Programming Languages and Systems, volume 4, issue 3, July 1982.
[4] S. Haber, W.S. Stornetta, „How to Time-stamp a Digital Document“, Journal of Cryptography, volume 3, pp. 99-111, 1991.
[5] D. Bayer, W.S. Stornetta, S. Haber, „Improving the Efficiency and Reliability of Digital Time-Stamping“ u Sequences II: Methods in Communication, Security and Computer Science, New York: Springer-Verlag, 1993, pp. 329-334
[6] S. Nakamoto, „Bitcoin: A peer-to-peer electronic cash system“, https://bitcoin.org/bitcoin.pdf , 2008.
[7] N. Szabo, „Smart Contracts: Building Blocks for Digital Markets“, 1996. [Online]. Dostupno na: https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html (pristupljeno u septembru 2022.)
[8] J. Frankenfield, „What is Cryptocurrency?“, May 2022. [Online]. Dostupno na: https://www.investopedia.com/terms/c/cryptocurrency.asp (pristupljeno u septembru 2022.)
[9] S. Kepser, „A Simple Proof of the Turing-completeness of XSLT and XQuery“, u Proc. Extreme Markup Languages, Quebec, 2004.
[10] V. Buterin, „Ethereum Whitepaper“, 2013. [Online]. Dostupno na: https://ethereum.org/en/whitepaper/ (pristupljeno u septembru 2022.)
[11] [Online]. Dostupno na: https://docs.soliditylang.org/en/v0.8.17/ (pristupljeno u septembru 2022.)
[12] C. Collberg, C. Thomborson, D. Low, „A Taxonomy of Obfuscating Transformations“, 1997.
[13] C. Collberg, C. Thomborson, D. Low, „Manufacturing cheap, resilient, and stealthy opaque constructs“, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '98, 1998.
[14] D. Xu, J. Ming, D. Wu, „Generalized Dynamic Opaque Predicates: A New Control Flow Obfuscation Method“, Lecture Notes in Computer Science, Springer, pp. 323-342