계정 컨트랙트
지갑은 어떤 앱의 내부 데이터 구조가 아닙니다. 대형 온체인 트레저리들도 많이 쓰는 Safe v1.4.1 스마트 계정이며, Safe가 공개한 그대로 아무 수정 없이 배포됩니다.
경로에 우리 컨트랙트는 없습니다
자금에 손댈 수 있는 컨트랙트는 모두 Safe나 ERC-4337 작성자들이 만든 것입니다.
| 컨트랙트 | 지갑에서의 역할 | 작성 |
|---|---|---|
| Safe v1.4.1(SafeL2, 프록시를 통해 사용) | 계정 그 자체. 소유자, 임계값, 실행 | Safe |
| Safe 4337 Module v0.3.0 | EntryPoint가 Safe를 운용할 수 있게 함. Safe의 폴백 핸들러이기도 함 | Safe |
| SafeWebAuthnSharedSigner v0.2.1 | 첫 번째 키의 P-256 서명 검증 | Safe |
| SafeWebAuthnSignerFactory v0.2.1와 이 팩토리가 만드는 서명자 | 추가한 키마다 작은 서명자 컨트랙트 하나 | Safe |
| ERC-4337 EntryPoint v0.7 | 서명된 오퍼레이션 실행 | ERC-4337 작성자 |
Vela가 만든 컨트랙트는 이 목록에 없습니다. 새 기기에서 지갑을 찾을 수 있도록 지갑마다 키를 기록하는 공개 키 레지스트리(복구), 그와 짝을 이루는 도메인 레지스트리, 그리고 이들이 대체한 예전 인덱스입니다. 이 컨트랙트들은 자금을 보관하지 않고 Safe 안에서 아무런 역할도 없습니다.
지갑 저장소에는 Solidity 코드가 한 줄도 없습니다. 명령 하나로 확인할 수 있습니다.
git clone https://github.com/mondaylabsltd/vela-wallet
find vela-wallet -name '*.sol' # 아무것도 출력되지 않음 Vela는 계정에 대해 어떤 특권 역할도 없습니다. 관리자 키도, 업그레이드 경로도, 추가할 수 있는 모듈도 없습니다. Safe를 바꿀 수 있는 것은 사용자의 키뿐입니다.
왜 “수정하지 않은”이 중요한가
“Safe 기반”이나 Safe 포크, Safe에서 영감을 받은 계정을 쓰는 지갑은 많습니다. 차이는 세 가지 면에서 드러납니다.
감사가 실제로 쓰는 코드에 적용됩니다. Safe의 감사는 이 릴리스들을, 또는 문서화된 작은 변경만 다른 이전 릴리스들을 대상으로 합니다(자세한 내용은 감사 페이지에 있습니다). 포크의 감사는 포크하기 전의 코드를 대상으로 하고, 정작 수정한 부분은 아무도 감사하지 않았습니다.
생태계는 이 계정을 Safe로 다룹니다. 실제로 Safe이기 때문입니다. 블록 익스플로러가
해석하고, Safe의 도구로 계정을 읽고 거래를 만들 수 있습니다. 다만 그 거래에 서명하려면,
패스키가 속한 도메인인 getvela.app의 서명을 키에 요청할 수 있는 프로그램이어야 합니다.
그래서 다른 도메인에서 서비스되는 Safe의 공식 웹 앱으로는 서명할 수 없습니다. 무엇으로 서명할
수 있는지는 셀프 호스팅 가이드에 정리되어
있습니다.
공격 표면을 지켜보는 눈이 많습니다. 맞춤 제작한 계정 컨트랙트는 대개 작성자만 들여다봅니다. Safe의 핵심 컨트랙트는 Safe에 자금을 둔 모든 사람이 지켜봅니다. 4337 모듈과 패스키 모듈을 지켜보는 사람은 더 적지만, 분명히 있습니다.
치르는 비용
표준을 따르는 데도 비용이 듭니다.
- 가스. 서명을 온체인에서 검증하고, 거래가 EntryPoint를 거쳐 실행됩니다. 2026년 9월 Gnosis에서 측정한 결과, 이미 배포된 Vela 지갑에서 단순 전송 한 번에 온체인 가스가 약 140,000~170,000 들었습니다. 일반 계정에서 ETH를 전송하면 21,000입니다. 가스와 별도로 릴레이가 수수료를 받습니다. 네트워크와 수수료를 참고하세요.
- 계정을 배포해야 합니다. 주소는 온체인에 아무것도 없을 때
CREATE2로 계산되므로 바로 받을 수 있지만, 네트워크마다 처음 보내는 거래가 컨트랙트 배포 비용을 냅니다. - 모든 체인이 조건을 갖추지는 않습니다. 패스키 서명은 EIP-7951 / RIP-7212 프리컴파일로 검증하며, 그 주소가 모든 지갑의 초기 설정 데이터에 들어가 있습니다. 그래서 이 프리컴파일이 없는 네트워크에서는 Vela를 아예 쓸 수 없습니다.
- Safe의 위험이 곧 내 위험이 됩니다. 널리 쓰이는 컨트랙트를 믿는 것도 결국 컨트랙트를 믿는 일입니다. Vela는 자금으로 가는 경로에 믿어야 할 자체 컨트랙트를 하나 더 얹지 않았습니다.
감사를 받은 것과 받지 않은 것
Safe의 컨트랙트, Safe의 4337 모듈과 패스키 모듈, EntryPoint v0.7은 공개된 제3자 감사 보고서가 있습니다. Vela 자체 코드(앱, 백엔드 서비스, 레지스트리 컨트랙트)는 제3자 감사를 받지 않았고, 예정된 감사도 없습니다. 프로젝트가 비용을 댈 수 있게 되면 받고 싶은 목표일 뿐, 날짜가 정해진 약속이 아닙니다. 모든 컨트랙트와 각각의 감사 보고서, 우리가 추적 중인 문제는 감사와 알려진 문제에 있습니다.
직접 확인하기
계정은 온체인에 있습니다. 지갑이 배포된 뒤 블록 익스플로러에서 주소를 열어 보세요. 모든 네트워크에서 Safe 프록시이며, 그 구현은 Safe가 공식 배포한 SafeL2 v1.4.1입니다.
다음: 감사와 알려진 문제.