[IOST] IOST, 퍼블릭 테스트넷 '에베레스트 1.0' 업데이트

in #iost6 years ago

image (2).png

안녕하세요. IOST 코리아입니다.

금일 우리 IOST 재단은 두번째 버전의 IOST 테스트넷 공개를 선언합니다. Everest 1.0 입니다. 그동안 대부분의 블록체인 프로젝트는 확장성과 관련된 트릴레마에 시달려 왔습니다. 확장성과 보안, 그리고 탈중앙화 사이의 균형을 잡는 것은 그동안 블록체인의 난제였고 대부분의 프로젝트는 이 균형을 잡는데 실패했습니다. 트릴레마를 해결하기 위해 IOST는 저희의 시제품에 해당하는 '에베레스트 1.0'을 선보이고자 합니다.

에베레스트 1.0은 IOST 블록체인의 신기원을 선언합니다. 이는 올해 6월에 공개된 퍼블릭 테스트넷 에베레스트 0.5보다 진일보된 테스트넷 입니다.

에베레스트 1.0의 핵심 내용은 다음과 같습니다.

ㅇ자바 스크립트를 지원하는 스마트 콘트랙트 구현
ㅇ스마트 콘트랙트 DNS를 지원하는 첫 블록체인으로 콘트랙트의 유연한 수정과 업그레이드를 지원
ㅇ다양한 동의컨트랙트(MVCC)를 스토리지 레이어에서 지원하는 첫 블록체인
ㅇ EVM과 EOS를 기반으로 재 설계한 가상화 머신. 벤치마크 지수가 EOS보다 10배 빠르며 이더리움보다는 200배 빠름

표1.jpg
표1.jpg

1. 자바 스크립트를 지원하는 스마트 콘트랙트 구축

a. General Application Binary Interface (ABI) 지원 - IOST 스마트 콘트랙트는 ABI를 지원합니다. 이를 통해 다양하고 복잡한 데이터를 효율적으로 유연하게 처리할 수 있습니다.

b. 플러그 앤 플레이 방식으로 다양한 언어 지원 - IOST는 이제 다양한 언어 기반 스마트 콘트랙트를 지원합니다. 크롬 V8엔진으로 제작된 자바스크립트를 지원하고 있으며, 고사양 거래를 위해 Golang 모듈과 호환됩니다.

c. 스마트 콘트랙트 허가 시스템 - 트랜잭션에는 다양한 언어 기반 전자서명을 지원합니다. ABI를 기반으로 다양한 검증 절차를 수반하며, 이는 이더리움과 같은 플랫폼에서 스마트 콘트랙트를 지원하는데 걸리는 시간을 단축할 수 있습니다.

d. 합의 결과의 생성 - 스마트 콘트랙트는 신속하게 합의를 확인하기 위해 TxReceipt를 생성합니다. 이를 통해 손쉽게 거래의 투명성과 예측가능성을 제고할 수 있습니다.

pic1.png

2. 가상화 머신의 재 설계

우리는 좋은 가상화 머신은 개발에 편하고, 안전해야 한다고 믿습니다. EVM, EOS, C Lua(에베레스트 0.5 버전의 언어)을 비교해 우리는 V8 엔진을 설계했습니다. IOST 가상화 머신은 V8 엔진을 근간으로 제작됐으며, VM 매니저 기능을 지원합니다. 자세한 부분은 기술적인 내용이기에, 원문으로 남겨두겠습니다.

a. VM Entrance. It interfaces external requests from other modules, including RPC requests, block validation, Tx validation, etc. The work is handed off to VMWorker after preprocessing and formatting. It gives unified entrance for all requests.

b. VMWorker lifecycle management. The number of workers are set dynamically based on system load. It achieves reuse of workers. Within the workers, JavaScript hot launch and persistence of hotspot Sandbox snapshots help reduce frequent creation of VMs, and avoid heavy load in CPU and memory when the same code is loaded. This will increase the throughput of the system, allowing the IOST V8VM to achieve high performance even when processing contracts with a massive user base, such as fomo3D.

