IoTeX 프로토콜의 버전 1.7 출시 두 달 후, 개발자 핵심 팀이 새로운 버전 1.8을 출시했습니다. 이 릴리스는 현재 프로토콜의 "하드포크"를 나타냅니다. 블록 17,662,681에서 활성화되며(약 2022년 5월 30일 UTC 11pm), 모든 블록 생산자와 위임자는 최신 공식 릴리스 v1.8.0로 노드 소프트웨어를 업그레이드해야 합니다. 전체 노드 설치 지침은 여기에서 확인할 수 있습니다.
이번 릴리스에서 새롭게 추가된 기능에 대한 자세한 내용은 다음과 같습니다.
메타마스크에서 IoTeX 스테이킹
가장 중요한 기능부터 시작하겠습니다: 모든 이더리움 지갑 및 소프트웨어 라이브러리에서 IoTeX 스테이킹에 접근할 수 있는 기능입니다. 이는 핵심 개발자들이 몇 달간의 개발과 정확한 테스트를 통해 달성한 중요한 목표로, IoTeX의 맞춤형 스테이킹 트랜잭션을 이더리움 클라이언트에 노출시켜 이더리움 호환성을 완성하는 데 절대적으로 필요합니다.
그렇다면 이 모든 것이 무엇을 의미할까요? 이를 이해하기 위해서는 IoTeX 스테이킹 작업이 스테이크 생성, 위임 노드 선택, 예치금 전송 등으로 구성되어 있으며, 이는 블록체인의 기본 프로토콜의 일부인 맞춤형 트랜잭션으로 구현되어 있다는 점을 아는 것이 중요합니다. 이는 일부 사람들이 생각하는 스마트 계약이 아닙니다. 이러한 선택은 IoTeX 스테이킹에 큰 확장성을 제공하며, 수십만 개의 스테이킹 예치금을 쉽게 처리할 수 있습니다. 또한 비용 효율성이 매우 높습니다. 각 스테이킹 작업은 비싼 스마트 계약 호출을 실행하는 것이 아니라, 단순히 네이티브 트랜잭션을 전송하는 것으로, 이는 단순한 IOTX 토큰 전송 트랜잭션과 동일하게 0.01 IOTX의 비용이 발생합니다. 반면, 이러한 특정 유형의 "스테이킹 트랜잭션"은 이더리움 프로토콜의 일부가 아닙니다. 이는 이더리움 클라이언트에 알려져 있지 않습니다. 이러한 이유로, 지금까지는 메타마스크나 트러스트 월렛과 같은 이더리움 지갑을 사용하여 IoTeX 스테이킹과 상호작용하는 것이 불가능했으며, 오직 IoTeX 블록체인의 네이티브 지갑인 ioPay를 통해서만 가능했습니다.
그렇다면 이것은 어떻게 작동할까요? 구현 세부 사항은 간단하지 않지만, 높은 수준에서 솔루션은 간단합니다. 이번 업데이트로 IoTeX 블록체인은 이제 프로토콜에 의해 하드코딩되고 제어되는 특별한 "수신 주소" (0x04C22AfaE6a03438b8FED74cb1Cf441168DF3F12
)를 갖게 되었습니다. 이를 통해 모든 이더리움 클라이언트는 스테이킹 작업 데이터가 트랜잭션의 페이로드에 인코딩된 정상 IOTX 전송 트랜잭션을 통해 스테이킹 트랜잭션을 보낼 수 있습니다. 내부적으로 IoTeX 프로토콜은 이 특별한 주소로의 모든 트랜잭션을 가로채고, 페이로드에서 스테이킹 작업을 디코딩하여 이를 네이티브 스테이킹 트랜잭션으로 변환하여 작업을 수행합니다.
이 새로운 기능에 대한 모든 세부 정보는 IIP-12 개선 제안서에서 확인할 수 있습니다.
버그 수정 및 기타
릴리스 v1.8.0에는 몇 가지 추가 수정 사항이 포함되어 있습니다:
- v1.7.1로 업그레이드한 후 일부 위임자들이 보고한 문제를 해결하기 위해 p2p 네트워크 연결의 강건성을 개선했습니다.
- 서비스 시작 및 종료 관리를 개선하기 위해 체인 서비스 빌더를 도입했습니다.
- API 모듈에 대한 여러 코드 리팩토링 및 개선을 수행했습니다.
자세한 정보는 GitHub의 공식 저장소에서 확인할 수 있습니다: https://github.com/iotexproject/iotex-core