검수요청.png검수요청.png

리퀴디티

위키원
bl6428 (토론 | 기여)님의 2019년 6월 27일 (목) 14:44 판
이동: 둘러보기, 검색

리퀴디티(Liquidity)는 테조스(Tezos)를 위해 개발된 완전 함수형 프로그래밍 언어이다. 2017년 10월 05일 ver 0.1의 초판이 만들어지고 점차 기능이 추가되는 중이다. 리퀴디티는 완전히 형식화된 함수 언어이며 오카멜(OCaml) 및 ReasonML의 구문을 사용하며, 미켈슨(Michelson)의 보안 사항을 엄격히 준수한다.

개요

테조스는 미켈슨이라는 로우 레벨 정적 유형 언어를 사용하여 스마트 컨트랙트를 작성할 수 있었다. 하지만 변수의 유형이 적고 스택 기반의 문법들 때문에 쓰는 것도 읽는 것도 어려워서 테조스는 개발 초기에 더 높은 레벨의 언어가 필요하다는 생각을 가졌다. 그 후 오카멜 프로(OCamlPro)에서 개발한 리퀴디티의 프로토타입이 2017년 6월에 처음 개발되었고, 2018년 2월 정식으로 테조스의 알파넷에서 출시되었다.[1]

특징

리퀴디티는 미켈슨의 타입 시스템을 따르지만, 오카멜의 문법을 바탕으로 실행된다. 리퀴디티는 미켈슨으로 변환되는 컴파일러가 포함되어 있으며, 미켈슨으로 쓰인 컨트랙트를 리퀴디티로 변환할 수 있는 디컴파일러 역시 포함되어 있다. 이는 서로의 호환성을 위함이다.[1] 또한 리퀴디티는 수학적으로 소프트웨어 코드의 오류를 점검하기에 오류가 일어날 확률이 사실상 없다.[2] 리퀴디티는 미켈슨에서 작성할 수 있는 모든 것을 표현할 수 있으며, 스택 조작 대신 로컬변숫값을 사용한다. 합계 유형 및 레코드 유형과 같은 유형은 리퀴디티에서 정의되고 사용될 수 있어 높은 수준의 프로그래밍 언어이고 재사용 가능한 코드와 라이브러리를 작성하는 모듈과 계약시스템, 다형성을 가진 강력한 메커니즘, 자바스크립트와 유사한 언어로 작성하기, 스마트 컨트랙트로 작성하여 응용하기 등 여러 가지를 리퀴디티로 표현하고 활용할 수 있다. 작성된 스마트 컨트랙트는 메인넷(Mainnet)과 제로넷(Zeronet)에 제출할 수 있다. 리퀴디티 파일의 확장자명은 .liq이다.

평가

함수형 프로그래밍 언어 중 하나인 리퀴디티는 수학적으로 소프트웨어 코드의 오류를 점검하기 때문에 오류가 일어날 확률은 0에 수렴한다. 그렇기 때문에 리퀴디티가 널리 사용되는 프로그래밍 언어는 아니지만 학습하는 데 오래 걸리지 않는 편에 속한다는 긍정적인 평가를 받고 있다.[2] 여타 함수형 프로그래밍 언어가 그렇듯이 리퀴디티 역시 계산 값을 수학 함수의 값으로 구하는 것으로 간주하고 상태 및 데이터의 변경을 방지한다는 장점이 있다.

향후 계획

테조스 한국 재단은 국내 개발자들의 테조스에 대한 이해를 높이고 활용도를 증가시키기 위해 프로그래밍 언어인 오카멜과 더불어 테조스 스마트 컨트랙트 언어인 리퀴디티의 교육과정을 제공할 계획을 가지고 있다. 이를 통해 한국 재단이 기대하는 점은 개발자를 비롯한 많은 사람이 테조스 블록체인 플랫폼을 더 쉽게 이해함과 분산 애플리케이션 개발의 용이함이다.[3] 한편, 개발자들은 현재 리퀴디티로 작성된 스마트 컨트랙트의 정확성(Correctness)을 증명하는데 사용할 공식 메서드(Formal-Method) 프레임워크를 개발 중이다.

리퀴디티 관련 홈페이지

각주

  1. 1.0 1.1 Skkrypto, 〈TezosXSkkrypto 테조스 실습노트 #6〉, 《브런치》, 2019-05-06
  2. 2.0 2.1 김병윤 기자, 〈테조스 창업자 “안전한 테조스, 금융업과 시너지 확신"〉, 《팍스넷뉴스》, 2019-01-28
  3. 임유경 기자, 〈테조스 한국 재단 설립...개발자 생태계 구축 집중〉, 《지디넷 코리아》, 2018-10-27

참고자료

같이 보기



  검수요청.png검수요청.png 이 리퀴디티 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.