Skip to Content

2019 IOHK 서밋 한국어 요약 - Day 2

Table of Contents

들어가며

IOHK, 카르다노의 첫 번째 공식 서밋! 서밋 개최 계획때부터 정말 참석하고 싶었는데, 기회가 되어 직접 마이애미에 와서 참석하게 되었습니다. 이 글에서는 제가 직접 들으면서 중요하다고 생각하는 내용을 단순 요약해서 정리하고, 실시간으로 업데이트하며 바로 한국에 계신 여러분들께 공유드릴 생각입니다. 주제 선택은 저의 관심에 따라 달라질 수 있고, 실시간으로 요약하기 때문에 내용상 오류나 빠지는 부분에 대한 양해를 부탁드립니다. 보다 자세한 내용을 원하시는 분들께서는, 실시간 중계가 진행되는 IOHK의 YouTube 채널을 참고하시기 바랍니다.


AGENDA (2019. 04. 18)

PlutusFest update

wadler

Speaker

다루는 주제

  • 에딘버러에서 개최되었던 PlutusFest의 여러 주제들을 다룬다.
  • Plutus Playground, Malowe, 등이 다뤄질 예정.

한국어 요약

Plutus

wadler

기존의 솔리디티는, 컨트랙트단(온체인)의 코드 뿐 아니라, 웹 단(오프체인)의 코드도 필요하다. Plutus는 Cardano SL과 CL에 배포될 컨트랙트 앱들을 실행 시키기 위한 함수형 개발 시스템이며 메타-프로그래밍 구조로 두 가지 코드가 한 곳에 쓰일 수 있다. 즉 한곳에 온체인, 오프체인 코드를 쓸 수 있다.

왜 함수형 언어인가?

우리는 함수형 언어를 사용해서 같은 입력에 대해서는 항상 같은 출력을 받을 수 있다는 것을 보장받을 수 있고, 타입에 기반한 디자인을 사용할 수 있으며 프로그램을 테스팅하고 검증하는데 더욱 진보된 방법을 사용할 수 있다. 즉, 함수형 언어를 사용해서 더욱 안전하고 보안이 뛰어난 시스템을 만들 수 있다.

플루터스의 또 다른 특장점들
함수적 장부

wadler

wadler

wadler

기존의 장부(ledger) 시스템과 달리 장부를 함수적으로 구현하여, 자금의 흐름과 UTxO를 그래프로 표현하였다. 또한 우리는 기존의 장부 시스템에 데이터 컴포넌트를 추가해서 거래의 검증을 순수한 함수형 표현으로 구현하였다.

풀 스택 환경

wadler

wadler

우리는 함수형이 아닌 솔리디티를 대체할 새로운 언어를 만들 수도 있었지만, 효율성을 위해 하스켈을 선택했다. 솔리디티에서는 오프체인과 온체인이 나뉘어서 프로그래밍되어야 한다. (Two-level (staged) programming model) 이것은 매우 불편하고, 복잡하며, 구조적 취약성을 갖는다. 우리는 오프체인 계산(하스켈)과 온체인 계산(하스켈 기반 Plutus Tx)에 모두 같은 언어를 쓴다. 즉 온체인 컴파일러가 오프체인 타입들을 체크하고 검증할 수 있다. 이것은 통합 가능하고, 간결하며, 강인하다. 우리는 Plutus 코어를 통해 온체인 오프체인 코드를 모두 컴파일하고, 블록체인에 영향을 끼치는 이벤트가 실행시 온체인 코드가 실행된다. 플루터스는 쉘리가 정착된 다음에 카르다노와 합쳐질 것이기에 아직은 사용할 수 없지만, 플레이그라운드에서 개발과 테스트를 진행할 수 있다. 서밋 후 제공될 플루터스 업데이트에서는 새로운 토큰 발행 (Fungible and non-fungible)을 할 수 있다.

Plutus Core

우리는 블록체인 상에서 돌아갈수 있는 단순한 언어가 필요하다. 우리는 하스켈과 비슷한 속성을 갖는 코어 시스템을 만들어내서, 하스켈의 변화에 맞춰 하드포크 할 필요가 없게 하였다. 우리는 또한 Agda라는 formalization language를 만들어냈다.

Marlowe

wadler

