SW/블록체인

블록체인 : 이더리움의 특징, 원리, 사례

얇은생각 2021. 12. 30. 07:30
반응형

스마트 계약

이더리움의 가장 큰 특징인 스마트 계약이 무엇인지에 대해서 알아보겠습니다. 그리고 스마트 계약을 이용하는 애플리케이션인 DApp에 대해서 소개하고, DApp 사례들을 설명하겠습니다. 살아가면서 수많은 계약과 얽히게 됩니다.

집을 매매하거나 빌릴 때는 부동산관련 계약서에 따라 계약을 체결하게 되고, 차량을 구매할 때나 대여할 때는 차량 구매/대여 계약서에 따라서 계약을 체결합니다. 또한 이러한 계약에는 많은 조항들이 뒤따라 나오게 됩니다. 기업에서는 다른 기업들과 비즈니스를 하는데 많은 계약들을 진행합니다. 이러한 계약들은 체결하는데 시간이 오래 걸리며 복잡합니다. 또한, 계약은 각 단계마다 각 참여자들이 수동으로 진행해야 하는데, 이때 계약을 체결하는데 제 3자가 필요하며 비용 또한 많이 발생합니다.

그리고 결과가 다소 명확하지 않을 때를 대비해 변호사가 필요하며, 계약서가 물리적으로 존재하기 때문에 분실 및 훼손 상황이 발생할 수 있습니다. 하지만 다음 슬라이드에서 설명드릴 스마트 계약을 이용하면 앞서 언급한 문제들을 해결할 수 있습니다. 스마트 계약 또는 스마트 컨트랙트는 디지털방식으로 특정한 계약을 수립, 검증, 실행하기 위한 컴퓨터 프로토콜입니다. 

이는 제 3자 없이 신뢰할 수 있는 거래의 수행을 가능하게 하며, 거래들은 추적할 수 있고 되돌릴 수 없게 합니다. Nick Szabo는 1994년에 스마트 컨트랙트라는 개념을 제안하였고 이를 “신뢰할 수 없는 인터넷 환경에서 고도로 발달된 계약을 준수하도록 강제하는 프로토콜”이라고 했습니다. 스마트 컨트랙트는 기존의 계약관련 법률보다 우수한 보안성을 제공하고 동시에 저렴한 비용으로 계약을 처리할 수있도록 합니다.

스마트 컨트랙트는 디지털 명령어로 계약을 작성하면 조건에 따라 계약 내용을 자동으로 실행할 수 있습니다. 또한, 디지털로 된 계약서는 조건에 따른 계약 결과가 명확하고, 계약내용을 즉각 이행할 수 있다는 장점이 있습니다. 뿐만 아니라 이것이 블록체인과 결합하여 제 3자의 필요성을 제거할 수 있습니다.

 

 

이더리움의 스마트 계약

이더리움에서는 “계약”이 어떻게 스마트 계약으로 동작하게 되는 것일까 알아보겠습니다. 예를 들어서 일상에서 볼 수 있는 “동업 계약서” 내용의 로직을 프로그래밍을 통해서 프로그램화를 시킵니다. 이때 이더리움에서는 Solidty(솔리디티)라는 스마트 계약을 작성하는 프로그래밍 언어를 사용하여 작성하게 됩니다.

그리고 계약서 내용이 작성된 소스코드를 이더리움 컴퓨터가 이해할 수 있는 코드로 변환하여 블록체인에 저장하게 됩니다. 여기까지 완료되면 “동업 스마트 계약”이 블록체인에 저장된 것 입니다. 이후에는 작성한 계약서 소스 코드 내용에 따라서 요청을 받아들이고 정해진 결과를 도출하게 됩니다. 만약 계약서에 “3개월 이내에 동업자 중 아무나 동업 중지 메시지를 보내면 자동으로 계약이 해지 됩니다” 라는 조항이 있다면, 동업자 중 누군가 스마트 계약이 블록체인에 저장되고 2개월쯤 지났을 때 ‘동업 중지’ 메시지를 저장된 스마트 계약에 보내게 되면 동업은 자동으로 파기되는 것 입니다

 

 

스마트 계약의 문제

