IoTex메인넷 프리뷰(Photon)릴리스

안녕하세요 IoTeX 커뮤니티 여러분! 8월에 마지막 코드를 발표한 이후 IoTeX 팀은 연구, 개념 증명, 지역사회 성장 면에서 큰 발전을 이루었습니다. 가장 중요한 것은 기술 개발에 있어 놀라운 발전을 이루었으며 업계 전체에서 가장 안전하고 사용 가능하며 성능이 뛰어난 블록체인 플랫폼을 구축하려는 목표에 한 걸음 더 가까이 다가갔다는 것입니다. 오늘 우리는 2019년 1분기에 완전한 기능을 갖춘 Mainnet Alpha 출시를 미리 볼 수 있는 흥미로운 새로운 기능이 포함된 네 번째 코드 릴리즈인 Mainnet Preview “Photon”을 출시하게 되어 너무 기쁩니다.

  • 서브 체인 프로비저닝: IoTeX 네트워크의 개별 데이터베이스에서 실행되는 두 개의 독립된 블록 체인(루트 체인, 서브 체인) 지원
  • Cross체인 커뮤니케이션: 두 체인에 걸친 IoTeX 지갑 지원을 통해 루트 체인의 값을 서브 체인으로 전송하는 기능
  • Consensus enhancements: Roll-DPoS(1,000+ TPS & 100+ 노드 테스트)의 성능 향상 및 새로운 보안 향상
  • IoTeX Explorer v2.0: 루트 체인 및 서브 체인 작업을 모두 시각화하기 위한 별도의 IoTeX Explorer 페이지
  • 그리고 더!

이제 Github에서 오픈 소스 코드를 볼 수 있습니다.

Photon 코드 실행에 대한 자세한 지침은 이 README 파일에서 제공하며, 자세한 데모 비디오도 여기에서 확인할 수 있습니다.

왜서 “Photon”입니까? — Kenneth Lane Thompson

Photon은 컴퓨터 과학의 선구자의 이름을 따서 IoTeX의 코드 출처를 명명하는 유행에 따라 Kenneth Thompson(Photon은 “Thompson”의 글자로 구성 )로 지었습니다.. 이번달 초, 우리는 커뮤니티에게 메인넷 프리뷰 코드명을 제안하고 투표할 기회를 주었습니다. 우리는 12,600명이 넘는 지원서를 받았고 다섯 명의 최종 후보 중 Photon은 총 투표수의 27%를 얻어 만장일치로 승리했습니다. 참여해 주신 모든 분들께 감사드립니다! 우리는 내일 곧 완전한 우승자 명단을 발표할 것입니다!

Kenneth Thompson은 미국의 컴퓨터 과학의 선구자입니다. 그는 여러 프로그래밍 언어(예: Go, B)와 운영 체제(예: Unix)를 개발한 것으로 가장 잘 알려져 있으며 1983년에 Turing Award를 수상했습니다. 아시다시피 IoTeX 블록체인은 Go(Thompson에 의해 결합됨)에 코딩되어 있습니다. — 이 릴리스의 이름을 “Photon”으로 지정하는 것은 IoTeX가 현재 혁신할 수 있는 구성 요소를 제공하는 Thompson의 작업에 대한 찬사입니다.

Photon Overview & Features

Photon에서 2019년 1분기 Mainnet Alpha 릴리즈에서 완전히 구현될 몇 가지 새로운 기술 개념을 미리 살펴봅니다. IoTeX의 목표는 스마트 시티, 공급망, 웨어러블, 자율 차량 등 모든 유형의 사물 인터넷 (IoT) 사용 사례를 지원할 수 있는 블록체인을 만드는 것입니다. 공통 요구사항(예: 확장성, 개인 정보 보호, IoT 장치 지원)을 공유하지만, 각 사용 사례는 고유하며 성능과 보안을 최적화하기 위한 맞춤형 접근 방식이 필요합니다. IoTeX는 이러한 다양성을 수용하기 위해 개발자가 DApps에 가장 적합한 설계를 사용하여 맞춤형 서브 체인을 만들 수 있는 루트 체인/하위 체인의 아키텍처를 활용합니다. 애플리케이션은 교차 체인 통신을 통해 다른 애플리케이션과 가치/데이터를 원활하게 교환합니다. IoTeX가 제공하는 목적에 적합하고 상호 운용이 가능한 서브 체인으로 이루어진 활기찬 생태계인 IoT의 미래를 위한 비전입니다.

