IoTeX, IIC Q2 회의에서 판테온 컨소시엄 블록체인 발표
The main highlight for IoTeX was our Pantheon presentation to the IIC’s Blockchain Working Group, of which IoTeX is a Co-Chair along with Amazon & Huawei. In this presentation, we explain what a consortium blockchain is, how Pantheon differs from other consortium blockchains...
산업 인터넷 컨소시엄(IIC)은 세계 최고의 기술 조직들로 구성된 세계 유수의 IoT 컨소시엄 중 하나입니다.
IIC 회원인 300명 이상의 글로벌 기술 리더들은 매 분기 새로운 연구, 사용 사례 및 제품 개발 프레임워크를 공유하기 위해 만납니다. 6월 22일부터 26일까지 열린 Q2 회원 회의에서 IoTeX는 IIC 회원들과 우리의 최신 작업을 공유하기 위해 네 개 세션에 참여했습니다.
IoTeX의 주요 하이라이트는 IIC 블록체인 작업 그룹에 대한 Pantheon 발표였으며, IoTeX는 아마존 및 화웨이와 함께 공동 의장을 맡고 있습니다. 이 프레젠테이션에서는 컨소시엄 블록체인이 무엇인지, Pantheon이 다른 컨소시엄 블록체인과 어떻게 다른지, Pantheon의 독특한 기술 스택과 아키텍처, 그리고 그 외 많은 것들에 대해 설명합니다.
이 블로그의 나머지 부분에서는 Pantheon 발표의 동영상 녹화 및 서면 기록을 공유합니다 — 즐기시기 바랍니다!
발표 — 동영상 녹화
발표 — 서면 기록
안녕하세요, 여러분! 저는 IoTeX의 암호화 담당 책임자 Xinxin Fan입니다. 저는 또한 블록체인 태스크 그룹의 공동 의장입니다. 오늘 저는 IoT를 위한 기업 지향적인 컨소시엄 블록체인인 Pantheon을 발표하게 되어 기쁩니다.

우리가 모두 알고 있듯이 IoT는 스마트 장치에서 수집한 데이터를 기반으로 비즈니스 결정을 내리는 것입니다. 우리는 기본적으로 세 가지 블록이 있습니다: 1) 물리적 세계에서 데이터를 수집하는 각종 스마트 장치, 2) 이 데이터는 모두 백엔드로 전송되어 저장 및 처리되며, 3) 데이터 시각화 및 분석. 데이터의 신뢰성은 IoT의 성공에 필수적이며, 고객에게 제공하는 데이터가 신뢰할 수 있는지 여부가 고객에게 제공하는 가치에 큰 영향을 미칩니다.

자연스러운 질문은 IoT에서 데이터 신뢰성을 어떻게 보장하느냐는 것입니다. 이는 지난 몇 년 동안 보안 작업 그룹에서 논의된 매우 뜨거운 주제입니다. 간단히 말해, 우리는 신뢰할 수 있는 사물의 인터넷(Internet of Trusted Things, IoTT)이라는 개념을 도입해야 합니다. 이는 기본적으로 IoTT의 전체 데이터 생애 주기를 다루어 이 과정의 신뢰성을 보장해야 함을 의미합니다. 데이터 수집, 전송 중인 데이터, 저장 중인 데이터, 데이터 처리 및 데이터 보존을 고려해야 합니다. 기본적으로 데이터 수집을 시작한 장치로부터 시작하여 통신을 안전하게 하고, 장치가 데이터를 백엔드로 전송할 때 안전하게 하고, 데이터를 안전하게 저장하고 처리해야 합니다.

블록체인이 여기서 중요한 이유는 무엇인가요? 우선 간단히 블록체인에 대해 살펴보겠습니다 — 이는 NIST에서 제공한 정의입니다. 블록체인은 이름에서 알 수 있듯이 블록의 체인으로 각 블록에는 여러 거래가 포함되어 있습니다. 이 네트워크는 피어 투 피어 방식으로 노드 그룹에 의해 유지됩니다. 블록체인은 기본적으로 변조 방지 및 변조 저항성이 있는 디지털 원장을 제공하며, 이 디지털 원장은 중앙 권한 없이 분산된 노드에서 실행됩니다.

