ERC-6065 부동산 토큰 (Real Estate Token)
Review · NFT·멀티토큰 · 2022-11-29 작성
실물 부동산을 ERC-721 기반 NFT로 올리는 표준입니다. 운영 계약서 해시, 부동산 식별 정보, 부채와 압류 상태, 관리자 주소를 담아 NFT 전송과 함께 부동산 권리가 같이 넘어가게 합니다.
왜 필요한가
이더리움 토큰은 체인 위 검증자들의 합의로 소유권이 확정되지만 부동산 소유권은 법률 계약과 재산법, 법원이 뒷받침합니다. 그래서 기존의 자산 연동 ERC-721 토큰은 토큰을 다른 사람에게 보내도 실물 자산의 법적 소유권이 함께 넘어간다는 보장이 없습니다. 미국에서는 소유권 변경을 카운티 등기소에 종이로 기록하기도 해서 NFT 거래가 일어날 때마다 이 수기 기록을 갱신하는 것은 현실적으로 불가능합니다. 또한 분쟁이 생기면 법원이 소유권을 해석하고 집행할 수 있도록 문서로 정리되어 있어야 합니다. 이 표준은 어느 부동산인지 특정하는 불변 정보와 법적 권리 문서의 해시를 토큰에 붙여, NFT 전송과 함께 부동산에 대한 권리가 원자적으로, 즉 한 번에 같이 넘어가도록 하는 공통 구조를 제시해 이 간극을 메우려고 합니다.
구현해야 하는 것
event Foreclosed(uint256 id);: 자산이 압류되면 반드시 발생시켜야 하는 이벤트입니다.function legalDescriptionOf(uint256 _id) external view returns (string memory);: 실물 등기 문서에서 가져온 부동산의 법적 설명을 반환합니다. 불변 데이터입니다.function addressOf(uint256 _id) external view returns (string memory);: 부동산의 도로명 주소를 반환합니다. 불변 데이터입니다.function geoJsonOf(uint256 _id) external view returns (string memory);: 부동산의 지리 좌표를 GeoJSON 형식으로 반환합니다. 불변 데이터입니다.function parcelIdOf(uint256 _id) external view returns (string memory);: 지역 당국이 부동산을 식별하는 데 쓰는 필지 ID를 반환합니다. 불변 데이터입니다.function legalOwnerOf(uint256 _id) external view returns (string memory);: 실물 등기에 이름이 오른 법적 소유 법인을 반환합니다. 불변 데이터입니다.function operatingAgreementHashOf(uint256 _id) external view returns (bytes32);: 부동산에 대한 권리와 이용 조건을 담은 법률 문서(운영 계약서)의 불변 해시를 반환합니다.function debtOf(uint256 _id) external view returns (address debtToken, int256 debtAmt, bool foreclosed);: 부채를 표시하는 토큰, 부채 금액(음수면 크레딧), 그리고 실물 자산의 압류 여부를 반환합니다.function managerOf(uint256 _id) external view returns (address);: NFT나 실물 자산에 대해 온체인 또는 오프체인 추가 권한을 가질 수 있는 관리 주소를 반환합니다.
심층 설명
ERC-721 상속과 다섯 가지 구성 요소
이 표준은 ERC-721을 상속하며 전송과 승인 로직을 바꾸지 않고 그대로 씁니다. name, symbol, 메타데이터 URI를 다루는 ERC-721 Metadata 표준도 상속하므로 기존 NFT 거래소와 서비스에서 바로 다룰 수 있습니다. 토큰 구성 요소는 다섯 가지입니다. ERC-721 상속, 운영 계약서의 불변 해시(operatingAgreementHashOf), 부동산 고유 식별자(등기상 법적 설명, 도로명 주소, GIS 좌표, 필지·세금 ID, 등기상 소유 법인), 부채 값과 압류 상태(debtOf), 관리 권한 주소(managerOf)입니다.
operatingAgreementHashOf: 법적 권리의 불변 해시
부동산을 소유한 법인이 발행한 법률 문서의 불변 해시입니다. 운영 계약서는 해당 부동산에 대한 권리, 조항, 조건을 담은 고유 문서입니다. 해시가 불변이어야 나중에 토큰을 받는 사람이나 통합하는 쪽이 그 권리의 정당성과 집행 가능성을 믿을 수 있습니다. NFT가 전송되면 새 소유자는 이 법적 권리를 즉시 행사할 수 있습니다. 법적 구조나 권리, 조건을 바꾸려면 기존 토큰을 소각하고 새 해시를 담은 토큰을 새로 발행해야 합니다.
다섯 가지 부동산 고유 식별자
legalDescriptionOf는 실물 등기 문서에서 가져온 법적 설명, addressOf는 도로명 주소, geoJsonOf는 GeoJSON 형식의 지리 좌표, parcelIdOf는 지역 당국이 쓰는 필지 ID, legalOwnerOf는 검증 가능한 실물 등기에 이름이 오른 법적 소유 법인입니다. 다섯 값 모두 불변이어야 하며 부동산의 정체가 나중에 바뀔 수 없게 해서 분쟁이 생겨도 NFT 보유자가 확신을 가질 수 있게 합니다. 특히 legalOwnerOf를 통해 누구나 오프체인 소유권과 법적 계약의 정당성을 검증할 수 있습니다. 원문은 이런 검증이 장래에 체인링크 펑션 같은 것과 결합해 자동화될 수 있다고 적습니다.
debtOf: 부채와 압류 상태
debtOf는 부채를 표시하는 토큰 주소(debtToken), 부채 금액(debtAmt), 압류 여부(foreclosed)를 반환합니다. 양수는 부동산에 걸린 부채, 음수는 NFT 소유자가 청구할 수 있는 크레딧입니다. 관리자는 재산세나 수리, 유지보수 같은 실물 쪽 필수 비용을 이 값으로 청구하고 임대 수익 배분 합의가 있으면 크레딧을 줄 수도 있습니다. 원문은 부채 표시 토큰을 한 종류만 쓰라고 권장합니다. foreclosed가 참이면 실물 자산이 NFT에서 분리된 것이며 NFT는 더 이상 자산의 뒷받침을 받지 않습니다. 압류가 일어나면 Foreclosed 이벤트를 반드시 발생시켜야 하고 통합 컨트랙트는 가치 평가 등 계산에서 이 상태를 반영해야 합니다. 값을 어떻게 갱신할지는 구현자가 정하며 표준은 표시하고 읽는 방법만 통일합니다.
managerOf: 소유와 관리 권한의 분리
managerOf는 NFT의 소유자가 아니면서도 NFT나 실물 자산에 대해 온체인 또는 오프체인 추가 권한을 가질 수 있는 이더리움 주소를 반환합니다. 예를 들어 대출 프로토콜 같은 컨트랙트가 NFT를 보유하는 동안에도 예치자 주소가 관리자 포털 같은 다른 통합을 통해 부동산에 대한 조치를 할 수 있게 합니다. 표준은 관리자 역할의 구체적인 구현을 요구하지 않고 값만 요구하며 많은 경우 managerOf 값은 NFT 소유 주소와 같습니다.
관리자(Administrator)와 법적 구조
실물 자산은 상태 검증이 어렵고 비용이 들기 때문에, 온체인 NFT가 실물을 정확히 반영하도록 책임지는 신뢰 주체인 관리자가 필요합니다. 관리자가 법적 구속력 있는 디지털 표현을 발행하면, NFT가 손바뀜할 때마다 등기상 법적 소유자를 바꾸지 않고도 권리가 원자적으로 이전되고 납부와 신고 절차도 처리할 수 있습니다. 참고 구현의 미국식 구조에서는 모회사가 부동산마다 파산 절연 LLC를 두고 그 LLC가 등기와 권리증서에 오른 DAO LLC를 소유하며 DAO LLC가 NFT와 운영 계약서를 발행합니다. 관리자가 파산하거나 해산해도 NFT 소유자는 DAO LLC의 이전 또는 매각 대금 분배를 받을 권리가 있습니다. 이 표준을 구현한 토큰은 오프체인 업무를 수행할 법적 실체가 있어야 하지만 이 특정 구조가 의무는 아닙니다.
제안 상태: Review
이 제안의 상태는 Review로, 아직 검토 중이라 내용이 바뀔 수 있는 제안입니다. 참고 구현도 진행 중인 작업이며 탈취된 주소가 보유한 자산을 동결하는 블록리스트 기능은 아직 구현 예정으로 남아 있습니다.
쓸 때 주의할 점
- 식별자와 계약서 해시의 불변성 확인: 통합 프로토콜은 통합하려는 NFT의 부동산 고유 식별자와 운영 계약서 해시가 불변인지 확인하는 것이 권장됩니다. 이 값들이 불변이어야 미래의 양수인에게 정당성이 보장됩니다.
- debtOf 값 확인: 이 토큰의 가치를 정확히 파악하려면 debtOf 값을 확인하는 것이 권장됩니다. 특히 이 표준의 자산을 담보로 대출하는 애플리케이션에 중요합니다.
- 압류 상태 확인: 토큰이 원래 연결된 실물 자산의 뒷받침을 여전히 받고 있는지 압류 상태를 확인하는 것이 권장됩니다.
- 되돌릴 수 없는 동작 전 시간 지연: 해킹된 NFT가 프로토콜에 예치될 경우의 자산 동결 가능성에 대비해, 되돌릴 수 없는 동작을 하기 전에 시간 지연을 둘 수 있습니다. 자산 동결은 의무가 아니며 관리자의 구현에 달려 있습니다.