Subscribe

IoTeX 플랫폼 — 신뢰할 수 있는 사물인터넷(Internet of Trusted Things)을 위한 최적화

IoTeX 플랫폼 — 신뢰할 수 있는 사물인터넷(Internet of Trusted Things)을 위한 최적화

이 글은 IoTeX Mainnet GA 발표 시리즈의 5번째 파트입니다. 2020년 5월 한 달간, 새로운 토큰 이코노미, 거버넌스, 기술 등 Mainnet GA의 다른 구성 요소들을 계속 공유할 예정입니다. Mainnet GA에 대한 더 자세한 내용은 IoTeX 포럼을 방문해 주세요.

IoTeX 플랫폼: Mainnet GA를 위한 새롭고 개선된 모습

2017년 IoTeX가 시작된 이래로, 우리의 미션은 모든 인간과 기기가 보장된 신뢰, 자유 의지, 프라이버시를 가지고 상호작용할 수 있는 개방형 생태계인 Internet of Trusted Things를 실현하는 것이었습니다. 지난 2년 이상 동안, IoTeX 플랫폼은 이 미션을 염두에 두고 처음부터 구축되었습니다. 몇 줄의 코드로 시작한 것이 이제는 세계에서 가장 안전하고, 성능이 뛰어나며, 탈중앙화된 플랫폼 중 하나로 성장했습니다.

IoTeX는 단순한 블록체인이 아니라, 블록체인, IoT 미들웨어, 개발자 도구로 구성된 완전한 기술 스택으로서 신뢰할 수 있는 데이터와 신뢰할 수 있는 기기를 통해 신뢰할 수 있는 애플리케이션을 가능하게 합니다. 우리는 Ucam과 Pebble Tracker와 같은 종단간 IoT 솔루션을 구축한 직접적인 경험을 바탕으로 새롭고 개선된 IoTeX 플랫폼 설계에 반영했습니다. 이제 전 세계가 IoTeX 위에서 Internet of Trusted Things를 구축할 수 있도록 환영할 준비가 되었습니다!

이 글에서는 IoTeX 플랫폼의 여러 계층과, 그 설계에 반영된 기본 원칙들을 설명합니다.

IoTeX 플랫폼 설명

IoTeX 플랫폼은 IoT 관련 사용 사례의 고유한 요구 사항을 충족하기 위해 독특한 모듈형 아키텍처를 채택하고 있습니다. IoTeX 플랫폼의 핵심은 신뢰할 수 있는 데이터와 신뢰할 수 있는 기기를 가능하게 하는 것으로, 이는 개발자들이 이러한 복잡한 작업을 다시 구현할 필요가 없다는 것을 의미합니다. 대신 개발자들은 비즈니스 로직, 경제 모델, 산업별 구성 요소를 구축하는 데 집중하여 자신들의 애플리케이션과 서비스를 차별화할 수 있습니다. 이제 IoTeX가 계층별로 어떻게 신뢰할 수 있는 데이터와 신뢰할 수 있는 기기를 가능하게 하는지 살펴보겠습니다.

IoTeX 플랫폼

블록체인 인프라

IoTeX는 업계 전체에서 가장 빠르고 안전한 블록체인 중 하나를 구축했으며, 현재 60개 이상의 탈중앙화된 델리게이트들에 의해 관리되고, 자체 개발한 Roll-DPoS 합의 메커니즘으로 구동됩니다. IoTeX 블록체인 프로토콜은 오픈소스이며, 처음부터 완전히 새롭게 구축되었고, 대규모 IoT 시나리오를 지원하도록 맞춤 설계되었습니다. 지난 몇 달 동안, 우리는 블록 생성 시간을 10초에서 즉시 완결성을 갖춘 초고속 5초로 단축하는 등 블록체인에 상당한 개선을 이루었습니다.

Mainnet GA와 함께, IoTeX 블록체인은 공식적으로 이더리움으로부터 독립을 확립하고 새로운 네이티브 스테이킹 메커니즘(nsv2)을 도입할 것입니다. 이는 IoTeX에게 있어 엄청난 이정표입니다 — 우리 네트워크는 이제 완전히 독립적이며 네이티브 IOTX 코인으로 구동됩니다. 블록체인은 IoTeX 네트워크 전체의 신뢰의 뿌리이므로, 우리는 최첨단 블록체인이 대중을 맞이할 준비가 되었다고 확신합니다. 이후 섹션에서는 현재 및 향후 블록체인 설계에 대한 구체적인 설계 고려 사항을 자세히 설명합니다.

