스마트계약이 아직 배포되지 않았는데도 사용할 주소를 미리 제시하는 서비스가 있다. 이더리움의 CREATE2는 정해진 입력값으로 계약 주소를 계산할 수 있게 하는 기능이다. 주소를 안다는 것과 계약이 이미 작동한다는 것은 다르다.
이더리움 EIP-1014 규격에 따르면 CREATE2의 주소 계산에는 배포 주체의 주소, 솔트라고 부르는 값, 초기화 코드의 해시가 사용된다. 같은 조건을 정하면 배포 전에 결과 주소를 계산할 수 있는 구조다.
초기화 코드는 계약을 만들 때 실행돼 최종 실행 코드를 생성한다. 따라서 화면에 주소가 표시됐다는 사실만으로 그 주소에 현재 어떤 코드가 배포돼 있는지까지 확인한 것은 아니다.
이 방식은 앞으로 만들어질 계약을 전제로 시스템을 연결하는 데 쓰일 수 있다. 공식 규격도 아직 존재하지 않는 주소와의 상호작용을 설계하려는 목적을 설명한다.
사용자에게 중요한 것은 계산 가능성과 신뢰성을 구별하는 일이다. 주소가 일정한 규칙으로 정해져도 서비스의 운영 주체, 실제 배포 코드, 초기 설정이나 권한이 자동으로 안전해지는 것은 아니다.
여러 네트워크에서 같은 주소가 보이더라도 각 체인의 배포 여부와 상태를 따로 확인해야 한다. 사전 계산 주소는 기술적 편의이며, 확인되지 않은 주소로 자산을 보내도 된다는 보증으로 받아들여서는 안 된다.
