IoTeX 메인넷 v1.8 릴리스 공지

IoTeX 프로토콜 버전 1.7 출시 두 달 후, 코어 개발팀이 새로운 버전 1.8을 출시했습니다. 이번 릴리스는 현재 프로토콜의 “하드포크”에 해당합니다. 블록 17,662,681(대략 2022/05/30 UTC 오후 11시)에서 활성화되며, 모든 블록 생성자와 델리게이트는 노드 소프트웨어를 최신 공식 릴리스 v1.8.0으로 업그레이드해야 합니다. 풀 노드 설치 안내는 여기에서 확인할 수 있습니다.
다음은 이번 릴리스의 새로운 기능에 대한 자세한 설명입니다.
Metamask에서 IoTeX 스테이킹
가장 중요한 기능부터 시작하겠습니다: 모든 Ethereum 지갑과 소프트웨어 라이브러리에서 IoTeX 스테이킹에 접근할 수 있는 기능입니다. 코어 개발자들의 수개월에 걸친 개발과 정밀한 테스트가 필요했던 중요한 목표였지만, IoTeX 고유의 스테이킹 트랜잭션을 Ethereum 클라이언트에 노출하여 Ethereum 호환성을 완성하기 위해 반드시 필요한 일이었습니다.
그렇다면 이것은 무엇에 관한 것일까요? 이를 이해하려면, 스테이크 생성부터 위임 노드 선택, 예치금 이전에 이르기까지 IoTeX 스테이킹 작업이 일부 사람들이 생각하는 것처럼 스마트 컨트랙트가 아니라 블록체인 네이티브 프로토콜의 일부인 커스텀 트랜잭션으로 구현되어 있다는 점을 아는 것이 중요합니다. 이러한 선택 덕분에 IoTeX 스테이킹은 뛰어난 확장성을 갖추어 수십만 건의 스테이킹 예치도 손쉽게 처리할 수 있습니다. 또한 매우 비용 효율적입니다. 각 스테이킹 작업은 값비싼 스마트 컨트랙트 호출을 실행하지 않고 네이티브 트랜잭션을 전송하기만 하면 되며, 그 비용은 단순한 IOTX 토큰 전송 트랜잭션과 똑같이 0.01 IOTX에 불과합니다. 반면, 이러한 특수한 유형의 “스테이킹 트랜잭션”은 Ethereum 프로토콜의 일부가 아닙니다. 이들은 Ethereum 클라이언트가 알지 못합니다. 이 때문에 지금까지는 Metamask나 Trust Wallet 같은 Ethereum 지갑으로 IoTeX 스테이킹과 상호작용할 수 없었고, IoTeX 블록체인의 네이티브 지갑인 ioPay를 통해서만 가능했습니다.
그렇다면 어떻게 작동할까요? 구현 세부 사항은 간단하지 않지만, 높은 수준에서 보면 해결책은 간단합니다. 이번 업데이트로 IoTeX 블록체인에는 프로토콜에 의해 하드코딩되고 제어되는 특별한 “수신자 주소”(0x04C22AfaE6a03438b8FED74cb1Cf441168DF3F12)가 생겼습니다. 이를 통해 모든 Ethereum 클라이언트는 스테이킹 작업 데이터가 트랜잭션 페이로드에 인코딩된 일반 IOTX 전송 트랜잭션을 통해 스테이킹 트랜잭션을 보낼 수 있습니다. 내부적으로 IoTeX 프로토콜은 이 특별한 주소로 향하는 모든 트랜잭션을 가로채 페이로드에서 스테이킹 작업을 디코딩하고, 이를 네이티브 스테이킹 트랜잭션으로 변환하여 작업을 수행합니다.
이 새로운 기능에 대한 모든 세부 사항은 IIP-12 개선 제안에서 확인할 수 있습니다.
버그 수정 및 기타
릴리스 v1.8.0에는 다음과 같은 추가 수정 사항이 포함되어 있습니다:
- 일부 델리게이트가 v1.7.1로 업그레이드한 후 간헐적으로 보고한, 풀 노드가 메인넷에 참여하지 못하는 문제를 해결하기 위해 p2p 네트워크 연결의 안정성을 개선했습니다
- 서비스 시작 및 종료를 더 잘 관리하기 위해 chainservice builder를 도입했습니다
- API 모듈에 대한 여러 코드 리팩터링 및 개선
자세한 정보는 GitHub의 공식 저장소에서 확인할 수 있습니다: https://github.com/iotexproject/iotex-core