지난 2개월 동안, 우리는 사물인터넷(IoT)의 미래를 위한 비전에 더 가까이 다가갈 수 있는 몇 가지 사내 혁신 기술을 개발했습니다. Photon의 주요 기능으로는 서브 체인 프로비저닝, 교차 체인 통신, 합의(Roll-DPoS) 향상, IoTeX Explorer v2.0 등이 있습니다. 철저한 코드 리뷰 / “품질 주”를 통해 스마트 계약, 지갑, 기존 코드 베이스의 안정성을 크게 개선하였습니다. 마지막으로, IoTeX 테스트넷을 엄격하게 테스트하여 1,000개 이상의 TPS(순간 유한성)를 달성하고 Kubernetes을 사용하여 100개 이상의 노드를 성공적으로 구현했습니다. Photon 기능 및 향상된 기능의 전체 목록은 다음과 같습니다.

Sub-chain Provisioning and Management

루트 체인/서브 체인 아키텍처는 IoTeX의 블록체인 설계의 핵심 부분이며, 모든 사용자가 아키텍처, 프로그래밍 언어 및 심지어 목적에 가장 적합한 합의 메커니즘으로 자체 서브 체인을 만들 수 있습니다. 예를 들어, 프라이버시에 초점을 맞춘 서브 체인은 민첩한 아키텍처의 이점을 제공하는 반면 높은 처리량을 요구하는 서브 체인은 더 큰 블록을 활용할 수 있다. 서브 체인은 개발자에게 유연성을 제공할 뿐만 아니라 확장성도 더합니다. 서브 체인은 한 서브 체인의 활동이 다른 서브 체인의 처리량에 영향을 미치지 않는 병렬로 실행되는 별도의 블록 체인으로 생각할 수 있습니다. 이들의 상태(즉, 트랜잭션의 기록)는 전체 IoTeX 네트워크의 상태를 기록하는 루트 체인과 주기적으로 동기화됩니다. 무한 서브 체인을 추가할 수 있는 IoTeX 네트워크는 사실상 무한 확장 가능합니다.

Photon에서는 FIRST 루트 체인/서브 체인 쌍(별도의 단일 블록체인)을 소개합니다. 일부 P2P 네트워크를 공유하지만 독립적입니다. 즉, 루트 체인과 서브 체인의 트랜잭션이 별도의 원점에 기록되고 각각 블록이 병렬로 생성됩니다. 서브 체인은 유연하고 사용자 지정할 수 있지만 루트 체인은 더 견고하며 특정 역할을 수행합니다. IoTeX 네트워크에서 루트 체인의 역할 중 하나는 다음 다이어그램에 자세히 설명된 다양한 시점(블록)에 각 서브체인의 상태를 기록하는 것입니다.

서브 체인의 모든 블록에는 토큰/데이터 전송 및 스마트 계약 실행을 비롯한 다양한 유형의 트랜잭션이 포함됩니다. 모든 블록체인과 마찬가지로, 최대 블록가스 제한치에 도달한 후 블록이 생성되고 검증(“소화”)된며 또한 서브체인 트랜잭션의 다이제스트가 작성된 모든 새 블록에 대한 루트 체인에 기록됩니다. 이것은 서브 체인 블록을 마이닝할 때마다 Merkle 트리의 해시 루트(위 다이어그램의 해시 ID)를 보고하여 수행됩니다. 간단히 말해, Merkle 트리는 계층적 시간 기록입니다. 모든 새 블록에는 고유한 Merkle 트리가 있으므로 고유한 해시 ID가 있으며, 마지막 블록 이후 서브 체인에서 발생한 작업의 증거로 루트 체인으로 전송됩니다.