산업에서 널리 사용되는 블록체인은 두 가지 유형이 있습니다. 첫 번째 유형은 허가 없는 블록체인으로, 기본적으로 공용 블록체인입니다. 이 유형의 블록체인에서는 누구나 네트워크에 참여할 수 있으며 누구나 원장 데이터를 읽고 거래를 검증할 수 있습니다. 이 유형의 원장은 높은 신뢰도를 복제합니다. 다른 유형은 허가된 블록체인으로, 이는 업계에서 많이 논의되고 있습니다. 이 유형의 허가된 블록체인은 일반적으로 알려진 거래 당사자 또는 기관의 집합에 의해 형성됩니다. 그들은 이 원장을 운영하기 위해 모입니다. 따라서 검증은 일반적으로 모든 참여 당사자에 의해 결정된 선택된 노드 집합에 의해 관리됩니다. 이 유형의 원장은 높은 투명성과 책임을 복제합니다.
공용 블록체인이 미래라고 믿지만, 허가된 블록체인은 우리가 거의 매일 사용하는 중앙 집중식 솔루션에서 완전히 분산된 세계로 전환하는 이 과도기에서 여전히 높은 가치를 가지고 있습니다. 허가된 버전은 여전히 좋은 예를 제공하고 사람들이 이 기술의 가치와 실제 작동 방식을 더 잘 이해하도록 돕습니다.

따라서 우리가 가장 먼저 강조해야 할 주제는 "블록체인이 IoT 시스템에 어떤 속성을 제공합니까?"입니다. 다음은 블록체인이 제공하는 주요 기능인 다섯 가지 속성입니다. 첫 번째는 분산화로, 이는 블록체인이 신뢰받는 중앙 권한에 내재된 '단일 실패 지점'을 제거함을 의미합니다. 블록체인 환경에서는 이 네트워크가 신뢰받는 중앙 권한 대신 노드 그룹에 의해 유지됩니다. 두 번째 속성은 불변성입니다. 블록체인은 암호학적 해시 함수를 사용하여 모든 블록을 연결하므로 정보가 블록체인에 입력되면 변경하기가 매우 어렵습니다. 세 번째는 투명성입니다. 블록체인은 시스템의 모든 참가자가 볼 수 있는 완전한 감사 가능하고 유효한 거래 원장을 제공합니다. 네 번째는 보안과 회복력에 관한 것입니다. 블록체인은 공개 키 암호화 및 디지털 서명을 사용하여 데이터의 소유권을 증명하므로 블록체인에 무언가를 전송하면 해당하는 개인 키를 보유하고 있다는 것을 증명합니다. 이렇게 하면 소유권을 이전할 수 있습니다. 즉, 특정 자산을 한 주체에서 다른 주체로 전송하면 해당 개인 키를 사용하여 이를 수행할 수 있습니다. 블록체인의 특성상 정보가 전체 네트워크에 광범위하게 제공되므로 일부 노드가 오프라인이 되더라도 괜찮으며 귀하의 정보는 여전히 광범위하게 제공됩니다. 마지막은 자동화입니다. 블록체인은 스마트 계약이라는 매우 유용한 도구를 제공하는데, 이는 블록체인에 배포된 코드 조각입니다. 특정 프로그래밍 언어로 비즈니스 논리를 작성하며, 주요 목적은 복잡한 비즈니스 프로세스를 간소화하는 것입니다. 이러한 프로세스는 일반적으로 실제 세계에서 여러 중개인을 포함합니다. 스마트 계약은 귀하가 복잡한 프로세스를 간소화하는 데 도움을 줄 수 있습니다. 이것들이 블록체인이 IoT에 제공할 수 있는 모든 주요 기능입니다.

그렇다면 왜 우리는 또 다른 기업 블록체인에 대해 작업하고 있을까요? Hyperledger, Ethereum for Enterprise, R3 Corda, 최근 등장한 Baseline 프로토콜 및 Amazon과 Microsoft Azure와 같이 클라우드 컴퓨팅에 익숙한 사람들에게 비슷한 경험을 제공하기 위해 블록체인 서비스형(Blockchain-as-a-Service)을 제공하는 클라우드 제공업체와 같은 여러 컨소시엄 블록체인이 존재함을 고려해 보십시오. 그렇다면 왜 우리는 또 다른 블록체인에서 작업하고 싶어할까요? 여기 있는 모든 기존 솔루션 중 대부분은 이 블록체인 위에서 여러 유형의 응용 프로그램을 구축할 수 있는 매우 일반적인 솔루션입니다. 일부 컨소시엄 블록체인은 더 전문화되어 있습니다. 예를 들어, Corda는 주로 결제 목적을 위해 은행 산업에서 사용되며, Amazon과 Microsoft는 자체 블록체인 서비스를 관리합니다. 우리가 새로운 블록체인에 대해 작업하고 싶어하는 이유는 IoT 목적을 위해 전념하고 설계된 좋은 블록체인이 없다는 것을 깨달았기 때문입니다. 그래서 우리는 IoT 응용 프로그램과 관련된 모든 서비스를 포함하고 궁극적으로 엔드 투 엔드 보안을 제공하는 새로운 블록체인을 구축하려고 합니다.