신뢰할 수 있는 기기와 사용자 소유 데이터를 위한 IoT 미들웨어

IoT 지향 미들웨어

IoTeX는 블록체인뿐만 아니라, IoT에 맞게 정교하게 다듬은 핵심 미들웨어 구성 요소에서도 뛰어납니다. IoTeX를 다른 플랫폼과 진정으로 차별화하는 것은 신뢰할 수 있는 기기와 사용자 소유 데이터를 가능하게 하는 미들웨어에 대한 집중입니다

  • 탈중앙화 신원(DID): IoTeX의 탈중앙화 신원 프레임워크는 디바이스가 블록체인에 신원을 등록하여 — 발견하고 발견되도록 — 하며, 자신의 데이터를 직접 소유할 수 있게 합니다. 사람을 위한 “자기주권(Self-sovereignty)”(예: Sovrin, uPort)은 흔하지만, 이 개념을 확장하여 디바이스에 신원을 부여하는 것은 새로운 인간-기계 및 기계-기계 사용 사례의 문을 엽니다. 모든 DID가 동일하게 만들어진 것은 아닙니다 — IoTeX의 DID 사양은 사람과 디바이스 모두에 대해 진보되어 있으며 놀라운 속도로 발전하고 있습니다.
  • 탈중앙화 스토리지: 그 모든 IoT 데이터는… 다 어디로 갈까요? IoTeX는 클라우드 또는 탈중앙화 스토리지를 통한 유연한 스토리지 옵션을 제공하며, 데이터는 검증 가능성과 데이터 출처 확인을 위해 블록체인에 “해시” 처리됩니다. IoTeX는 저장 중 및 전송 중 데이터에 대한 보호를 시행하며, Ucam을 위한 탈중앙화 암호화 스토리지에 대해 IPFS 팀과 긴밀히 협력하고 있으며, 이는 향후 다른 “Powered by IoTeX” 디바이스로 확장될 수 있습니다. 자세한 내용은 IPFS 서밋에서의 IoTeX 기조연설을 참조하세요.
  • 기밀 컴퓨팅: 우리가 데이터를 소유하게 되면, 마지막 단계는 완전한 프라이버시를 유지하면서 데이터를 활용할 수 있는 애플리케이션을 구축하는 것입니다. 보안 하드웨어를 활용함으로써, IoTeX는 암호화된 데이터에 대한 프라이버시 보존 연산을 가능하게 하여 사용자 중심 애플리케이션의 미래를 열어줍니다. “코드로 데이터를 가져오지 말고, 데이터로 코드를 가져가라”.
IoTeX 생태계 파트너

개발자 도구 & API

지난 몇 달간 그리고 앞으로도 IoTeX의 또 다른 주요 초점은 개발자와 기업 모두에게 IoTeX 개발을 직관적이고 효율적이며 재미있게 만드는 것입니다. 우리는 IoT 표준 기구(예: IIC, IEEE), 기업(예: Nordic Semiconductor, Tenvis), 오픈소스 기술(예: IPFS, ThingsBoard)과 협력하여 모든 블록체인 인프라와 미들웨어를 모든 수준의 개발자들이 접근하고 사용할 수 있도록 하는 행운을 누렸습니다. 여러분이 무엇을 만들어낼지 기대됩니다!

  • IoT 엣지 오라클: 등록된 디바이스의 실제 데이터를 블록체인으로 전달하여 스마트 컨트랙트에서 종단 간 신뢰와 함께 사용할 수 있도록 하는 자체 데이터 오라클입니다 (백서 곧 공개 예정).
  • IoT 데이터 대시보드: 강력한 오픈소스 데이터 시각화 도구인 ThingsBoard와의 통합을 통해 나만의 IoT 대시보드를 만들 수 있습니다. Pebble Tracker와 같은 IoTeX 디바이스를 위한 아름다운 대시보드를 곧 만나보실 수 있습니다!
  • 스마트 컨트랙트 도구: 스마트 컨트랙트 배포 기능을 갖춘 새롭고 개선된 IoTeX 명령줄 도구(ioctl)와 Truffle과 같은 스마트 컨트랙트 도구와의 통합 계획.