그러면 스마트 계약은 완벽한 것 일까 알아보겠습니다. 결론은 그렇지 않습니다. 스마트 계약을 작성하는 것은 사람이기 때문에, 코드를 작성할 때 논리적인 결함이 있을 수 있습니다. 하지만 코드를 작성하는 사람은 이러한 문제를 곧바로 파악하기가 쉽지 않습니다. 이러한 문제 때문에 스마트 계약이 의도치 않게 해킹 되어서 오작동하는 사례들이 많이 발생하고 있습니다.

이중 대표적인 것이 DAO 해킹입니다. 탈중앙화 자율 조직의 대표격인 DAO의 스마트 계약 코드에 취약점이 존재했었고, 해커가 이를 발견해서 해당 취약점을 통해 공격을 시도했습니다. 해당 공격은 성공적으로 수행되었고 2016년 6월 17일에 총 243만 이더(ETH)가 해킹 당하게 되었습니다.

이때 해킹 당한 이더의 가치는 약 750억원 정도입니다. 이 사건이 발생하고 오른쪽 그림처럼 이더(ETH)의 가격은 폭락하게 됩니다. 이러한 사건을 통해서 “원치 않는 작동이 혹은 요청이 있더라도 계약은 계약이다”라는 것을 명심해야 합니다. 즉, 스마트 계약에서는 “코드가 곧 법”이기 때문에 코드를 작성할 때 매우 신중해야 합니다

 

 

DApp

DApp은 Decentralized Application 의 줄임말로써 탈중앙화 된 애플리케이션을 의미합니다. DApp은 블록체인 위에서 동작하는 애플리케이션으로 생각해도 되는데, 구글 플레이는 구글에서 사용 정보들을 소유하게 되지만, DApp은 블록체인 위에서 동작하면서 중앙 서버 없이 정보를 분산하여 저장하고 블록체인에 저장된 스마트 계약을 통해서 서비스를 제공하기 때문입니다. 예를 들어서 이더리움 DApp이라고 하면 이더리움 블록체인 기반으로 만들어진 애플리케이션입니다

 

 

여기서는 이해를 위하여 디앱과 기존의 앱을 비교 설명하겠습니다. 디앱은 정보를 블록체인에 저장하기 때문에 분산 저장되어 해킹이 어렵고, 삭제가 불가능하며, 정보의 투명성을 제공합니다. 하지만 전통적인 앱은 모든 정보를 중앙 데이터 베이스에 저장하기 때문에 해킹 위험이 높고, 정보를 삭제할 수 있으며 관리자 외 데이터베이스에 접근할 수 없어서 정보의 투명성이 결여되어 있습니다. 또한, 디앱은 블록체인을 구성하고 있는 몇몇의 노드들에 문제가 발생해도 다른 노드들이 동일한 정보를 가지고 있기 때문에 운영하는 데 영향을 받지 않지만, 전통적인 앱은 서버가 다운되면 서비스를 제공할 수 없습니다.

하지만 디앱의 서비스를 사용자가 이용하기 위해서는 일종의 메시지를 생성하기 위해서 비용(수수료)이 요구되며 보통 이것은 코인이나 토큰으로 지불됩니다. 반면에 전통적인 앱에서는 사용자가 서비스를 이용하는 것 자체는 무료로 비용이 들지 않습니다. 그리고 디앱은 블록체인마다 속도에 차이가 있지만 보통 전통적인 앱보다 비교적 느립니다. 구동방식에서 디앱은 스마트 계약을 사용하여 요청이 들어왔을 때 스마트 계약의 규칙에 따라서 처리되는 반면에 전통적인 앱은 서버에서 프로그래밍된대로 동작합니다

 

 

 

DApp 시장

 

이더리움 DApp의 경우에는 2020년 7월 28일 기준 총 3,565개의 DApp이 등록되었습니다. 아래의 그래프의 왼쪽 축은 새로 생성되는 DApp의 개수를 나타내고, 오른쪽 축은 DApp의 총 개수를 의미합니다. 막대그래프는 월별 새로 생성되는 DApp의 개수를 나타냅니다. 2018년 12월까지 증가하는 추세를 보이다가, 그 이후로는 감소하는 추세를 보입니다. 전반적으로 암호화폐 가격이 급락하며, 이에 따라 암호화폐와 블록체인에 대한 관심도 하락하였습니다.