루트 체인 트랜잭션은 후보자를 위한 표, 값/데이터의 교차 체인 전송(다음 섹션에서 설명함), 다양한 서브 체인 블록의 해시 ID로 구성되며, 이는 IoTeX 네트워크의 모든 하위 팀 트랜잭션 기록의 스냅샷을 나타냅니다. 위의 그림과 같이 루트 체인의 블록 3에는 여러 개의 교차 체인 트랜잭션(즉, 해시 ID(크로스 체인))과 여러 서브 체인 블록 X-3, Ce)의 해시 ID가 포함됩니다. X-2는 두 번째 블록 이후 서브체인 X-2의 상태이며, “X-3”은 세 번째 블록 이후의 서브체인 상태이며, 서브체인 A, B, C의 상태도 기록됩니다. 서브 체인에서 생성된 트랜잭션의 양(즉, 새 블록을 생성하는 속도)에 따라 서브 체인 블록의 여러 해시 ID를 동일한 루트 체인 블록에 저장할 수 있습니다.

최종 결과는 대규모 확장성입니다. 일반적인 블록체인 아키텍처에서는 모든 서브체인 X의 트랜잭션이 루트 체인에 개별적으로 저장됩니다. IoTeX의 아키텍처를 통해 전체 서브체인 블록을 루트 체인에 단일 트랜잭션으로 효율적으로 저장하여 “100 대 1”의 확장성을 지원합니다. IoTeX 네트워크는 무한 병렬 프로세싱 서브 체인을 추가할 수 있어 향후 수십억 개의 IoT 장치를 지원할 수 있을 것입니다.

교차체인 커뮤니케이션

블록체인 간 상호운용성을 가능하게 하는 교차체인 통신은 블록체인 산업에서 광범위하게 연구되는 주제입니다. Polkadot, Cosmos 및 Aion 과 같은 프로젝트에는 상호운용 가능한 블록체인의 네트워크를 구축하는 다양한 접근법이 있습니다. 상호운용 가능한 블록체인(즉, IoTeX 서브체인)의 개념은 IoT 미래 비전의 핵심 요소입니다. 현재 다양한 클라우드 기반 플랫폼(예: AWS, Google, Azure)에서 운영하는 IoT 기기와 기업은 데이터를 교환할 수 없어 IoT의 가치와 기능을 크게 제한하고 있습니다. IoTeX는 고유한 IoT 산업과 복잡한 IoT 산업 간의 상호 운용성을 지원하는 데 중점을 두고 있으며, 이것이 바로 IoTeX의 초기 설계 결정이 이기종 서브 체인 및 교차 체인 통신을 지원하는 데 초점을 맞추고 있습니다.

Photon에서는 루트 체인과 독립적인 블록체인 서브체인 간의 교차체인 통신 기능을 미리 살펴봅니다. 지난 몇 개월 동안 우리는 루트 체인/서브 체인 간의 데이터와 가치의 양방향 전송(즉, 토큰)을 가능하게 하기 위해 빌딩 블록을 연구 및 개발했으며, 향후 몇 주 및 몇 주 내에 연구 보고서를 완전히 배포할 계획입니다. Photon 릴리즈에서는 다음 구성 요소를 미리 살펴봅니다.

  • 루트 체인의 예치금을 서브체인으로 토큰: 탐색기 API 호출을 통해 독립적인 블록체인(즉, 루트 체인과 서브체인) 간에 EIOTX 토큰 전송
  • 업그레이드된 IoTeX 지갑: 별도의 토큰 균형과 함께 루트 체인 및 서브체인(즉, 서로 다른 계정 주소, 동일한 개인 키)에 단일 지갑을 사용합니다.

