EIP-5982는 스마트 컨트랙트에서 역할 기반 접근 제어(Role-Based Access Control, RBAC)를 구현하기 위한 표준 인터페이스를 정의하는 Review 단계의 ERC입니다. OpenZeppelin의 AccessControl 패턴을 공식 표준으로 승격시키려는 시도입니다.
핵심 인터페이스
hasRole(bytes32 role, address account), grantRole(bytes32 role, address account), revokeRole(bytes32 role, address account) 등 역할 관리를 위한 표준 함수를 정의합니다. 각 역할은 bytes32 식별자로 구분됩니다.
역할 관리자
각 역할에는 해당 역할을 부여하거나 취소할 수 있는 관리자 역할이 있습니다. getRoleAdmin(bytes32 role) 함수로 역할의 관리자를 조회할 수 있어 계층적 권한 구조를 구현합니다.
활용 시나리오
토큰 컨트랙트에서 MINTER_ROLE, BURNER_ROLE, PAUSER_ROLE 등 세분화된 권한을 부여하거나, DAO에서 다양한 거버넌스 역할을 관리하는 데 사용됩니다. 단순 소유자 패턴보다 훨씬 유연합니다.
표준화 진행 상황
Review 단계로 커뮤니티 검토가 진행 중입니다. OpenZeppelin AccessControl이 이미 광범위하게 사용되고 있어 표준화의 실질적 필요성에 대한 논의가 있습니다.
향후 전망
성공적으로 Final 상태에 도달하면 컨트랙트 접근 제어 감사 및 상호 운용성 도구 개발에 명확한 기준을 제공할 수 있습니다.