Marlowe는 실제로 금융권에서 프로그래밍 언어들을 사용할 사람들에 눈높이를 맞춘 도메인 특화 언어이다. (Domain Specific Language) Marlowe에서는 개발자가 떠난다고 해서 자산이 컨트랙트에 갇히는 일이 없이, 계속해서 컨트랙트가 유지될 수 있다. 이를 통해 그들은 쉽게 오프체인 컨트랙트들을 온체인으로 옮겨 올 수 있다. 또한, Marlowe는 다른 범용 프로그래밍 언어 안에 임베딩 될 수 있다. 우리는 또한 사람들이 계약을 실행시켜 놓고 그냥 떠나가는 경우 (자산을 커밋하지 않고)를 제한하기 위해서, 특정 시간 동안 커밋할 수 있는 시간 제한을 둘 수 있게 했다. 만약 이 시간동안 커밋이 이뤄지지 않으면 상대방은 자산을 돌려받게 된다.이러한 계약을 우리는 시각된 블록형태로 할수도 있고, 또는 텍스트 형태로 할 수도 있다.

Meadow

wadler

Meadow는 웹 기반 Marlowe 시뮬레이터이다. 여기에서 우리는 블록 단위로 프로그램을 만들 수 있다. 즉, 훈련받은 개발자가 아니더라도 금융 컨트랙트를 만들어 낼 수 있다.

ACTUS

wadler

디지털 지불에서 디지털 금융으로

금융은 사회 인프라를 구축하는 모든 것을 가능하게 한다. 모든 금융의 형태 뒤에는 계약이 존재한다. 다방면의 특징들을 갖는 다른 사물들과는 달리, 돈은 매우 확실한 하나의 성질만을 갖고 (1달러는 1달러일 뿐), 그래서 우리는 잘 정의된 알고리즘을 돈의 흐름에 적용할 수 있다. ACTUS에는 현존하는 거의 모든 금융 컨트랙트들을 표준화한 종류와 계보가 제시되어있다. 여기에 제시된 컨트랙트 종류중 6~7가지가 약 80%의 컨트랙트를 차지할 정도로 금융 컨트랙트 패턴은 제한되어있다. 현재의 은행은 자신들의 금융 계약들을 매우 복잡하고 헷갈리게 만들어내고 있지만, 대부분은 같은 표준에 포함된다,

ACTUS and Marlowe

wadler

Marlowe를 이용해서 ACTUS로 표준화된 금융 컨트랙트들을 온체인으로 옮겨올 수 있다. 하스켈과 Marlowe를 이용해서 ACTUS 표준 금융 컨트랙트들을 블록체인 스마트컨트랙트로 표현하고있다. 이를 통해서 우리는 상호운용성(같은 표준을 사용함으로써 은행 간의 컨트랙트들이 상호간 이해가 가능하고, 여러 블록체인에 올리더라도 하나의 표준으로 이해 가능하다.), 투명성 (블록체인에 금융 계약이 올라감으로 투명성을 보장할 수 있다.), Insight (같은 표준을 사용하여 전체 시스템을 더 쉽게 살펴보고, 시장 상황에 대한 인사이트를 쉽게 얻을 수 있다.) 측면의 이점을 얻을 수 있다.

스테이킹 풀과 지분위임, 그리고 보상

staking

Speaker

다루는 주제

  • 스테이킹과 관련한 일반적인 규칙들과 이것이 다이달로스 UI로 어떻게 구현될것인가에 대해 다룬다.

한국어 요약

왜 지분위임을 하는가?

staking

staking

지분 증명 합의 알고리즘 하에서는 지분을 가진 사람들이 시스템을 유지시켜야 하지만, 모든 유저가 노드를 유지하거나, 그러한 장비를 갖고 있을 수는 없다. 그러나 모두가 어떤 사람이 대신해서 시스템을 유지시킬것인가를 결정할 수는 있다.

어떻게 지분 위임을 하는가?

staking

에이다 주소 (지불 주소 + 스테이킹 주소)의 끝자락에 스테이킹 키가 있고, 해당 스테이킹 키를 스테이킹 풀의 퍼블릭 키와 합쳐서 디지털 서명을 한다. 그 후 서명을 블록체인에 제출하면, 스테이킹 풀은 해당 지분에 대한 서명을 할 수 있다. 또한, 스테이킹 주소가 없이 지불 주소만 있는 엔터프라이즈 주소를 통해 엔터프라이즈가 사용자의 지분을 스테이킹하는 것을 막을 수 있다. 즉 이 지분은 PoS에 사용될 수 없다. 스테이킹풀에는 오퍼레이션 키가 있어서 스테이킹풀의 키가 노출되더라도 지분 위임은 안전할 수 있다. 콜드 월렛의 경우 키가 온라인에 노출되어서는 안되기 때문에, 두 번째 지갑을 만들어서 해당 지갑에 오퍼레이션 키만 노출 시키는 방식으로 안전하게 위임 가능하다.

점진적 탈중앙화 (No hard transition)

