두 컨트랙트 중에서 하나는 애플리케이션 및 비즈니스 로직을 담고있는 컨트랙트, 다른 하나는 데이터용.
이와 같이 구성하는 이유는 컨트랙트를 업그레이드 할 수 있기 때문
기본적으로 앱 컨트랙트는 데이터 컨트랙트를 가리키는 주소로 배포된다.
만약 앱 컨트랙트에서 버그가 발견되면 새 버젼을 배포하고 이전과 동일한 데이터 컨트랙트를 가리키도록 하면 업그레이드를 수월하게 할 수 있다.
전체 바이트 코드를 실제로 배포할 필요 없이 계약의 여러 인스턴스를 배포할 수 있는 가장 저렴한 방법.
매우 적은양의 바이트 코드를 배포하게되므로 가스 비용을 많이 절약 할 수 있다.