스마트컨트랙트를 구현하는데 사용되는 언어는 무엇인가요?
스마트컨트랙트가 이더리움을 포함해서 다양한 플랫폼에서 적용이 되고 있고 이로 인해 DaPP들도 많이 탄생하고 있다고 알고 있습니다.
그렇다면, 스마트컨트랙트의 코딩을 구현하는데 어떤 언어들이 사용되나요?
여러가지 언어들이 혼합되어 구현되는것인가요?
답변 미리 감사드립니다!
질문자께서 질문해 주신 내용에 대해 이더리움과 질리카, 이오스를 예로 들어 답변해 드리도록 하겠습니다.
이더리움의 경우는 현재 스마트 컨트랙트를 작성하기 위한 전용 언어인 솔리디티를 이용하고 있습니다.
그런데 앞으로 EVM(이더리움 가상 머신)이 eWASM(이더리움 웹 어셈블리)으로 바뀌게 되면, 즉 웹 어셈블리 기반의 EVM으로 바뀌게 되면, 솔리디티 언어 뿐만이 아니라
다양한 프로그래밍 언어(C, C++, 파이썬, 자바스크립트, GO, RUST 등)를 활용한 스마트 계약의 작성과 처리가 가능하며 EVM의 연산 속도 또한 더욱 빨라질 것으로 보입니다.
다음으로 질리카의 경우에는 Scilla(실라)라는 스마트 컨트랙트 작성용 언어를 자체적으로 개발하여 이용하고 있습니다.
실라는 다양한 기능을 제공하는 것을 추구하기 보다는 보안에 위협이 될 수 있는 명령들을 제외하고 가볍고 안전한 스마트 계약 작성에 유리한 면이 있는 언어라고 할 수 있습니다.
또한 프로그래밍 과정에서 버그를 손쉽게 디버깅 할 수 있습니다. 그리고 이러한 실라로 작성된 스마트 컨트랙트 질리카 블록체인에서 실행되기에 최적화 되어 있으며 높은 보안성과 안정성을 갖게 됩니다.
이오스의 경우 EOS VM이 웹어셈블리 엔진이므로 Rust, Python, Solidity, C/C++ 등 다양한 언어를 통해 스마트 컨트랙트 작성 할 수 있습니다.
이처럼 블록체인 상에서 스마트 컨트랙트를 작성할 때는 해당 블록체인에 맞는 별도의 스마트 컨트랙트 작성용 언어를 이용할 수도 있고 웹어셈블리 기반으로 다양한 언어를 지원하는 것도 가능함을 알 수 있습니다.
답변이 도움이 되길 바랍니다.