그래서 새로 생성되는 DApp의 개수는 비교적 감소했지만 아직도 매월 50개 이상의 DApp이 생겨나며 지속적으로 성장해 나가고 있습니다. DApp은 현재 암호화폐거래소, 도박, 지갑, 게임, 금융, 미디어, 소셜, 스토리지, 자산, 정부, 개발, 보안, 인증, 에너지, 건강, 보험 등 많은 영역에서 개발되고 있습니다. 현재 DApp 개발이 전세계적으로 가장 활발한 블록체인 플랫폼이 Ethereum 입니다.

https://www.stateoftheDApps.com라는 사이트를 방문하면 Ethereum 기반의 DApp들에 대한 많은 정보를 접할 수 있습니다. 활동성이란 해당 분야 DApp을 사용하는 트랜잭션의 수로 정의되어 있습니다. 쉽게 설명하면 각 분야의 DApp 사용 건수 정도로 생각하실 수 있습니다. 게임, 도박, 거래소 분야는 꾸준히 활발하며, 지갑 분야는 사용량이 감소하는 2018년도 말까지 감소하는 추세였다가 다시 올라가고 있으며, 금융 분야는 최근에 사용량이 많아지고 있는 것을 확인할 수 있습니다.

 

 

 

블록체인 큐티

Blockchain Cuties는 강아지, 도마뱀, 곰 새끼, 고양이 및 기타 실제 및 판타지 동물과 함께 놀 수 있는 새로운 수집 가능한 crypto game입니다. 각 cutie는 독특하며 100 %는 사용자에게 속합니다. 즉, 이더리움이 유지되고 있는 한, 영원히 사용자가 소유할 수 있다는 의미입니다.

사용자들은 cutie들을 모으고, 번식시키며, 전투에서 그들의 기술을 시험하고, 심지어 레벨을 증가시킵니다. 게임 속 경제는 Ethereum 블록체인에서 스마트 컨트랙트를 사용하여 cutie들을 교환 할 수 있습니다.

 

 

 

ForkDelta

탈중앙화된 거래소는 사용자들의 자금을 저장하고 거래를 가능하게 하기 위해서 중앙화 된 기관에 의지하지 않는 거래소입니다. ForkDelta는 탈중앙화된 Ethereum Token Exchange이며 모든 거래소들 중에서 ERC20 토큰 목록이 가장 많습니다. ForkDelta의 경우에는, 자금들이 이더리움 네트워크 위에 호스팅 된 smart contract안에 저장되어 있습니다.

또한, 거래들은 직접적으로 같은 smart contract를 이용해서 사용자들간에 발생합니다. 증권거래소와 비슷한 UI를 제공해줍니다.

 

 

 

Stox

Stox는 오픈소스이고, 탈 중앙화 된 플랫폼 위에서 새로운 마켓을 구축하고, 예측하고, 사람들과 거래하고 수익을 올릴 수 있는 이더리움 기반의 예측 시장 플랫폼입니다. 사용자는 이 플랫폼을 사용하여 그들의 예측이 지정된 이벤트에 대한 지분의 일부를 생성하도록 만들 수 있습니다.

또한, 군중의 지혜와 자신의 기술과 지식을 결합하여 사람들은 금융, 스포츠, 정치, 심지어 날씨와 같은 상상할 수 있는 거의 모든 범주에서 사건의 결과를 예측할 수 있습니다. Stox의 파워는 STX 디지털 토큰에 있으며, 이벤트 예측에서 도박의 화폐, 담보물, 수수료의 주요 형태입니다.

다수의 예측(prediction)들이 있고, 사용자는 이를 클릭해서 자신이 예측하는 결과에 STX로 투표를 할 수 있습니다. 예를 들어 그림에는 현재 게임 대회의 결과에 대한 예측들이 진행되고 있습니다.

 

 

참조

http://www.kmooc.kr/courses/course-v1:POSTECHk+CSED490U1+2021_T1/about 

 

블록체인 입문

블록체인과 암호화폐 기술을 깊이 배우기에 앞서, 비 전공자들도 이해를 할 수 있는 수준으로 블록체인과 암화화폐에 대한 high-level 설명 및 응용 예시를 제공하고 실제 상황에 적용할 수 있다.

www.kmooc.kr

반응형