IoTeX 블록체인 — 설계를 위한 가이딩 프린서플

1) 다목적 & 모듈형 블록체인

IoTeX는 소규모 개발팀부터 대기업, 기관 컨소시엄에 이르기까지 모든 이들과 프라이버시 및 IoT 관련 다양한 사용 사례에 대해 정기적으로 논의할 수 있는 행운을 누리고 있습니다. 공통적인 요구사항은 모두가 높은 수준의 유연성과 커스터마이징이 가능한 견고하고 즉시 사용 가능한 핵심 기능에 대한 접근을 원한다는 것입니다 — 즉 다목적이고 모듈화된 플랫폼입니다. 최근 Pantheon 발표에서 공유했듯이, IoTeX는 이제 허가형(permissioned)과 비허가형(permission-less) IoTeX 프로토콜 구현을 모두 제공하지만, 다목적 플랫폼으로서의 미래 목표는 훨씬 더 멀리까지 확장됩니다.

이천 년도 더 전에, 아리스토텔레스는 제1원리를 “어떤 것이 알려지는 최초의 근거”라고 정의했습니다. 이는 IoTeX에도 동일하게 적용됩니다 — 제1원리를 탐구함으로써, 우리는 블록체인 시스템의 본질적이고 기본적인 요소들을 정의했습니다. 결과적으로 거의 모든 블록체인이 수행하는 작업을 다음 다이어그램에 설명된 일련의 모듈로 분류할 수 있음을 알게 되었습니다.

Image diagramming the High-Level Structure of a Blockchain

블록체인의 고수준 구조

고수준 구조를 살펴보겠습니다. 커뮤니케이션 모듈은 P2P 네트워크에서 메시지(예: 트랜잭션)를 가져와 원재료를 인덱서와 검증자에게 전달하며, 이들은 긴밀하게 협력하여 정보를 신뢰할 수 있고 안정적으로 수집합니다. 이들을 데이터 파이프라인을 형성하기 위해 연쇄적으로 연결될 수 있는 데이터 프로세서라고 생각하면 됩니다. 전체 흐름을 완성하기 위해, 민터 모듈은 인덱서의 신뢰할 수 있는 출력을 기반으로 새로운 블록을 생성하며, API는 인덱서의 데이터를 감싸서 다양한 Dapp에 제공합니다.

이 고도로 추상화된 관점은 블록체인을 설계할 때 유용합니다. 예를 들어, 우리의 퍼블릭 블록체인의 경우 민터는 Roll-DPoS를 구현하며, 검증자는 계정과 블록의 상태를 기반으로 작동합니다. 허가된 환경이 필요한 컨소시엄 블록체인의 경우, 검증자는 인증 기관(CA)과 인증서 정보를 활용하며 민터는 Kafka나 Raft와 같은 다양한 합의 방식을 구현할 수 있습니다. 이러한 구성 요소들은 애플리케이션에 따라 제거될 수 있다는 점에 주목할 만합니다. 애플리케이션만 제공하는 블록체인 노드의 경우 민터와 인덱서/검증자를 제거할 수 있습니다. 애플리케이션을 제공하지 않는 델리게이트 노드의 경우 API를 제거할 수 있습니다. 목적에 맞고 모듈화된 설계입니다!

2) 개방/폐쇄 원칙

객체 지향 프로그래밍에서 개방/폐쇄 원칙은 잘 알려져 있으며 “소프트웨어 엔티티(클래스, 모듈, 함수)는 확장에는 열려 있어야 하지만 수정에는 닫혀 있어야 한다”고 명시합니다. 다시 말해, 엔티티는 소스 코드를 수정하지 않고도 그 동작을 확장할 수 있어야 합니다.

블록체인의 필수 구성 요소를 가장 추상적인 수준에서 식별한 후, 우리는 개방/폐쇄 원칙을 따라 IoTeX만의 방식으로 각 개별 및 집합적 구성 요소에 대한 상세 설계를 시작했습니다. 그 결과가 바로 이 아름다운 아키텍처 설계이며, 이는 메인넷 GA v1.0의 일부로 처음으로 구현될 예정입니다.

Flow Chart showing: Object-Oriented Perspective of the IoTeX Blockchain
IoTeX 블록체인의 객체 지향적 관점