그렇기 때문에 우리는 IoT에 전념하고 설계된 기업 지향 컨소시엄 블록체인인 판테온(Pantheon)에서 작업하고 있습니다. 이것은 우리가 구상하고 있는 고급 기술 스택입니다. 다양한 IoT 장치 및 통신 프로토콜을 지원하는 IoT 장치 레이어가 있습니다. 두 번째 레이어는 컨소시엄 블록체인과 클라우드가 결합된 하이브리드 레이어입니다. 두 번째 하이브리드 레이어 위에는 사용자 관리, 장치 관리, 저장 관리 등을 포함한 핵심 IoT 서비스가 있습니다. 그 위에는 사용자가 다양한 IoT 관련 응용 프로그램을 개발할 수 있는 응용 프로그램 레이어가 있습니다. 판테온은 완전히 오픈 소스입니다 — 여기에서 우리의 리포지토리에 접근하실 수 있습니다. 우리는 다양한 IoT 응용 프로그램을 다루기 위해 핵심 IoT 서비스를 제공할 것입니다. 목표는 장치에서 백엔드까지 종단 간 보안을 가능하게 하는 것입니다. 우리의 초기 릴리스는 주로 사용자 관리에 초점을 맞추었으며, 다른 핵심 서비스는 개발 팀에 의해 활성 개발 중이며 이 기술 스택에 점진적으로 추가될 것입니다.

시스템 아키텍처와 관련하여, 판테온은 다음과 같습니다. 우리는 이 컨소시엄 블록체인을 운영하기 위해 조정하는 여러 기관이 있습니다. 우리는 이 블록체인 시스템 내 모든 기능에 접근하기 위한 블록체인 노드 API 게이트웨이를 가지고 있습니다. 우리는 합의 알고리즘을 운영하는 여러 기관으로 구성된 합의 그룹 목록이 있습니다. 여기에서 예시 플로우를 제시합니다: 사용자가 블록체인에서 데이터를 쿼리하고자 합니다. 예를 들어, 그들은 자신이 접근하려는 데이터의 해시를 얻기 위해 API 게이트웨이를 쿼리할 것입니다. 그들은 데이터 접근 프록시를 쿼리하여 오프체인 데이터베이스에서 데이터를 검색할 것입니다. 따라서 데이터베이스의 데이터 접근 제어 정책은 사용자가 이 데이터에 접근할 수 있는 특정 권한을 가지고 있는지 확인할 것입니다. 권한이 부여되면 사용자는 데이터베이스에서 데이터를 검색하고 블록체인에서 받은 해시와 비교할 수 있습니다. 이것은 우리의 컨소시엄 블록체인 시스템을 사용하여 데이터 무결성을 어떻게 보장할 수 있는지를 보여주는 간단한 예시 플로우입니다.

우리의 블록체인 탐색기를 사용하여 마지막 블록, 모든 트랜잭션 및 블록체인 시스템을 유지하는 노드를 확인할 수 있습니다.

기관 등록은 우리 시스템의 스마트 계약에 의해 처리되며, 현재 모든 기관은 새로운 기관의 참여에 대해 투표할 수 있습니다. 그들은 새로운 기관을 컨소시엄에 영입할 것인지 결정합니다. 기관은 여러 개의 블록 운영자를 운영할 수 있으며, 그들은 자신의 기관 내에서 누가 블록 운영자가 될 수 있는지를 결정합니다. 그리고 그들은 자신의 운영자를 별도로 관리합니다.

그래서 여기 이 스크린샷은 우리가 여러 기관을 가지고 있음을 보여줍니다 — 각 기관은 여러 운영자를 관리할 수 있습니다.

