UZH International Summer Blockchain School 2021 수료

지난 2021년 7월 4일부터 7월 23일까지 스위스 취리히 대학(UZH)에서 열린 ‘International Summer Blockchain School 2021’에 참여했다.

작년에 이어서 두 번째로 참여하게 되었는데, 지난 번에는 수료는 했지만 시간 투자를 많이 못해서 남는 것이 별로 없었던 것 같다. 그래서 이번에 한 번 더 참여하게 되었고, 작년과 동일하게 MS Teams를 이용하여 강의, 과제 및 프로젝트를 진행하였다.




이번 여름학기는 작년에 들었던 것과 대부분 유사하긴 한데 DeFi, NFT 그리고 CBDC 등 올해 유독 주목을 받는 키워드들을 새롭게 추가했고, 몇몇 암호화폐의 전반적인 특징이나 기술적인 부분들을 다루기도 했다.

암호화폐 자체에 대한 관심은 크게 없어서 대부분은 걸러서 듣기는 했지만 일부는 유용하기도 했다. 대표적으로 Cardano NFT 만들기 실습이 있었는데 Wolfram 프로그램을 지원받아서 작성하고 카르다노 메인넷에 발행도 해봤다.

NFT 자체를 처음 발행해보는 것은 아니었지만 새로운 플랫폼에서 새로운 문법을 가지고 발행할 수 있다는 부분이 재밌었다.



Cardano NFT (Group 15)

자세히 보기

ERC20 토큰의 관리 권한을 바로잡을 수는 없을까? (with 취약점)

“zk Capital에서 보내주는 주간 메일(This Week in Blockchain Research Issue #119)에서 하나를 골라 읽어보았다.”

이 글은 2021년 7월 17일 arXiv에 올라온 ‘Rectifying Administrated ERC20 Tokens [1]’ 논문에 관한 내용을 다룬다.


현재 수백만개의 이더리움 스마트 컨트랙트를 통해 수천억 달러에 달하는 자산이 운용되고 있다. 그 중에서도 ERC20 토큰은 이더리움에서 가장 많이 쓰이고 있는 스마트 컨트랙트 유형이다.

이더리움에는 Externally Owned Accounts (EOAs)와 Contract Accounts (CAs), 이 두 가지 유형의 계정이 존재한다.


  1. EOA의 경우 연결된 private key로 제어하며, 다른 EOA나 CA에게 메시지를 보낼 수 있다. 하지만 사용자가 지정한 코드를 실행할 수는 없다.
  2. CA의 경우 사용자가 지정한 코드를 실행할 수는 있지만 owner를 결정하기 위한 private key를 가지진 않는다.

EOA 컨트랙트는 개발자에 의해 배포가 되는데, 이 안에 소유권, 역할 기반의 접근 제어 및 기타 특수 권한에 대한 내용을 수동으로 정의한다. 논문에서는 수많은 스마트 컨트랙트가 OpenZeppelin Contracts 라이브러리의 여러 루틴을 이용하여 위와 같은 내용들을 정의하고 있다고 한다.

최근 연구 자료[2]에 따르면 약 580만 개의 스마트 컨트랙트 중 적어도 210만 개 이상이 OpenZeppelin Contracts 라이브러리의 onlyOwner 함수 변경자(modifier)를 사용하고 있으며, 이는 특정한 유저(ex. owner)만이 함수 변경자로 구현된 스마트 컨트랙트 함수를 호출할 수 있도록 한다.



자세히 보기