블록체인은 계정과 개인 키를 안전하게 유지하면서 다른 객체들을 조율하는 놀라운 도구입니다. IoTeX 블록체인에는 BlockDao, BlockValidator, BlockMinter라는 세 가지 중요한 객체가 있습니다. (참고: 객체 지향 프로그래밍에서는 객체 간에 “Is-A”와 “Has-A”라는 두 가지 일반적인 관계가 있습니다).

BlockIndexer의 인스턴스인 BlockDao(데이터 프로세서라고 생각하면 됩니다)는 블록을 “진실의 원천(source-of-truth)”으로 수집하고 계정 정보를 출력합니다. 마찬가지로 BlockIndexer의 인스턴스인 StateFactory는 계정 정보를 수집하여 계정의 머클 트리나 잔액의 연결 리스트와 같은 더 구체적인 상태를 출력합니다. 필요에 따라 BlockIndexer의 다른 인스턴스를 BlockDao나 StateFactory에 연결하여 다양한 정보를 API와 궁극적으로는 애플리케이션에 전달할 수도 있습니다. 예를 들어, IoTeX 투표 웹사이트와 Explorer를 구동하기 위해 우리는 블록체인에서 총 공급량, 투표, 보상과 같은 정보를 수집하는 여러 APU(action processing unit, 모두 BlockIndexer의 인스턴스)를 연결했습니다.

동시에, StateFactory는 BlockMinter와 BlockValidator의 인스턴스 역할도 할 수 있는데, 간단히 설명하기 위해 자세히 다루지는 않았습니다. Pantheon에서는 다양한 엔터프라이즈 환경에 맞추고 레이어 2 활동을 지원하기 위해 서로 다른 Validator/Minter를 구현할 계획입니다. 미래에는 Minter와 Validator가 두 개의 퍼블릭 블록체인에서 정보를 수집하여 크로스체인 트랜잭션을 촉진하는 블록을 생성할 수도 있을 것입니다!

다음 단계는?

IoTeX 플랫폼은 또 다른 중요한 이정표에 도달했습니다 — 완전히 독립적이고, IoT에 최적화되었으며, 그 어느 때보다 성능이 뛰어나고, 모듈성과 개발자 친화성을 위해 재설계되었습니다. 하지만 작업은 결코 멈추지 않습니다! 앞으로 몇 년 동안 빌더들과 직접 협력하여 반복적인 방식으로 플랫폼을 개선하고 더 넓고 깊은 범위의 애플리케이션을 지원하는 것이 우리의 목표입니다. 이미 Ucam과 Pebble Tracker와 같은 전례 없는 기기들을 지원하는 메인넷 v1.0과 함께, 미래는 밝으며 IoTeX는 이제 막 시작되었습니다.

“철저하게 개방적인 사고를 가져라” — 레이 달리오

이것은 레이 달리오(Ray Dalio)의 가장 중요한 원칙 중 하나로, 개방적인 사고와 철저한 투명성이 빠른 성장과 효과적인 변화에 매우 소중하다는 것을 강조합니다. IoTeX 팀은 매일 이 원칙을 실천하고 있으며, 개발자들의 모든 피드백과 제안에 열려 있습니다. 우리는 함께 신뢰할 수 있는 사물 인터넷(Internet of Trusted Things)에 대한 우리의 비전을 현실로 만들어갈 수 있습니다.

더 많은 정보를 원하시면, 공식 메인넷 GA 포럼 스레드를 참고해 주세요.

IoTeX 소개

2017년 오픈소스 플랫폼으로 시작된 IoTeX는 ****신뢰할 수 있는 사물 인터넷(Internet of Trusted Things)****을 구축하고 있습니다. 이는 인간, 기계, 비즈니스, 그리고 DApp을 포함한 모든 “사물”이 신뢰와 프라이버시를 바탕으로 상호작용할 수 있는 개방형 생태계입니다. 30명 이상의 최고 연구 과학자와 엔지니어로 구성된 글로벌 팀의 지원을 받아, IoTeX는 블록체인, 보안 하드웨어, 기밀 컴퓨팅을 결합하여 차세대 IoT 기기, 네트워크, 경제를 실현합니다. IoTeX는 “물리적 세계를 블록 단위로 연결”함으로써 미래의 탈중앙화 경제를 이끌어갈 것입니다.

더 알아보기: 웹사이트 | 트위터 | 텔레그램 | 미디엄 | 레딧

IoTeX