현재 100% IOHK에 의해 유지되고있는 시스템은 점진적으로 커뮤니티에 넘어간다. 각 에폭마다 IOHK 노드가 아닌 스테이킹풀이 생성하는 블록의 비율이 증가하는 방식으로 탈중앙화를 이루어간다.

Economic attack 방지

staking

유저의 지분위임증명은 각 노드의 메모리에 저장되어야하기때문에, 유저는 이에 대한 수수료를 지분해야한다. 유저가 지분위임을 해제하면 해당 데이터가 메모리를 차지한 시간에 맞게 수수료가 감면된 후 환불을 받는다.

인센티브

암호화폐에서 보상이란, 사람들이 프로토콜에 참여하고 그 규칙을 따르게 하기 위한 수단이다.

인센티브의 타입
  • 금전적 보상 : 실제 에이다나 비트코인으로의 보상

  • 도덕적 보상 : “나는 프로토콜을 따라 올바른 일을 하고있어”라는 도덕적 올바름에 대한 보상

카르다노는 금전적, 도덕적 보상이 일치하도록 프로토콜을 설계하는것을 목표로 한다. 비트코인의 경우 금전적, 도덕적 보상의 목표가 일치하지 않는다.

적절한 목표

목표량 (예, 80%)의 에이다 물량이 K(100~1000)개의 스테이킹 풀에 지분위임

인센티브는 어디서 나오는가?

staking

  • 전송 수수료
  • 보증금의 환불 불가한 부분
  • 에이다의 블록 발행 (이 부분은 시스템이 시간이 지나감에 따라 에이다 발행량이 줄어들어서 줄어든다.)
인센티브의 분배
  • 카르다노에서 시간은 에폭(Epoch)과, 슬롯으로 나뉜다.
  • 각 슬롯은 20초의 시간을 차지하고 5일동안 21,600개의 슬롯이 하나의 에폭을 차지한다.
  • 인센티브는 각 에폭마다 분배된다.
  • 각 스테이킹 풀에 지급된 보상은 내부의 지분률에 따라 분배된다.
문제점
  • 시스템에 독점적인 풀이 등장하면, 해당 풀이 모든 지분 위임을 다 흡수하게 된다.
해결방안

하나의 풀이 받을 수 있는 보상은 1/k로 제한된다. (k는 파라미터로, 목표로 하는 스테이킹 풀, (예)1000개,이다.) 그러므로 하나의 풀이 그것이 차지할 수 있는 크기 (1000분의 1)보다 커지면, 해당 풀이 받을 수 있는 보상은 더이상 늘어나지않는다. 보상은 해당 풀의 퍼포먼스, 블록 생성에 비례한다.

시빌 (Sybil) 어택 방지

시빌 어택이란, 공격자들이 스테이킹풀을 여러개 만드는 경우, 그래서 50%의 지분 위임을 차지하려는 경우이다. 우리는 풀의 생성자가 일정 량 이상의 스테이킹을 자신의 풀에 하게한다. 풀 보상은 이 풀 관리자의 스테이크 물량 비율에 비례한다.

분배되지 않는 보상

분배되지 않는 보상들은 재무부로 흡수된다.

풀 내부 멤버들로의 분배

풀 관리자는 그가 소모한 자원과 노력에 대한 보상을 받아야 한다. 풀 참여자들은 그들이 받는 보상의 일정 비율을 풀 관리자에게 지불하여야한다. 풀 관리자들은 장기적으로 생각해서 그들의 마진을 관리해야 한다. 종국에는 K개의 풀 만이 남도록 설계되었기 때문이다.

Overview of sidechains

staking

Speaker

다루는 주제

  • 카르다노의 상호 운영성과 어떻게 사이드체인이 서로 정보를 공유할 수 있는가에 대해 다룬다.

한국어 요약

Settlement Layer와 Computation Layer

staking

고겐 단계로 가면, 우리의 목표는 카르다노가 하나의 체인이 아닌 여러 체인의 네트워크가 되게 하는 것이다. SL과 CL은 각자의 제네시스 블록이 있는 독립적인 체인이지만, 우리는 두 레이어 사이에 상호작용이 가능하게 만들었다. 그러므로 SL과 CL은 같은 암호화폐(ADA)를 공유한다. 에이다는 Settlement Layer에 있다가, Computation Layer로 가서 스마트컨트랙트에 사용되다가 나중에 SL로 돌아갈 수 있다. Computation Layer에서, 유저는 스마트컨트랙트가 제공하는 여러 기능을 누릴 수 있고, Settlement Layer는 저장을 위해 더욱 단순하게 설계되어있다.

