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 회원 회의에서 4개의 세션에 참여하여 IIC 회원들에게 최신 작업을 공유했습니다.
IoTeX의 주요 하이라이트는 IIC의 블록체인 워킹 그룹에 대한 Pantheon 발표였습니다. IoTeX는 Amazon & Huawei와 함께 공동 의장으로 활동하고 있습니다. 이 발표에서는 컨소시엄 블록체인이 무엇인지, 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는 자체 Blockchain-as-a-Service를 관리합니다. 우리가 새로운 블록체인에서 작업하고 싶어하는 이유는 IoT 목적에 전념하고 설계된 좋은 블록체인이 없다는 것을 깨달았기 때문입니다. 따라서 우리는 IoT 애플리케이션과 관련된 모든 서비스를 포함하고 궁극적으로 종단간 보안을 제공하기 위한 새로운 블록체인을 구축하려고 하고 있습니다.

그것이 우리가 IoT를 위해 전념하고 설계된 기업 지향적인 컨소시엄 블록체인인 팬시온(Pantheon)에서 작업하고 있는 이유입니다. 이것은 우리가 구상하고 있는 고급 기술 스택입니다. 우리는 다양한 IoT 장치와 통신 프로토콜을 지원하는 IoT 장치 계층을 가지고 있습니다. 두 번째 계층은 컨소시엄 블록체인과 클라우드가 결합된 하이브리드 계층입니다. 두 번째 하이브리드 계층 위에는 사용자 관리, 장치 관리, 저장소 관리 등을 포함한 핵심 IoT 서비스가 있습니다. 그리고 그 위에는 사용자가 다양한 IoT 관련 애플리케이션을 개발할 수 있는 애플리케이션 계층이 있습니다. 팬시온은 완전히 오픈 소스입니다 — 여기에서 우리의 리포지토리에 접근할 수 있습니다. 우리는 다양한 IoT 애플리케이션을 포괄할 핵심 IoT 서비스를 제공할 예정입니다. 목표는 장치에서 백엔드까지 엔드 투 엔드 보안을 가능하게 하는 것입니다. 우리의 초기 릴리스는 주로 사용자 관리에 초점을 맞추고 있으며, 다른 핵심 서비스는 우리의 개발 팀에 의해 적극적으로 개발되고 있으며 점차 이 기술 스택에 추가될 것입니다.

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

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

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

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

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

처음 이 시스템에 로그인할 때, 일반적으로 계정을 생성하고, 여러 사용자를 추가하고 이 사용자를 원하는 그룹에 배치할 수 있습니다.

그룹 내에서는 정기 사용자와 관리자가 새 사용자 및 새 그룹을 생성하거나 추가하고 사용자를 여러 그룹에 배치하고 권한을 할당할 수 있습니다.

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

우리는 또한 Pantheon에서 레이어 2 확장성을 처리할 수 있습니다. 아이디어는 높은 요청량이 있을 경우 레이어 2 서비스에서 Merkle 트리를 사용해 배치할 수 있다는 것입니다. 우리는 Merkle 루트만 체인의 첫 번째 레이어에 커밋합니다. 이렇게 하면 전반적인 처리량을 향상시킬 수 있습니다.

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

우리는 또한 블록체인 시스템 모니터링을 쉽게 하기 위해 Grafana 기반의 모니터링 도구를 제공합니다. 예를 들어 블록 높이를 확인했을 때 문제가 발생하면, 여기에서 시스템의 문제를 파악할 수 있습니다.

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