RYANTHEME_dhcvz718
코인정보

[블록체인 용어 사전] 솔리디티(Solidity)란?

코투선매니저 0 885

f614316221283c670e1bf98cdc5d40c7_1702525516_124.png
 

안녕하세요. 코투선 매니저입니다.


솔리디티(Solidity)란?


솔리디티(Solidity)는 견고하다는 뜻을 가지고 있는 용어입니다. 

하지만, 이더리움이 개발되고, 이더리움과 같은 블록체인 플랫폼에서 스마트 계약을 작성할 수 있도록 개발된 프로그래밍 언어로 더 많이 쓰이는 용어가 된 것 같아요.


이더리움 스마트 계약이 나오면서, 솔리디티 언어도 같이 개발이 되어 나오게 되었고, 솔리디티 언어를 통해 개발자는 솔리디티 언어를 통해서 스스로 실행되는 비즈니스 로직을 스마트 계약에 담아서 구현할 수 있게 되었답니다.


a2a9783cd14d91db6941cdaf31b9f93d_1702525555_8274.jpg


솔리디티 언어는 2014년 8월, 개빈 우드(Gavin Wood)의 제안을 시작으로, 이더리움 프로젝트의 크리스천 라이트위스너(Christian Reitwiessner)가 이끄는 솔리디티 팀에 의해 개발되었습니다. 

솔리디티 언어의 목표는 비탈릭 부테린(Vitalik Buterin)의 이더리움 플랫폼 위에서 작동하는 디앱(DAPP) 개발을 목표로 시작한 프로그래밍 언어입니다.


2015년 8월, 솔리디티 언어는 정식으로 출시되고, 이더리움 플랫폼과 스마트 계약 기술이 한 단계 도약할 수 있는 발판을 마련하게 됩니다.


a2a9783cd14d91db6941cdaf31b9f93d_1702525600_9665.jpg



솔리디티 프로그래밍 언어로 할 수 있는 것


솔리디티는 스마트 계약을 작성하기 위한 언어로, 다른 프로그래밍 언어인 C++, 파이썬, 자바스크립트 등의 영향을 받은 고수준 언어입니다. 

이더리움 가상머신(EVM; Ethereum Virtual Machine)을 통해 블록체인 내부에서 동작하는 프로그램을 수행할 수 있도록 해주는 기능이 특화되어 있습니다.


318fac8bce146be215105b48003e6684_1702525714_2165.jpg


이더리움 네트워크의 기반은 솔리디티로 이루어져 있답니다. 

이더리움 네트워크에 디앱을 올리기 위해서 꼭 필요한 언어인 것이죠. 

개발자는 솔리디티를 통해 다양한 앱을 만들 수 있습니다. 하지만, 블록체인 특성상 스마트 계약이 블록체인에 한 번 올라가면, 수정할 수 없고, 누구나 확인할 수 있기 때문에 신중하게 작성해야 합니다. 


솔리디티는 이더리움뿐만 아니라, 같은 원리로 동작하는 블록체인 플랫폼에서 동작하고 있습니다. 

대신, 이더리움과 통신을 하려면 별도의 체인이나 방법이 고안되어야겠죠?


318fac8bce146be215105b48003e6684_1702525728_3566.jpg




튜링 완전 언어?


솔리디티라는 프로그래밍 언어를 공부할 때, 튜링 완전 언어라는 특징을 갖고 있다고 합니다. 

그러면서, 튜링 완전 언어라서 뭐에 비해서는 좋다고 언급하고는 하죠.


그렇다면 이 튜링 완전이라는 특징은 무슨 특징일까요? 

이론상으로는 프로그래밍 언어가 튜링 기계와 동일한 계산 능력을 가진다는 의미인데, 일반 사람이 들었을 때, 그니까 이게 무슨 소리냐고 되묻고는 합니다.


58ebf22aa259515eafcb43b9dfbf48b0_1702525773_9199.jpg


쉽게만 이해하고 넘어가시면 됩니다. 

튜링 완전 언어는 조건 분기문, 반복문, 메모리 제어 등이 가능한 프로그래밍 언어를 의미합니다. 

C++, 자바, 자바스크립트, 파이썬, C# 등 대부분의 프로그래밍 언어는 튜링 완전 언어죠.


프로그래밍 언어가 아닌 마크업 언어인 HTML이나, XML, SQL 등 특수한 목적을 가진 스크립트 언어가 튜링 불완전 언어에 속한다고 볼 수 있습니다.


0e13d874e9583ffccb9c168ab166422b_1702525797_4664.jpg


IT 업계와 전혀 무관한 사람이라면, 튜링 완전 언어는 조건문과 반복문이 있는 언어구나.라고만 알아두셔도 문제가 없을 것 같습니다.


그럼, 왜 튜링 완전 언어를 쓰는 것이 솔리디티의 큰 특징이냐를 알아야겠죠?

비트코인을 포함한 블록체인 프로젝트의 많은 수가 반복문이 없는 튜링 불완전한 스크립트 언어를 사용하기 때문입니다. 

튜링 완전 언어의 반복문을 사용해서 무한 반복하는 앱을 만들어 디앱으로 올리면, 네트워크는 그 처리를 무한히 반복하면서 다른 블록 생성 자체를 멈추는 큰 문제가 있기 때문이죠.


58ebf22aa259515eafcb43b9dfbf48b0_1702525828_1385.jpg


쉽게 말해, '이러한 문제에 대한 대처를 이더리움은 해냈고, 튜링 완전 언어인 솔리디티를 만들어 사용한다' 라고 자랑하는 것이죠. 

 

58ebf22aa259515eafcb43b9dfbf48b0_1702525844_7645.jpg
 


견고하다는 의미를 가진 솔리디티는, 

정말 견고하게 이더리움 네트워크 플랫폼을 시작으로 스마트 계약과 디앱과 관련된 대부분의 블록체인 프로젝트에 퍼져나가고 이용되고 있을만큼 망하기 어려운 시장을 구축해나가는데 큰 도움을 준 도구가 되었습니다. 


블록체인과 관련된 프로그래밍을 공부하려고 할 때, 솔리디티는 필수 커리큘럼이 될 정도가 되었다고도 볼 수 있을 정도입니다.


감사합니다.



프린트

Author

Lv.4 코투선매니저  프렌드
4,200 (69.2%)

등록된 서명이 없습니다.

0 Comments
  메뉴
  인기글
  통계청