Skip to main content
Log in

Efficient secure multi-party computation for proof of custody in Ethereum sharding

  • Published:
Designs, Codes and Cryptography Aims and scope Submit manuscript

Abstract

Ethereum, one of the most prominent and widely deployed blockchain systems, is undergoing a significant upgrade that adopts sharding for capacity expansion and secure multi-party computation (MPC) to enable distributed validator technology (DVT). However, it faces a data availability problem, where an adversary can cheat honest-but-lazy validators to propagate invalid blocks, thereby exposing Ethereum Sharding to vulnerabilities. To address this issue, proof of custody (PoC) was proposed. Regrettably, no practically effective MPC protocol is designed to securely and distributively compute PoC. In this paper, we present a concrete and efficient MPC protocol that enables the secure computation of PoC in the dishonest-majority malicious setting. First, we construct an efficient conversion protocol to convert secret sharings in two different prime fields using the doubly authenticated bits (daBits) technique. Second, an efficient MPC protocol is designed to compute scalar multiplication over an elliptic-curve group without requiring MPC to compute branching programs. Furthermore, we employ affine coordinates to compute group operations over an elliptic curve, leading to significant performance boosts compared to other coordinate systems. Finally, a concrete end-to-end implementation of the protocol is built, and its performance is evaluated. When the operations of a validator are collaboratively performed by seven parties, the online (resp., total) running time to generate one proof of custody is 0.02 s (resp., 559.6 s) in LAN and 0.39 s (resp., 7904.2 s) in WAN. The results demonstrate the practicality of the proposed protocol for Ethereum Sharding over a long period of time, such as 73 days.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

Notes

  1. A slot is a chance for a block to be added to the beacon chain.

  2. Ether is the economic token used in Ethereum.

  3. We use the underlying MPC with malicious security in a black-box manner, and thus other SPDZ-like MPC protocols such as [4, 6, 38] can be also used.