c. Management of interface with State Database. This ensures atomicity (prevents partial updates to the database) of each IOST transaction, denying the entire transaction when there is an error of insufficient funds. At the same time, two-level cache is achieved in the State Database before being flushed to RocksDB, and this ensures less access time for different versions of data, and optimized performance for temporary data.

3. 다양한 동의 컨트롤(MVCC)을 지원하는 고성능 스토리지 레이어 캐시

IOST의 스토리지 레이어는 데이터를 영구히 보존합니다. 우리는 데이터의 종류에 따라 다양한 레벨에 저장하는 SLA 기술을 채용했습니다.

블록체인 상에서 다양한 종류의 데이터를 다루기 위해 우리는 MVCC 캐시를 도입해 기록장치를 다양화 하고자 합니다. 이는 블록체인의 퍼포먼스를 강화시킬 수 있을 전망입니다.

가장 외곽에 위치한 레이어는 커미트 매니저로 이는 다양한 버전의 데이터를 관리할 수 있습니다. 이는 데이터를 분류하고, 종류에 따라 알맞는 인터페이스를 공급합니다.

statedb.png

4. 정보 탐색 및 전파 속도가 극적으로 개선된 완전 탈중앙화 네트워크 레이어

우리는 노드의 정보 탐색 및 네트워크 전반의 트랜잭션 처리속도, 그리고 블록 생성속도가 극적으로 개선된 완전 탈중앙화 네트워크를 구축하고자 합니다. 동시에 우리는 데이터 처리 지연속도를 늦추고, 노드간 데이터 거래를 안전하고 지키려는 목표를 갖고 있습니다.

a. Node discovery and connectivity. we secure all data with a TLS layer on top of TCP. To better utilize each and every TCP connection, we adopt stream-multiplexing to send and receive data, dynamically establishing multiple streams between nodes and maximizing the bandwidth.With nodes, we use Kademlia to maintain their gateway tables. This means we can prevent eavesdropping and unwanted manipulation of data across the network.

b. Data transmission. To reduce bandwidth and to speed up data transmission, we serialize all structured data with Protocol Buffers, and compress them with the Snappy algorithm. During our tests, this integration reduced the size of the data by over 80%.

c. LAN penetration. We use Universal Plug and Play (UPnP) Protocol to achieve LAN penetration. UPnP is different than other solutions, such as UDP Hole Punching and STUN; it does not require port exposure without publishing the server. That means you can use your home computer to access our network and communicate with other nodes, without having to use a cloud server, ensuring making sure our network is always accessible to any user.

결론

에베레스트 1.0은 IOST의 메인넷의 기초가 될 것입니다. 우리는 개발시기를 맞추기 위해 최선을 다하고 있는 IOST 개발팀에 진심으로 감사드립니다.

우리는 로드맵에 따라 개발 진척도를 끌어올리고 있습니다. 개발 진척도를 제멋대로 늦추는 다른 프로젝트와 달리 IOST는 일정을 맞추기 위해 최선을 다하고 있고, 특히 내년 1분기 메인넷 출시는 그 어떤 것보다 중요한 목표입니다. 이번 에베레스트 1.0의 출시는 이와 같은 우리의 목표를 맞출수 있을지 여부를 판가름 하는 좋은 계기가 될 전망입니다.

우리 테스트 넷 출시에 관심을 기울여 주셔서 감사합니다. 항상 의견과 피드백을 기다리고 있습니다!

우리의 테스트넷 주소는 다음과 같습니다. 직접 테스트넷을 체험해 보시기 바랍니다.
http://explorer.iost.io/

개발자 원스탑 지원 사이트 :
https://developers.iost.io

개발자 슬랙 커뮤니티:
https://invite.iost.io


IOST 공식 홈페이지 : http://iost.io
Steemit: https://steemit.com/@iostoken-kr
Facebook : http://bit.ly/IOSTKr_fb
Twitter : http://bit.ly/IOSTKr_twitter
Kakao : http://bit.ly/IOSTKr_kakao (iost987)
Telegram : http://bit.ly/IOSTKr_telegram

Coin Marketplace

STEEM 0.16
TRX 0.13
JST 0.027
BTC 58111.37
ETH 2571.51
USDT 1.00
SBD 2.47