스마트 컨트랙트를 통해 다양한 기능을 블록체인에
기록 가능하다. 그런데 이게 쉽진 않다.
요건이 세가지 지켜져야 한다.
1. 안전성
2. executable and deterministic
-> 모든 머신이 실행할 수 있는 코드여야 한다는 뜻.
3. effective
-> 실행이 느려선 안된다. 효율적이어야 한다는 뜻.
그런데 웹어셈블리가 이 세 가지 성질을 충족시킬 수
있다는 전망이 있다.
웹어셈블리는 3D 게임도 가능할 정도로
성능이 좋다.
왜 웹어셈블리가 스마트 컨트랙트에 적합할까?
위에서 언급했던 요건을 충족시킨다.
웹어셈블리는 portable 하다.
또한 deterministic 하다. 늘 같은 결과를 돌려줌.
efficient and fast 도 가능하다.
웹어셈블리는 jit과 aot를 사용가능해서
머신 네이티브한 성능을 낼 수 있다.
safe? 웹어셈블리는 디스크에 대한 직접적인 액세스를
사용하지 않아서 안전하다.
readable and debuggale 도 가능하다.
language independent 도 가능하다. 다양한 언어를 쓸 수 있다.
블록체인이 다양한 로직을 가질 수 있는
서버가 될 수 있다.
vm 으로써 wasm을 채택하기까지의 과정을 살펴보자.
scalability
language independent
fast and efficient
통상적인 언어로 스마트 컨트랙트를 작성할 수 있게 해야함
사실 가장 중요한건 퍼포먼스이다.
실행보다 컴파일에 많은 시간이 걸리는 jit bomb이 있다.
악의적인 공격이 이를 통해 가능하고 블록체인 네트워크를 마비시킬 수 있다.
performance 가 가장 좋아야한다.
글로벌 서비스를 염두에 두어야 하기 때문이다.
블록체인에서 스마트 컨트랙트를 위해 WASM을 쓰려면
vm 을 구축해야 한다.
그런데 고려할 점이 굉장히 많다.
고려사항에 따라 런타임 채택에 영향이 있다.
https://www.youtube.com/watch?v=kCwNShlsgtE
'Blockchain' 카테고리의 다른 글
[Blockchain] 라인 블록체인 영상 (The Future of Blockchain with LINE) (0) | 2022.11.04 |
---|---|
[Blockchain] 라인 블록체인 영상 (P2P 네트워크에서 블록체인의 일관성에 도전) (0) | 2022.11.03 |
[Blockchain] 블록체인 확장성 이슈 관련 영상 요약 (0) | 2022.10.31 |
[Blockchain] Base64 인코딩과 디코딩 (0) | 2022.10.31 |
[Blockchain] [작성 중...] Bitcoin: A Peer-to-Peer Electronic Cash System - by Satoshi Nakamoto 의 번역 및 정리 (0) | 2022.10.29 |