References

  1. Aly A., Cong K., Cozzo D., Keller M., Orsini E., Rotaru D., Scherer O., Scholl P., Smart N., Tanguy T., et al.: Scale–mamba v1. 12: Documentation. Accessed May (2021).

  2. Aly A., Orsini E., Rotaru D., Smart N.P., Wood T.: Zaphod: efficiently combining LSSS and garbled circuits in scale. In: Proceedings of the 7th ACM Workshop on Encrypted Computing & Applied Homomorphic Cryptography, pp. 33–44 (2019).

  3. Aranha D.F., Fuentes-Castaeda L., Knapp E., Menezes A., Rodríiguez-Henríquez F.: Implementing pairings at the 192-bit security level. In: International Conference on Pairing-Based Cryptography (2012).

  4. Baum C., Cozzo D., Smart N.P.: Using TopGear in overdrive: a more efficient ZKPoK for SPDZ. Cryptology ePrint Archive, Paper 2019/035. https://eprint.iacr.org/2019/035 (2019).

  5. Beekhuizen C.: BLS12-381 deterministic account hierarchy. https://github.com/ethereum/EIPs/blob/e2ef8830c75890eca505833c14734b7d9f8bab6f/EIPS/eip-2334.md (2019).

  6. Ben-Efraim A., Nielsen M., Omri E.: Turbospeedz: double your online SPDZ! Improving SPDZ using function dependent preprocessing. In: Applied Cryptography and Network Security: 17th International Conference, ACNS 2019, Bogota, Colombia, June 5–7, 2019, Proceedings 17, pp. 530–549. Springer, New York (2019).

  7. Boneh D., Gorbunov S., Wahby R.S., Wee H., Wood C.A., Zhang Z.: BLS Signatures. Internet-Draft draft-irtf-cfrg-bls-signature-05, Internet Engineering Task Force (June 2022). Work in Progress. https://datatracker.ietf.org/doc/draft-irtf-cfrg-bls-signature/05/.

  8. Boneh D., Lynn B., Shacham H.: Short Signatures from the Weil Pairing. In: International Conference on the Theory and Application of Cryptology and Information Security (2001).

  9. Bowe S.: BLS12-381: new zk-SNARK elliptic curve construction. https://electriccoin.co/blog/new-snark-curve/ (2017).

  10. Buterin V., Feist D.: EIP-4844: shard blob transactions. https://eips.ethereum.org/EIPS/eip-4844 (2022).

  11. Buterin V.: An explanation of the sharding + DAS proposal. https://hackmd.io/@vbuterin/sharding_proposal#ELI5-data-availability-sampling (2022).

  12. Buterin V.: Ethereum: a next-generation smart contract and decentralized application platform. https://ethereum.org/en/whitepaper/ (2014).

  13. Buterin V.: Exploring elliptic curve pairings. https://medium.com/@VitalikButerin/exploring-elliptic-curve-pairings-c73c1864e627 (2017).

  14. Buterin V.: Extending skin-in-the-game of notarization with proofs of custody. https://ethresear.ch/t/extending-skin-in-the-game-of-notarization-with-proofs-of-custody/1639 (2018).

  15. Buterin V.: Proof of custody game design. https://github.com/ethereum/consensus-specs/issues/568 (2019).

  16. Canetti R.: Universally composable security: a new paradigm for cryptographic protocols. In: Proceedings 42nd IEEE Symposium on Foundations of Computer Science, pp. 136–145 (2001). IEEE.

  17. Catrina O., De Hoogh S.: Improved primitives for secure multiparty integer computation. In: Security and Cryptography for Networks: 7th International Conference, SCN 2010, Amalfi, Italy, September 13–15, 2010. Proceedings 7, pp. 182–199. Springer, New York (2010).

  18. Damgård I., Escudero D., Frederiksen T., Keller M., Scholl P., Volgushev N.: New primitives for actively-secure MPC over rings with applications to private machine learning. In: 2019 IEEE Symposium on Security and Privacy (SP), pp. 1102–1120 (2019). IEEE.

  19. Damgård I., Fitzi M., Kiltz E., Nielsen J.B., Toft T.: Unconditionally secure constant-rounds multi-party computation for equality, comparison, bits and exponentiation. In: Theory of Cryptography Conference, pp. 285–304. Springer, New York (2006).

  20. Damgård I.B.: On the randomness of Legendre and Jacobi sequences. In: Advances in Cryptology-Proceedings of CRYPRO 88 (1989).

  21. Data61: MP-SPDZ. https://github.com/data61/MP-SPDZ (2019).

  22. Drake J.: 1-bit aggregation-friendly custody bonds. https://ethresear.ch/t/1-bit-aggregation-friendly-custody-bonds/2236 (2018).

  23. Escudero D., Ghosh S., Keller M., Rachuri R., Scholl P.: Improved primitives for MPC over mixed arithmetic-binary circuits. In: Annual International Cryptology Conference, pp. 823–852. Springer, New York (2020).

  24. Ethereum Foundation: Ethereum distributed validator specification. https://github.com/ethereum/distributed-validator-specs (2022).

  25. Ethereum Foundation: the Ethereum specification for Proof of custody. https://github.com/ethereum/consensus-specs/tree/dev/specs/_features/custody_game (2023).

  26. Ethereum: Danksharding. https://ethereum.org/en/roadmap/danksharding/ (2023).

  27. Ethereum: Data Availability. https://ethereum.org/en/developers/docs/data-availability/ (2023).

  28. Ethereum: Upgrading Ethereum to radical new heights. https://ethereum.org/en/upgrades/.

  29. Falk B.H., Noble D.: Secure computation over lattices and elliptic curves. Cryptology ePrint Archive (2020).

  30. Feist D.: A 0.001 bit proof of custody. https://ethresear.ch/t/a-0-001-bit-proof-of-custody/7409 (2020).

  31. Feist D.: Data availability checks. https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html (2019).

  32. Feist D.: Proof of concept of an Eth2 secret shared validator node. https://github.com/dankrad/python-ssv (2020).

  33. Feist D.: Update the proof of custody construction using inputs from the Khovratovich audit. https://github.com/ethereum/consensus-specs/issues/1378 (2019).

  34. Feist D.: Use Legendre as a PRF for the proof of custody. https://github.com/ethereum/consensus-specs/issues/1080 (2019).

  35. Feist D.: Using the Legendre symbol as a PRF for the Proof of custody. https://ethresear.ch/t/using-the-legendre-symbol-as-a-prf-for-the-proof-of-custody/5169 (2019).

  36. Grassi L., Rechberger C., Rotaru D., Scholl P., Smart N.P.: MPC-friendly symmetric key primitives. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, pp. 430–443 (2016).

  37. Keller M., Orsini E., Scholl P.: MASCOT: faster malicious arithmetic secure computation with oblivious transfer. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, pp. 830–842 (2016).

  38. Keller M., Pastro V., Rotaru D.: Overdrive: making SPDZ great again. In: Annual International Conference on the Theory and Applications of Cryptographic Techniques, pp. 158–189. Springer, New York (2018).

  39. Keller M.: MP-SPDZ: a versatile framework for multi-party computation. In: Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security, pp. 1575–1590 (2020).

  40. Luu L., Teutsch J., Kulkarni R., Saxena P.: Demystifying incentives in the consensus computer. In: the 22nd ACM SIGSAC Conference (2015).

  41. Nishide T., Ohta K.: Multiparty computation for interval, equality, and comparison without bit-decomposition protocol. In: Public Key Cryptography–PKC 2007: 10th International Conference on Practice and Theory in Public-Key Cryptography Beijing, China, April 16-20, 2007. Proceedings 10, pp. 343–360. Springer, New York (2007).

  42. Panther Team: Understanding distributed validator technology (DVT). https://blog.pantherprotocol.io/understanding-distributed-validator-technology-dvt/#private-key-custody (2022).

  43. Roos C., Li B.: What is DVT and how does it improve staking on ethereum? https://blog.obol.tech/what-is-dvt-and-how-does-it-improve-staking-on-ethereum/ (2022).

  44. Rotaru D., Smart N.P., Tanguy T., Vercauteren F., Wood T.: Actively Secure Setup for SPDZ. Cryptology ePrint Archive, Report 2019/1300 (2019).

  45. Rotaru D., Wood T.: MArBled circuits: mixing arithmetic and Boolean circuits with active security. In: International Conference on Cryptology in India, pp. 227–249. Springer, New York (2019).

  46. SecureSCM: security analysis. Deliverable D9.2, EU FP7 Project Secure Supply Chain Management (SecureSCM) (2009).

  47. Smart N.P., Alaoui Y.T.: Distributing any elliptic curve based protocol. Cryptology ePrint Archive, Paper 2019/768. https://eprint.iacr.org/2019/768 (2019).

  48. SSV Networks: SSV Tech Overview. https://ssv.network/tech/#ssv-technical-overview (2022).

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rui Zhang.