사용자 관리 측면에서, 이는 각 기관에 의해 오프체인에서 수행됩니다. 우리는 각 기관이 자신의 사용자와 해당 권한을 관리할 계층 구조를 가지고 있습니다. 사용자와 권한이 부여된 데이터는 암호화된 데이터베이스에 안전하게 저장됩니다. 우리는 또한 사용자와 권한을 생성하는 방법을 지정하고 접근 정책 목록으로 권한을 지정하는 관리자가 있습니다. 사용자는 또한 사용자 그룹으로 조직될 수 있으며, 사용자 그룹에 의해 관리될 수 있습니다.

이 시스템에 처음 로그인하면, 보통처럼 계정을 생성한 다음, 여러 사용자를 추가하고 이 사용자를 어떤 그룹에 넣을지 지정할 수 있습니다.

그룹 내에서는 일반 사용자와 관리자가 새로운 사용자와 그룹을 생성하거나 추가하고, 다양한 그룹에 사용자들을 배치하며 권한을 부여할 수 있습니다.

모든 블록체인 접근은 컨소시엄 설정에서 권한 기반입니다. 사용자가 로그인한 후 인증 토큰이 발급됩니다 — 이 인증 토큰은 기본적으로 JWT입니다. 이 토큰은 권한 데이터를 포함하고 있습니다. 현재 우리는 모든 체인 API에서 읽기-쓰기 권한을 지원하고 있습니다. 토큰은 만료되도록 구성할 수 있으며 API를 쿼리할 때마다 인증 토큰을 함께 첨부해야 체인 노드에 요청할 수 있습니다. 인증 토큰은 우리의 아키텍처에서 보여준 것처럼 노드 게이트웨이에서 검증됩니다.

우리는 또한 Pantheon에서 Layer 2 확장을 처리할 수 있습니다. 아이디어는 요청이 많이 발생할 경우 Merkle 트리를 사용하여 함께 배치할 수 있다는 것입니다. 우리는 Merkle 루트만 체인의 첫 번째 레이어에 커밋합니다. 이렇게 하면 전반적인 처리량을 개선할 수 있습니다.

마지막으로, Pantheon을 직접 시도하실 것을 권장합니다. 기본적으로 몇 가지 간단한 단계입니다. 먼저 Docker를 설치하고, 우리의 리포지토리를 클론합니다. 다음 포트가 시스템에서 사용 가능하도록 확인하세요. 그런 다음 아주 간단한 스크립트를 실행하면 — 이 스크립트는 Docker Hub에서 모든 Docker 이미지를 가져오고 서비스를 시작합니다. 이후 브라우저를 열고 제가 여기서 한 것처럼 이 포트의 로컬 호스트를 방문할 수 있습니다. 선택할 수 있는 다양한 옵션이 있습니다 — Playground를 사용하여 API 게이트웨이에 쿼리를 보낼 수 있으며, GraphQL 쿼리입니다. 그런 다음 다양한 결과를 반환할 수 있습니다. 대시보드에서 모든 블록을 볼 수 있습니다. 특정 주소를 클릭하면 모든 해시와 발신자 및 기타 정보도 볼 수 있습니다.

우리는 또한 블록체인 시스템 모니터링을 용이하게 하는 Grafana 기반 모니터링 도구를 제공합니다. 블록 높이와 같은 경우에 문제가 발생하면, 이곳에 와서 시스템이 무엇이 잘못되었는지 알아낼 수 있습니다.

이상으로 제 발표를 마치겠습니다 — 이 솔루션에 대한 간단한 소개입니다. 질문이 있으시면 언제든지 저희에게 연락해 주세요. 감사합니다!
IoTeX 소개
2017년 오픈 소스 플랫폼으로 설립된 IoTeX는 신뢰할 수 있는 사물의 인터넷을 구축하고 있으며, 인간, 기계, 비즈니스 및 DApps와 같은 모든 “사물”이 신뢰와 프라이버시를 가지고 상호작용할 수 있는 개방형 생태계입니다. 30명 이상의 최고 연구 과학자 및 엔지니어로 구성된 글로벌 팀의 지원을 받는 IoTeX는 다음 세대 IoT 장치, 네트워크 및 경제를 가능하게 하기 위해 블록체인, 안전한 하드웨어 및 기밀 컴퓨팅을 결합합니다. IoTeX는 “블록별로 물리적 세계를 연결함으로써” 미래의 분산 경제를 강화할 것입니다.