Abstract
Light clients, also known as Simple Payment Verification (SPV) clients, are nodes which only download a small portion of the data in a blockchain, and use indirect means to verify that a given chain is valid. Instead of validating blocks, they assume that the chain favoured by the blockchain’s consensus algorithm only contains valid blocks, and that the majority of block producers are honest. By allowing such clients to receive fraud proofs generated by fully validating nodes that show that a block violates the protocol rules, and combining this with probabilistic sampling techniques to verify that all of the data in a block actually is available to be downloaded so that fraud can be detected, we can eliminate the honest-majority assumption for block validity, and instead make much weaker assumptions about a minimum number of honest nodes that rebroadcast data. Fraud and data availability proofs are key to enabling on-chain scaling of blockchains while maintaining a strong assurance that on-chain data is available and valid. We present, implement, and evaluate a fraud and data availability proof system.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
References
Al-Bassam, M., Sonnino, A., Bano, S., Hrycyszyn, D., Danezis, G.: Chainspace: A sharded smart contracts platform. In: Proceedings of the Network and Distributed System Security Symposium (NDSS) (2018)
Antonopoulos, A.M.: Mastering bitcoin: unlocking digital crypto-currencies. O’Reilly Media Inc. 1st edn. (2014)
Bano, S., Sonnino, A., Al-Bassam, M., Azouvi, S., McCorry, P., Meiklejohn, S., Danezis, G.: Consensus in the age of blockchains. CoRR abs/1711.03936 (2017). https://arxiv.org/abs/1711.03936
Bitcoin Wallet Developers: Bitcoin wallet - apps on Google Play (2018). https://play.google.com/store/apps/details?id=de.schildbach.wallet
Boyd, S., Ghosh, A., Prabhakar, B., Shah, D.: Randomized gossip algorithms. IEEE Trans. Inf. Theory 52(6), 2508–2530 (2006)
Burshtein, D., Miller, G.: Asymptotic enumeration methods for analyzing ldpc codes. IEEE Trans. Inf. Theory 50(6), 1115–1131 (2004). https://doi.org/10.1109/TIT.2004.828064
Buterin, V.: Ethereum: the ultimate smart contract and decentralized application platform (white paper) (2013). http://web.archive.org/web/20131228111141/vbuterin.com/ethereum.html
Buterin, V.: Ethereum sharding FAQs (2018). https://github.com/ethereum/wiki/wiki/Sharding-FAQs/c54cf1b520b0bd07468bee6950cda9a2c4ab4982
Cachin, C., Tessaro, S.: Asynchronous verifiable information dispersal. In: 24th IEEE Symposium on Reliable Distributed Systems (SRDS’05), pp. 191–201. IEEE (2005)
Chaum, D.L.: Untraceable electronic mail, return addresses, and digital pseudonyms. Commun. ACM 24(2), 84–90 (1981)
Dahlberg, R., Pulls, T., Peeters, R.: Efficient sparse merkle trees. In: Brumley, B., Röning, J. (eds.) NordSec 2016. LNCS, vol. 10014, pp. 199–215. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47560-8_13
Dudáček, L., Veřtát, I.: Multidimensional parity check codes with short block lengths. In: Telecommunications Forum (TELFOR), 2016 24th, pp. 1–4. IEEE (2016)
Elias, P.: Error-free coding. Trans. IRE Prof. Group Inf. Theory 4(4), 29–37 (1954)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM (JACM) 32(2), 374–382 (1985)
Heilman, E., Kendler, A., Zohar, A., Goldberg, S.: Eclipse attacks on Bitcoin’s peer-to-peer network. In: 24th USENIX Security Symposium (USENIX Security 15), pp. 129–144. USENIX Association, Washington, D.C. (2015). https://www.usenix.org/conference/usenixsecurity15/technical-sessions/presentation/heilman
Karlo, T.: Ending Bitcoin support (2018). https://stripe.com/blog/ending-Bitcoin-support
Kiayias, A., Russell, A., David, B., Oliynykov, R.: Ouroboros: a provably secure proof-of-stake blockchain protocol. In: Katz, J., Shacham, H. (eds.) CRYPTO 2017. LNCS, vol. 10401, pp. 357–388. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63688-7_12
Kokoris-Kogias, E., Jovanovic, P., Gasser, L., Gailly, N., Syta, E., Ford, B.: OmniLedger: a secure, scale-out, decentralized ledger via sharding. In: Proceedings of IEEE Symposium on Security and Privacy. IEEE (2018)
Laurie, B., Kasper, E.: Revocation transparency (2012). https://www.links.org/files/RevocationTransparency.pdf
Lin, S.J., Chung, W.H., Han, Y.S.: Novel polynomial basis and its application to Reed-Solomon erasure codes. In: Proceedings of the 2014 IEEE 55th Annual Symposium on Foundations of Computer Science, pp. 316–325. FOCS ’14, IEEE Computer Society, Washington, DC, USA (2014). https://doi.org/10.1109/FOCS.2014.41, http://dx.doi.org/10.1109/FOCS.2014.41
Luu, L., Narayanan, V., Zheng, C., Baweja, K., Gilbert, S., Saxena, P.: A secure sharding protocol for open blockchains. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, pp. 17–30. CCS ’16, ACM, New York, NY, USA (2016). https://doi.org/10.1145/2976749.2978389
Marshall, A.: Bitcoin scaling problem, explained (2017). https://cointelegraph.com/explained/Bitcoin-scaling-problem-explained
Maxwell, G.: (2017). https://botbot.me/freenode/bitcoin-wizards/2017-02-01/?msg=80297226&page=2
Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008). http://bitcoin.org/bitcoin.pdf
Orland, K.: Your Bitcoin is no good here–Steam stops accepting cryptocurrency (2017). https://arstechnica.com/gaming/2017/12/steam-drops-Bitcoin-payment-option-citing-fees-and-volatility/
Pass, R., Seeman, L., Shelat, A.: Analysis of the blockchain protocol in asynchronous networks. In: Coron, J.S.ébastien., Nielsen, J. (eds.) EUROCRYPT 2017. LNCS, vol. 10211, pp. 643–673. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56614-6_22
Perard, D., Lacan, J., Bachy, Y., Detchart, J.: Erasure code-based low storage blockchain node. In: IEEE International Conference on Blockchain (2018)
Peterson, W.W., Wesley, W., Weldon Jr Peterson, E., Weldon, E., Weldon, E.: Error-correcting codes. MIT Press (1972)
Ranvier, J.: Improving the ability of SPV clients to detect invalid chains (2017). https://gist.github.com/justusranvier/451616fa4697b5f25f60
Reed, I., Scholtz, R., Truong, T.K., Welch, L.: The fast decoding of Reed-Solomon codes using Fermat theoretic transforms and continued fractions. IEEE Trans. Inf. Theory 24(1), 100–106 (1978). https://doi.org/10.1109/TIT.1978.1055816
Saints, K., Heegard, C.: Algebraic-geometric codes and multidimensional cyclic codes: a unified theory and algorithms for decoding using Grobner bases. IEEE Trans. Inf. Theory 41(6), 1733–1751 (1995)
Shea, J.M., Wong, T.F.: Multidimensional codes. Encyclopedia of Telecommunications (2003)
Shen, B.Z., Tzeng, K.: Multidimensional extension of reed-solomon codes. In: Information Theory 1998 Proceedings 1998 IEEE International Symposium on, p. 54. IEEE (1998)
Todd, P.: Fraud proofs (2016). https://diyhpl.us/wiki/transcripts/mit-bitcoin-expo-2016/fraud-proofs-petertodd/
Wicker, S.B.: Reed-solomon codes and their applications. IEEE Press, Piscataway, NJ, USA (1994)
Wong, J.I.: CryptoKitties is causing Ethereum network congestion (2017). https://qz.com/1145833/cryptokitties-is-causing-ethereum-network-congestion/
Wood, G.: Ethereum: a secure decentralised generalised transaction ledger - Byzantium version, p. e94ebda (yellow paper) (2018). https://ethereum.github.io/yellowpaper/paper.pdf
Wu, J., Costello, D.: New multilevel codes over GF(q). IEEE Trans. Inf. Theory 38(3), 933–939 (1992)
Yu, M., Sahraei, S., Li, S., Avestimehr, S., Kannan, S., Viswanath, P.: Coded merkle tree: solving data availability attacks in blockchains. In: Financial Cryptography and Data Security (2020)
Zamani, M., Movahedi, M., Raykova, M.: Rapidchain: Scaling blockchain via full sharding. In: Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, pp. 931–948 (2018)
Acknowledgements
Mustafa Al-Bassam is supported by a scholarship from The Alan Turing Institute and Alberto Sonnino is supported by the European Commission Horizon 2020 DECODE project under grant agreement number 732546.
Thanks to George Danezis, Alexander Hicks and Sarah Meiklejohn for helpful discussions about the mathematical proofs.
Thanks to our shephard Sreeram Kannan for providing helpful feedback.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendix
Appendix
See the full version of the paper at https://fc21.ifca.ai/papers/83.pdf.
Rights and permissions
Copyright information
© 2021 International Financial Cryptography Association
About this paper
Cite this paper
Al-Bassam, M., Sonnino, A., Buterin, V., Khoffi, I. (2021). Fraud and Data Availability Proofs: Detecting Invalid Blocks in Light Clients. In: Borisov, N., Diaz, C. (eds) Financial Cryptography and Data Security. FC 2021. Lecture Notes in Computer Science(), vol 12675. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-64331-0_15
Download citation
DOI: https://doi.org/10.1007/978-3-662-64331-0_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-64330-3
Online ISBN: 978-3-662-64331-0
eBook Packages: Computer ScienceComputer Science (R0)