✏️ ERC (Ethereum Request for Comment)
ERC는 프로그래머가 Ethereum 블록체인에서 스마트 컨트랙트를 작성하는 데 사용하는 문서입니다. 이 문서들은 이더리움 기반 토큰이 준수해야 하는 규칙과 표준을 설명합니다.
Ethereum 커뮤니티는 이러한 문서들을 검토하기 위해 Ethereum 개선 제안(EIP)이라는 프로세스를 사용합니다. 개발자들은 새로운 아이디어나 기능, 토큰 표준 등을 개선하거나 제안하기 위해 EIP를 작성합니다. 이러한 EIP들은 커뮤니티에 공개되고 검토를 거쳐 최종적으로 받아들여질 수 있습니다.
EIP로 시작된 문서들 중 일부가 ERC로 최종화됩니다. 예를 들어, ERC-20, ERC-721, ERC-1155 등과 같은 토큰 표준은 이러한 프로세스를 거쳐 만들어진 문서들입니다.
🪙 ERC-20
ERC-20은 Ethereum 블록체인에서 사용되는 토큰에 대한 표준 프로토콜로, 프로그래머가 토큰을 쉽게 작성하고 발행할 수 있도록 지침을 제공합니다. 이를 통해 Ethereum 네트워크에서 토큰의 상호 운용성과 규칙을 확립하여 다양한 토큰들이 원활하게 동작할 수 있게 됩니다.
❓ERC-20 특징
1️⃣ 대체 가능(Fungible)
ERC-20 토큰은 서로 교환 가능한 특성을 가지며, 하나의 토큰은 다른 모든 토큰과 항상 동일합니다. 예를 들어, 1개의 ERC-20 토큰 A는 1개의 ERC-20 토큰 B와 동일한 가치를 가질 수 있습니다.
2️⃣ 양도 가능(Transferable)
ERC-20 토큰은 Ethereum 주소 간에 전송될 수 있습니다. 이더리움 네트워크의 지갑이나 스마트 계약을 통해 다른 주소로 손쉽게 이동할 수 있습니다.
3️⃣ 고정 공급(Fixed Supply)
ERC-20 토큰은 개발자가 더 많은 토큰을 발행하고 공급을 늘릴 수 없도록 처음에 발행된 양이 고정되어 있으며, 추가적인 토큰의 발행이 불가능합니다. 따라서 발행된 토큰의 총공급량은 변하지 않습니다.
🪙 ERC-223
ERC-223은 ERC-20과 같은 대체 가능한 토큰의 또 다른 표준입니다. 큰 차이점은 ERC-223이 토큰 API뿐만 아니라 발신자에서 수신자로 토큰을 전송하는 방법에 대한 논리도 정의하고 수신자 측에서 토큰 전송을 처리할 수 있는 통신 모델을 도입한다는 것입니다.
❓ ERC-223 특징
1️⃣ 수신자 측에서 토큰 전송 처리
ERC-223은 사용자가 스마트 컨트랙트에 토큰을 전송할 때 수신자가 해당 토큰이 입금되었음을 감지하고 처리할 수 있도록 합니다.
2️⃣ 부적절하게 전송된 토큰 거부
사용자가 ERC-223 토큰을 받지 않아야 하는 스마트 컨트랙트에 보낼 경우, 해당 컨트랙트는 트랜잭션을 거부할 수 있으며 토큰은 손실되지 않습니다.
3️⃣ 기존 토큰과의 호환성 유지
ERC-223 토큰의 전송에는 토큰 트랜잭션에 임의의 정보를 첨부할 수 있는 메타데이터가 포함될 수 있습니다. 이러한 기능은 토큰 전송의 유연성을 향상시키며 기존의 토큰과의 호환성을 유지합니다.
🪙 ERC-777
ERC-777은 ERC-20, ERC-223 토큰의 한계를 극복하고자 개발된 표준입니다. 하지만 현재 ERC-777은 다양한 형태의 공격에 취약하기 때문에 제대로 구현하기 어렵습니다.
❓ERC-777 특징
1️⃣ 알림 메커니즘 추가
ERC-777은 토큰 소유자가 특정 주소로 토큰을 보냈을 때 해당 주소에게 이벤트를 알리는 후크라는 알림 메커니즘을 제공합니다. 이로써 사용자는 토큰 전송에 대한 상태를 실시간으로 확인할 수 있습니다.
2️⃣ 기존 토큰과의 호환성 유지
ERC-777은 기존의 ERC-20 및 ERC-223 토큰과의 호환성을 유지합니다. 따라서 기존의 토큰을 업그레이드하거나 새로운 토큰을 발행할 때 기존의 지갑과 스마트 컨트랙트와의 호환성을 유지하면서 보다 발전된 기능을 사용할 수 있습니다.
🪙 ERC-721
ERC-721은 Ethereum 블록체인에서 사용되는 토큰 표준으로, 대체 불가능한 토큰(Non-Fungible-Token)에 대한 표준입니다. ERC-721 토큰이 생성되면 해당 토큰은 유일한 식별자를 가지며, 같은 ID의 다른 토큰은 존재하지 않습니다. 이러한 고유성으로 인해 ERC-721 토큰은 디지털 자산을 나타내는데 이상적입니다.
❓ERC-721 특징
1️⃣ 대체 불가능성
각 ERC-721 토큰은 고유한 ID를 가지며, 서로 다른 토큰은 완전히 대체할 수 없습니다. 이는 각 토큰이 고유한 자산을 대표하며, 소유자에 의해 소유되는 유일한 식별자로 사용될 수 있음을 의미합니다.
2️⃣ 고유한 자산 표현
ERC-721 토큰은 디지털 아트, 가상 게임 아이템, 캐릭터, 부동산 등꽈 같은 다양한 형태의 고유한 자산을 나타낼 수 있습니다. 이러한 고유성은 디지털 자산의 소유권을 블록체인 상에서 확실히 증명할 수 있도록 합니다.
3️⃣ 표준 인터페이스
ERC-721은 표준 인터페이스를 제공하여 스마트 계약 간의 상호 운용성을 보장합니다. 이로 인해 다양한 DApp에서 ERC-721 토큰을 쉽게 사용하고 교환할 수 있습니다.
4️⃣ 직접 거래
ERC-721 토큰은 중앙 집중식 거래소를 경유하지 않고 직접 소유자 간에 거래될 수 있습니다. 이는 소유자가 자유롭게 토큰을 구매, 판매, 무료로 분배하고, 자유로운 시간에 거래할 수 있음을 의미합니다.
🪙 ERC-1155
ERC-1155는 Ethereum 블록체인에서 사용되는 토큰 표준으로, 다중 자산을 하나의 스마트 컨트랙트로 관리하는 표준입니다. ERC-1155 토큰은 대체 가능한 토큰과 대체 불가능한 토큰을 모두 지원합니다. 이로 인해 다양한 유형의 자산을 하나의 컨트랙트로 효율적으로 관리할 수 있으며, 개별적으로 전송하거나 교환하는데 유용합니다.
❓ ERC-1155 특징
1️⃣ 다중 자산 관리
ERC-1155 토큰은 하나의 스마트 컨트랙트에서 다중 자산을 관리할 수 있습니다. 하나의 컨트랙트에서 여러 종류의 토큰을 생성하고 관리할 수 있기 때문에, 스마트 컨트랙트의 사용을 최적화하고 블록체인 자원을 절약하는데 도움이 됩니다.
2️⃣ 대체 가능성 및 불가능성 지원
ERC-1155는 대체 불가능 토큰 및 대체 불가능한 토큰을 모두 지원합니다. 따라서 컨트랙트 내에서 각각의 토큰 유형에 대한 유니크한 ID를 할당하고, 필요에 따라 대체 가능한 토큰 또는 대체 불가능한 토큰으로 사용할 수 있습니다.
3️⃣ 유연한 트랜잭션
ERC-1155 토큰은 효율적인 배치 기능을 제공합니다. 여러 토큰을 하나의 트랜잭션으로 전송할 수 있으므로, 대량의 토큰 전송 또는 교환 등에서 가스 비용을 절약할 수 있습니다.
4️⃣ 가변적 자산 공급
ERC-1155는 가변적인 자산 공급을 지원합니다. 즉, 추가적인 토큰을 발행하거나 소각하여 토큰 공급을 조절할 수 있습니다. 이는 경제 모델을 구성하거나 토큰의 유통량을 조정하는 데 사용될 수 있습니다.
'Smart Contract > Smart Contracts' 카테고리의 다른 글
동일한 스마트 컨트랙트 주소로 배포 CREATE2 (0) | 2023.12.24 |
---|---|
외부 컨트랙트 호출하기 call (0) | 2023.12.22 |
스마트 컨트랙트 업그레이드 (1) | 2023.11.02 |
댓글