노드와 체인 모니터링

  • SL 노드 : 이 노드는 Settlement Layer만 모니터한다.
  • SCL 노드 : SL 체인과 CL 체인을 모두 모니터링한다.

체인간 전송

staking

staking

  1. SL에서 에이다가 평소대로 전송된다.
  2. SL에서 에이다가 제거되는 특별한 전송이 발생한다.
  3. CL에서 해당하는 에이다가 생성되는 전송이 발생한다.

SL에서 CL로 전송하는 경우, SCL 노드는 두 체인을 모두 모니터링하기 때문에 체인간 전송을 검증할 수 있다. CL에서 SL로 전송하는 경우, SL노드는 CL을 보지 않기에 돌아오는 에이다가 어떤 에이다인지 알 수 없다. SL과 CL의 에폭은 동기화되고, 각 에폭마다 위원회(commitee)가 존재한다. 위원회는 이전 2000개의 슬롯 리더로 구성한다. CL 위원회는 해당 에폭에 발생한 SL 전송에 대한 검증을 수행하고 디지털 서명을 한다. 만약 해당 위원회의 대다수가 선의의 노드로 구성되어있다면, 우리는 그것을 믿을 수 있다. 해당 디지털 서명은 SL 노드로 전송된다. SL 노드들은 각 에폭의 CL 위원회 노드들을 알고 있으니, 한 에폭을 건너뛰어 생성되는 전송도 가능하다.

방화벽 기능

만약 CL에 심각한 문제가 발생한다면, 우리는 그 문제가 SL로 넘어오는 것을 원치 않는다. 문제 발생 시 방화벽 기능은 더이상 CL에서 ADA가 SL로 넘어오는 것을 허락하지 않는다. 그러므로 SL 레이어는 최소한의 보안을 계속 유지할 수 있다.

Emurgo Roadmap

staking

Speaker

다루는 주제

  • 이머고 사의 로드맵 발표

한국어 요약

요로이

  • 개발현황
    • IOS, 안드로이드, 크롬 앱을 출시함
    • 렛져, 트렛져 지원 시작
    • 전체 유통 에이다 물량중 약 20%가 요로이에 저장되어있음.
  • 개발 로드맵
    • 4월 요로이 페이퍼 월렛 출시 예정
    • 5월 파이어폭스 지원 예정 (하드웨어 월렛 지원은 파이어폭스 버전에 따라 미정)
    • 여름 : 렛져 나노 X 지원
    • 멀티 시그니쳐, 스테이킹 센터 지원 예정

SEIZA(세이사)

staking

staking

  • 블록체인 익스플로러
  • 기존의 UI가 좋지 않은 블록 익스플로러를 대체할 제품
  • 스테이킹 풀 관련 정보 등 카르다노 블록체인과 관련된 중요한 정보들을 제공할 것.
  • 올해 이른 여름에 출시 예정

Accelerator 프로그램

  • dLab
    • 테서렉트 (https://tesseract.one/)
    • dapp과 통신하는 모바일 지갑
    • dlap Fellowships
    • 1년동안 6만달러 지급, 5명의 펠로우쉽 자리 공고
    • 카르다노 API 개발자 관련
    • 암호화폐 전송에 대한 유저 경험 향상 개발 관련

Cardano Foundation roadmap

staking

Speaker

다루는 주제

  • 카르다노 재단의 로드맵 발표

한국어 요약

  • 작년 12월 재단의 위원회 멤버가 교체되었다.
  • 지난 기간동안, 재단은 펀딩 및 세금 문제를 정리하였고 또한 스위스 정부와 관련된 수행하였다.
  • HR (인사 관련)
    • 재단은 그동안 인력 부족 문제에 시달렸고 이에 따라 PR, 마케팅, 커뮤니티 매니져 관련 인사를 진행하였음.
    • 글로벌 앰배서더 구축
    • 전 세계에서 50~80명의 앰배서더를 구축하고 있다.
    • 밋업 개최, 모더레이팅, 번역등을 수행 중이다.
  • 재정과 펀딩
    • 카르다노 프로젝트에 긍정적인 임팩트를 줄 프로젝트을 찾고 있으며 그에 대한 펀딩을 계획중이다.
  • 정책과 법
    • 블록체인 거버넌스와 관련한 법조계와의 협업을 진행중
  • 교육
    • 여러 블록체인 암호화폐 프로젝트와 협력해서 블록체인 보안과 관련한 프로젝트를 진행 중

staking

ADA Tip Jar


글쓴이 후원하기

ADA : Ae2tdPwUPEZ2NHXQnDT4Y6qUQndmkJd5mEyEkSQNqJCrePaD1YBibGGfVhX

comments powered by Disqus