Additional information

Communicated by C. Blundo.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A A2B protocol

This section discusses the A2B protocol that implements bit decomposition. For \(a \in \mathbb {F}_p\), the A2B protocol computes its bitwise sharings \(([a_0]_p,\ldots ,[a_{(m-1)}]_p)\) from \([a]_p\), where \(a=\sum _{i=0}^{m\!-\! 1} a_i\cdot 2^i\) and \(a_i\in \{0,1\}\). We use the bit decomposition protocol proposed in [41], which simplifies the bit decomposition protocol in [19].

According to [19], the A2B protocol involves three high-level sub-protocols: SOLVED-BITS, BIT-ADD, and BIT-LT. SOLVED-BITS is used to generate the sharings of a uniformly random element \(b \in \mathbb {F}_p\) and its bits, i.e. \(([b_0]_p,\ldots ,[b_{(m-1)}]_p,[b]_p)\). BIT-ADD implements bitwise sum. Given two bitwise sharings \(([a_0]_p,\ldots ,[a_{(m-1)}]_p)\), \(([b_0]_p,\ldots ,[b_{(m-1)}]_p)\), BIT-ADD computes the bitwise sharing \(([d_0]_p,\ldots ,[d_{(m-1)}]_p)\) such that \(d=a+b\) over the integers. Given two bitwise sharings \(([a_0]_p,\ldots ,[a_{(m-1)}]_p)\), \(([b_0]_p,\ldots ,[b_{(m-1)}]_p)\), BIT-LT computes \([a<b]_p\) without revealing \((a<b)\) itself. The A2B protocol in [41] requires one call each of SOLVED-BITS, BIT-ADD, and BIT-LT.

Unlike [41] and [19], we utilize non-constant round protocols to implement the SOLVED-BITS, BIT-ADD, and BIT-LT sub-protocols for lower communication overhead. SOLVED-BITS and BIT-LT call the logarithmic round Prefix-Or protocol [17, 46] and thus require \(\log (m)\) rounds and \(\frac{m}{2}\log (m)\) invocations of multiplication. Besides, we implement the BIT-ADD according to the formula in work [46], which requires \(3m\!-\!2\) rounds and \(3m\!-\!2\) invocations of multiplication. Therefore, the A2B protocol used here requires 1 round and m invocations of the RBit command, \(3m+2\log (m)-2\) rounds and \(3m+m\log (m)-2\) invocations of the Multiply command and 2 rounds and 2 invocations of the Open command.

Appendix B ECC group operations in MPC

1.1 B.1 Addition over ECC group

We describe the addition operation over \(\mathcal {G}_2\) as follows.

For \(P,Q\in \mathcal {G}_2\), we consider the case of \(P\ne \mathcal {O}\), \(Q\ne \mathcal {O}\), \(P\ne Q\) and \(P\ne -Q\). For \(P,Q\in \mathcal {G}_2\) with affine coordinate \(X_P = (x_{11}+y_{11}i,x_{12}+y_{12}i)\) and \(X_Q = (x_{21}+y_{21}i,x_{22}+y_{22}i)\), define the \(F^2_{\textsf{add}}(X_P,X_Q) = (x_{31}+y_{31}i, x_{32}+y_{32}i)\), where \((x_{31}+y_{31}i, x_{32}+y_{32}i)\) is the affine coordinate of \(P+Q\) and \(x_{jk}+y_{jk}i\in \mathbb {F}_{q^2}\), \(x_{jk},y_{jk}\in \mathbb {F}_q\) \((j\in \{1,2,3\},k\in \{1,2\})\). The computation formula of point addition over \(\mathcal {G}_2\) is as follows.

