[마소 392호] 솔리디티로 시작하는 스마트 컨트랙트 배포와 크라우드 세일

입력 2018.05.09 11:02

발 전문잡지 마이크로소프트웨어의 최신호는 블록체인 기술과 산업, 보안 그리고 연결된 세상에 대한 이야기(Chain Bigbang, 체인 빅뱅)를 담았습니다. 스팀잇, 리모트 워크, 솔리디티, 블록체인 보안 등 마소 392호의 주요 기사들을 IT조선 독자에게도 소개합니다. [편집자주]

스마트 컨트랙트(Smart Contract)은 많은 것을 가능하게 하지만 가장 매력적인 점은 중재자 없이 거래를 가능하게 한다는 것이다. 계약의 내용을 상대방이 위반할지 의심할 필요도 없고 분쟁이 생겨 법적인 다툼할 필요도 없다.

스마트 컨트랙트를 작성해서 이더리움 네트워크에 배포(Deploy)해 놓으면, 이후 모든 과정은 정확히 스마트 컨트랙트에 쓰인 대로 자동 이뤄지기 때문에 거래 양측은 위험부담을 크게 줄일 수 있다. 최초 한 번, 스마트 컨트랙트가 서로 이익을 만족시키도록 작성돼 있는지 확인만 하면 된다. 이 모든 것은 이더리움 가상 머신(Ethereum Virtual Machine, EVM)이 결정적(Deterministic)으로 설계된 시스템이기 때문에 가능하다.

블록체인 전문 교육기관 디넥스트(DNext)에서는 교육 과정 홍보를 위해 유튜브 채널을 활용하고 있다. (자체 채널을 운영하는 것이 아니고) 암호화폐 전문 채널에 광고를 삽입해 솔리디티(Solidity) 기반 스마트 컨트랙트로 광고 성과 수익을 정산하고 있다. 광고 수익 정산의 스마트 컨트랙트 과정을 단계별로 소개한다.

가나슈(Ganache, 테스트용 블록체인), 거래 내역 생성. / 마이크로소프트웨어 392호 발췌
막연히 복잡해 보이던 크라우드 세일을 하나씩 찬찬히 살펴보면 결국 코드의 집합뿐이고, 고난도의 프로그래밍 기법이나 스킬이 필요하지는 않다는 것을 알 수 있다. 결국, Dapp 개발에서 더 중요한 것은 프로그래밍 지식이라기보다 토큰 경제(Token Economy)를 설계하고 이를 솔리디티로 구현할 때 발생 가능한 허점(Loophole)이나 취약점(Exploit)이 존재하는지를 점검하는 것이라고 할 수 있다.

유윤재 DNext 대표의 솔리디티 개발에 대한 자세한 내용은 '마이크로소프트웨어 392호(https://www.imaso.co.kr/archives/2518)'에서 확인할 수 있다.