X86 VM에 대한 정보
leekan
- 2018.03.12. 22:41
- 3349
많은 분들이 X86 VM에 대한 정보를 찾기 어려워하시는 것 같아서 제 스팀잇에 쓴글의 일부를 가져와봅니다.
스팀잇 주소 : https://steemit.com/@highkoco
1. X86이란?
먼저 X86이 절대 최신의 것이 아니란 것부터 말을 하고 싶다. X86은 인텔에서 개발한 CPU 계열을 부르는 말이자, 그것들과 호환되는 CPU에서 사용하는 명령어 집합 구조(ISA:Instruction Set Architecture)를 통칭하는 말이다. 이름이 80으로 시작해서 86으로 끝났기때문에 80X86이라고도 불렀다. (90년도에 내가 처음으로 쓴 컴퓨터가 586계열...이었다 ㅎㅎ)
X86 아키텍쳐에 대한 얘기를 복잡하게 하려면... RISC와 CISC를 얘기해야 하므로...
그냥 간단하게 장점을 얘기하자면 폰노이만의 컴퓨팅 아키텍쳐를 사용할 수 있다는 것과 하위 호환성이 좋다는 것과 메모리를 읽는 형태가 효율적이라는 것을 말하고 싶다.
2. X86 VM이란?
블럭체인에서 VM(Virtual Machine)이란 블럭체인 네트워크의 수 많은 노드들이 가상의 하나의 단일 기계처럼 작동하는 것을 의미한다. 스마트컨트렉트는 이러한 VM위에서 작동된다. 그러니 X86 VM이란 X86을 바탕으로 만들어진 VM이라고 할 수 있겠다. QTUM은 현재 Solidity 언어를 기반으로한 EVM(이더리움 버츄얼 머신)을 사용하고 있으며 앞으로는 EVM에 더하여 X86 VM과 왓콤(WASM)계열까지 지원할 예정이라고 한다.
3. 왜 Qtum은 X86 VM을 사용하려 하는가?
(참고 : http://earlz.net, the faults and shortcomings of the evm)
Solidity에 기반한 EVM에는 다음과 같은 문제가 있기때문에 Qtum에서는 X86 VM을 사용하려고 한다.
1) 256비트 정수 사용
- 간단하기 때문에 채택했지만 상대적으로 복잡하고 느리고 비효율적인 문제들을 많이 야기함.
2) 메모리 모델
- EVM 스택의 임의 항목에 접근할 방법이 없다.
3) 바이트코드 크기
- 바이트 코드가 불필요하게 크다.
4) 가스의 경제학과 게임이론
- 시간이 지날수록 더 많은 가스와 시간낭비. 계약저장 비용보다 거래내역 입력이 훨씬 저렴...ㅠ
5) 표준 라이브러리 부족
6) 디버깅 및 테스트 가능성 부족
7) 부동 소수점 지원 X
8) 계약 변경 불가 코드
4. X86 VM은 Qtum에게 어떤 이점을 주는가?
(참고 : http://earlz.net, thoughts and goals on qtums x86 vm )
1) 다양한 프로그래밍 언어 지원
- 기존의 컴파일러나 거의 모든 프로그래밍 언어를 다 사용.(C, C#, GO, Rust 등) - 개발 접근성 UP UP
2) 표준 라이브러리 지원
- 표준 라이브러리를 통해 Qtum 블럭체인에서 더 가볍고 효율적인 스마트 컨트렉트를 구현할 수 있게 됨
3) 가스모델의 최적화
- DGP 매커니즘(개발자가 가스 비용을 설정)을 통한 최적화
4) X86 VM은 세그윗 트랜잭션에 스마트 컨트렉트포함 및 실행 가능
5) 새로운 가능성
- 협업 멀티테스킹, 인터럽트, 재개, 워치 독 타이머 등 많은 특수 기능이 포함됨
6) 일류 오라클
- X86 VM은 컨트렉트에서 필요한 데이터를 알고 있으면 계약을 호출할 필요 없이 저장 공간에서 직접 데이터 로드 가능
7) 블럭 체인 분석
- 계약 분석을 위해 전체 블럭 체인 데이터를 노출하는 것이 가능
8) 대체 데이터 저장소
- EVM이 256 키를 사용하기에 공간 분할과 관리가 어려운것에 반해 X86 VM은 목적키와 값 저장소를 따로 제공해서 1~수 많은 바이트를 기로 저장하고 변형 값을 포인팅할 수 있음. SPV 지갑 데이터베이스를 사용하여 스마트 컨트렉트와 상호 작용이 가능
9) 명시적 종속 트리
- 종속성이 있는 계약은 계약에 따라 일부 계약이 동시에 수행될 수 있으므로 가스 비용이 절감될 수 있음
이 댓글을 삭제하시겠습니까?
[다누]님의 댓글을 신고합니다.
풍차신화
이 댓글을 삭제하시겠습니까?
[풍차신화]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[QTUM4U]님의 댓글을 신고합니다.
승뉴
이 댓글을 삭제하시겠습니까?
[승뉴]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[QTUM4U]님의 댓글을 신고합니다.
승뉴
이 댓글을 삭제하시겠습니까?
[승뉴]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[가사]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[흰둥이남]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[사랑의곰]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[가즈아퀀텀텀]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[십오야]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[불꽃]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[211b94]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[라비스]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[슈퍼망고]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[자유롭게]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[onetop]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[같이가자하와이]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[히카루]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[레오니다스79]님의 댓글을 신고합니다.
이 게시물을 삭제하시겠습니까?