$$\begin{aligned} x_{31}&=(G^2-H^2)-x_{11}-x_{21} \pmod {q} \\ y_{31}&=2GH-y_{11}-y_{21} \pmod {q} \\ x_{32}&=GI-OH-x_{12} \pmod {q} \\ y_{32}&=GO+IH-y_{12} \pmod {q} \end{aligned}$$

where \(G=l(JE-WS),\ H=l(JS+WE), \ l=(E^2+S^2)^{-1},\ J=x_{12}-x_{22},\ W=y_{12}-y_{22},\ E=x_{11}-x_{21},\ S=y_{21}-y_{11},\ I=x_{11}-x_{31},\ O=y_{11}-y_{31}\) and \(-1\) represents the inverse of an element over \(\mathbb {F}_{q^2}\).

1.2 B.2 Efficiency under different coordinates

We evaluate the efficiency of ECC operation using different coordinates. We focus on the efficiency of point addition and double operations. There are three representations of elements in the group: affine coordinate, projective coordinate, and jacobian coordinate. Figure 14 shows the transformation relationship between these three coordinates.

Fig. 14
figure 14

The transformation relationship of three coordinates

According to the conversion relationship shown in Fig. 14, the computation formula of point addition and double on \(\mathcal {G}_1\) using projective coordinate and jacobian coordinate can be obtained by substituting corresponding values into the formula using affine coordinate. Similar to affine coordinate, the computation formula of point addition and double on \(\mathcal {G}_2\) using projective coordinate and jacobian coordinate can be obtained by substituting complex coordinates.

Table 3 describes the cost of each coordinate in the BLS curve groups. From the data in the table, we can know that in the traditional implementation without MPC, projective coordinate or jacobian coordinate are better, because the cost of inversion in \(\mathbb {F}_q\) dominates the whole ECC operation. For example, we test the operations in \(\mathbb {F}_q\) with GMP library and get that \(I \approx 20M\) and \(S \approx 0.6M\).

Table 3 The cost of ECC operation in different coordinates
Table 4 The cost of ECC operation under different coordinates in MPC

However, things changed in the MPC setting. One interesting point is that, with secret sharing, one could implement inversion using very few basic operations [1]. A standard way shows that it could be achieved with at most one multiplication and one square, which leads to \(I=M+S\). One could also set that \(S \approx 0.7M\) (note that we abuse the notation of with or without MPC). Therefore, we can get the comparison results in Table 4. It can be seen that using affine coordinate for point addition on \(\mathcal {G}_2\) is about 3.4\(\times \) faster than projective coordinate in MPC. Therefore, the affine coordinate is the best choice in the MPC setting.

Appendix C Computation of legendre PRF

Figure 15 shows the computation protocol of Legendre PRF, which directly references the protocol \(\Pi _{\textsf{Legendre}}\) in [36]. The correctness and security of protocol \(\Pi _{\textsf{Legendre}} \) can refer to [36].

Fig. 15
figure 15

Protocol \(\Pi _{\textsf{Legendre}}\)

Appendix D Performance of sub-protocols

Tables 5 and 6 show the time cost of computing elliptic curve multiplication and daBits in LAN and WAN respectively. The bandwidth and latency in the LAN setting are 10 Gbps and 0.045 ms. The bandwidth and latency in the WAN setting are 100 Mbps and 46 ms. In the LAN environment, when the number of parties is 7, the scalar multiplication on \(\mathcal {G}_1\) takes 30.303 s, the scalar multiplication on \(\mathcal {G}_2\) takes 81.696 s, and the generation of a single daBit takes 0.159 s. In the WAN environment, when the number of parties is 7, the scalar multiplication on \(\mathcal {G}_1\) takes 297.527 s, the scalar multiplication on \(\mathcal {G}_2\) takes 807.521 s, and the generation of a single daBit takes 3.841 s.

Table 5 The time cost of sub-protocols in LAN (s)
Table 6 The time cost of sub-protocols in WAN (s)

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Tong, Y., Xie, X., Yang, K. et al. Efficient secure multi-party computation for proof of custody in Ethereum sharding. Des. Codes Cryptogr. (2024). https://doi.org/10.1007/s10623-024-01379-w

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10623-024-01379-w

Keywords

Mathematics Subject Classification

Navigation