  Account abstraction allows a contract wallet to initiate transaction
execution. Thus, account abstraction is useful for preserving the privacy of
externally owned accounts (EOAs) because it can remove a transaction issued
from an EOA to the contract wallet and hides who issued the transaction by
additionally employing anonymous authentication procedures such as ring
signatures. However, unconditional anonymity is undesirable in practice because
it prevents to reveal who is accountable for a problem when it arises. Thus,
maintaining a balancing between anonymity and accountability is important.
  In this paper, we propose an anonymous yet accountable contract wallet
system. In addition to account abstraction, the proposed system also utilizes
accountable ring signatures (Bootle et al., ESORICS 2015). The proposed system
provides (1) anonymity of a transaction issuer that hides who agreed with
running the contract wallet, and (2) accountability of the issuer, which allows
the issuer to prove they agreed with running the contract wallet. Moreover, due
to a security requirement of accountable ring signatures, the transaction
issuer cannot claim that someone else issued the transaction. This
functionality allows us to clarify the accountability involved in issuing a
transaction. In addition, the proposed system allows an issuer to employ a
typical signature scheme, e.g., ECDSA, together with the ring signature scheme.
This functionality can be considered an extension of the common
multi-signatures that require a certain number of ECDSA signatures to run a
contract wallet. The proposed system was implemented using zkSync (Solidity).
We discuss several potential applications of the proposed system, i.e., medical
information sharing and asset management.

Cryptography and Security