루트체인지갑 생성

Record your sub-chain wallet public key

지금 새 IoTeX 지갑에서 이러한 기능을 미리 보고 입금 기능을 테스트할 수 있습니다. 위에 자체 루트 체인 및 서브 체인 지갑을 만들기 위한 단계별 지침이 제공되며, Photon 개요 비디오에서 데모를 찾을 수 있습니다. 앞으로 몇 주 동안, 우리는 우리 커뮤니티가 이 기능을 더 테스트하고 우리의 루트 체인/서브 체인 구조를 탐색할 수 있도록 몇 가지 지역사회 보상 프로그램을 시작할 것입니다.

Roll-DPoS Consensus Upgrades

Photon은 새로운 기능을 추가하는 것 외에도 사내 Roll-DPoS합의 메커니즘의 성능과 보안도 개선합니다. 성능 측면에서 블록 운영 시간(예: 대기 시간)을 10초에서 7초로 30% 단축했습니다. 또한 구성 가능한 시간 제한 후에 비활성 블록 생산자를 활성 대리인으로 자동 대체하는 시간 기반 딜러 회전을 구현했습니다. 보안 측면에서는 테스트넷 베타 “Epik”에서 구현된 이중 키 생성에 대한 주요 보안 향상인 분산 키 생성을 구현했습니다.

IoTeX 테스트넷은 여러 가지 코드 품질 스프린트 덕분에 안정성이 크게 향상되었으며, 이를 통해 테스트넷의 경계를 넓힐 수 있었습니다. 스테이징 환경에서는 1,000 TPS 이상의 TPS, 1초의 지연 시간, 100명의 후원자 지원 등 몇 가지 놀라운 결과를 얻을 수 있었습니다. 2019년 1분기에 Mainnet Alpha가 출시될 때까지 현재의 최고 성능 결과를 완벽하게 달성할 수 있기를 기대합니다.

IoTeX Explorer v2.0

별도의 블록 체인인 루트 체인과 서브 체인의 블록체인 활동을 시각화하기 위해 루트 체인과 서브 체인에 모두 탐색기를 추가했습니다. 기존 팔로워가 알고 있는 바와 같이, 우리는 최근에 IoTeX Explorer를 열어 커뮤니티에서 자체 탐색기를 만들고 블록체인 활동을 모니터링할 수 있게 되었습니다.

위에 표시된 것처럼 루트 체인 탐색기는 후보자 투표, 값/데이터의 크로스 체인 전송 및 서브 체인 블록의 기록을 나타내는 해시 ID의 전체 트랜잭션 유형을 보여 줍니다. 루트 체인에 대한Roll-DPoS투표와 블록 제작이 수행됨에 따라 루트 체인 탐색기의 지구 그래픽은 현재 시기의 블록을 만들고 검증하기 위해 선택된 22명의 후보 중 어느 후보를 시각화합니다. 현재 테스트넷에는 22명의 후보자가 사용되므로 네트워크에서 최대 7개의 악성 노드를 허용할 수 있습니다(참고: PBFT는 3X + 1개의 노드가 있을 경우 X 공격자를 허용할 수 있음).

위에 표시된 것처럼 서브 체인 탐색기는 루트 체인 탐색기와 유사합니다. 그러나 투표가 루트 체인에 대해서만 이루어진다는 점을 감안할 때 서브 체인 탐색기에는 가치/데이터의 이전과 스마트 계약 실행의 두 가지 유형의 트랜잭션만 포합됩니다. 다른 구성 요소(예: #블록 수, #시대 수, IFTPS, BBH)는 모두 루트 체인 탐색기와 동일합니다. 루트 체인과 서브 체인의 교차 체인 트랜잭션을 생성하고 해당 블록/트랜잭션 ID를 루트 체인과 서브 체인 탐색기에서 찾을 것을 권장합니다.

다음달에 무엇을 기대할수 있을가요?

Photon은 IoTeX 테스트넷의 최종 버전을 표시합니다. 2019년 1분기 Mainnet Alpha 출시 카운트다운이 공식적으로 시작되었습니다! 메인넷 알파는 아직 IoTeX의 최대 이정표가 될 것이다. 테스트넷에서 메인넷으로의 공식적인 전환을 대표하기 때문이다. 이러한 중요한 변화에 대비하기 위해 향후 몇 개월은 기술 개발, 프로토콜/지배구조 설계 및 사고 리더십에 걸쳐 액션으로 가득 찰 것입니다. 향후 몇 개월 동안 주의해야 할 몇 가지 흥미로운 사항은 다음과 같습니다.

  • 프라이버시 지원 서브 체인 및 하드웨어를 포함한 새로운 기능 개발
  • 테스트넷 노드를 시작하기 위한 소프트웨어 개발 키트(SDKs) 및 설명서
  • 테스트넷을 완전히 오픈하면 트랜잭션을 검증하고 분산 애플리케이션(DApps)을 구축하며 IoTeX 네트워크를 직접 탐색할 수 있습니다.
  • 블록 생산자(BP) 선거 프로그램 세부 정보가 공유됩니다.
  • 해커/개발자를 대상으로 한 버그 포상금
  • 서브 체인, 교차 체인 커뮤니케이션 및Roll-DPoS 에 대한 연구 보고서
  • 기능을 테스트하고 IoTeX를 촉진하기 위한 커뮤니티 보상 프로그램
  • IoTeX가 실제로 작동하는 모습을 보여주는 개념 증명 및 데모
  • And more…

여러분의 지속적인 지원에 감사드립니다. 블록체인과 IoT가 주도하는 세계를 실현하기 위한 우리의 비전을 실현하기 위해 그 어느 때보다 많은 영감을 받고 있습니다. “물리적 세계를 한 블록씩 연결하는 것”에 한 걸음 더 가까워졌습니다.

Code Contributions — We Want Your Help!

iotex-core 프로젝트는 Apache License 2.0에 따라 오픈 소스이며 라이센스가 부여됩니다. IoTeX가 잠재력을 최대한 발휘하도록 돕기 위한 기여(예: 스타일/버그 수정, 기능 권장사항, 계획/설명서 제안, 문서 도움말)는 모두 환영 받고 있습니다. 코드 기여에 대한 자세한 내용은 기여 지침을 참조하십시오. 문제를 보고하려면 Github 페이지에 문제를 제출해 주십시오.

Subscribe to IoTeX’s Official Channels

IoTeX에 대해 자세히 알아보거나 프로젝트의 기술적 측면을 논의하려면 아래 공식 채널을 통해 언제든지 연락하십시오.

IoTeX

IoTeX는 자율적으로 확장가능한 개인보호 보호 중심의 IoT 전용 블록체인 입니다. IoTeX의 글로벌 팀은 암호학, 분산형 시스템, 머신 러닝 분야의 Ph.D, 최고 수준의 엔지니어, 경험 많은 에코시스템 설계자들로 구성되어 있습니다. IoTeX는 이종 기기간 컴퓨팅을 위한 블록체인 안의 블록체인 아키텍쳐, 빠른 Roll-DPoS 합의 메커니즘, 가벼운 개인정보 보호 기술 등 IoTeX만의 혁신을 통해 블록체인 3.0의 선두에서 혁신을 만들어나가고자 합니다. IoTeX는 한 블록 한 블록씩 세상을 연결시켜가며, 자율적 기기조작의 대중화를 이끌어가겠습니다.

웹싸이트: https://iotex.io/
트위터: https://twitter.com/iotex_io
텔레그램 새소식 채널: https://t.me/iotexchannelko
한국텔레그램 그룹: https://t.me/IoTeXGroupKO
미디엄: https://medium.com/@iotex
레딧: https://www.reddit.com/r/IoTeX/
Facebook: https://www.facebook.com/IoTeXKorea