스테이트 채널, 플라즈마, 트루빗 간단 요약

in #kr-coin6 years ago (edited)

https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4
위 글에 나온 각 기술의 내용을 매우 간략히 정리해보았습니다.

아래 기술들 모두 아직 활발하게 연구가 진행중이므로 현재의 구현 방식과는 차이가 있을 수 있으므로 개념을 이해하는 정도로만 참고해주세요.

스테이트 채널 (State channel)

  • 특정 참여자들간의 거래를 블록체인 밖에서 처리하는 방식
  • 거래(또는 게임)의 규칙을 기록해둔 스마트 컨트랙트를 메인 체인에 올려놓고, 블록체인 외부에서 거래를 진행
  • 거래를 하면서 참여자들은 서로의 서명이 담긴 거래 내역을 각자 보관해두고, 거래가 끝나면 최종 결과를 메인 체인의 스마트 컨트랙트에 제출하고 채널을 닫음
  • 스마트 컨트랙트는 최종 결과에 양측의 서명이 담긴 것을 확인하고, 결과가 조작된 경우 참여자들이 결과에 대해 반박을 할 수 있도록 일정 시간을 기다림
  • 반박이 없을 경우 결과에 따른 행동을 함
  • 블록체인을 따로 만들지 않음(플라즈마와의 차이점)
  • 참여자 집단이 정해져있고, 그 안에서 많은 수의 거래가 발생하는 경우에 적합함
  • 메인 체인에는 처음과 끝만 기록되므로 프라이버시 측면에서 강하며, 거래의 완결성을 바로 확보할 수 있음

플라즈마 (Plasma)

  • 메인 체인에 붙은 차일드 체인을 만드는 것
  • 차일드 체인의 동작 방식(스테이트 변환 규칙 등)을 담은 스마트 컨트랙트를 메인 체인에 올리고, 일정 간격마다 차일드 체인의 스테이트를 스마트 컨트랙트에 기록함
  • 차일드 체인은 메인 체인과는 별도의 컨센서스 알고리즘을 가질 수 있음 (중앙화 된 퍼미션드 블록체인이라도 상관 없음)
    사용자는 스마트 컨트랙트를 통해 차일드 체인으로 자산을 옮긴 후 차일드 체인의 서비스를 사용할 수 있음
  • 만약 차일드 체인의 블록 생성자들이 블록을 조작할 경우, 사용자는 블록이 조작되었다는 것을 입증하여 차일드 체인을 롤백시키고, 차일드 체인의 블록 생성자들의 메인 체인의 자산을 삭감시킬 수 있음
  • 차일드 체인의 블록의 내용이 공개되어있지 않거나 블록 생성자들이 사용자들의 트랜젝션을 검열할 경우, 사용자는 본인의 자산을 차일드 체인에서 인출함으로써 손실을 피할 수 있음
  • 그러나 많은 유저들이 한꺼번에 인출을 신청할 경우 메인 체인에 갑자기 많은 트랜젝션이 발생하게 되므로 문제가 될 수 있음

트루빗 (Truebit)

  • 블록체인에서 처리하기 어려운 복잡한 연산을 체인 밖에서 처리하는 방식
  • 많은 연산량이 필요한 문제가 있을 때, 스마트 컨트랙트에 보증금을 예치해 둔 solver에게 문제를 제공하고, solver로부터 결과를 받는 것
  • solver는 제출한 답이 올바르면 예치해 둔 보증금과 수수료를 받음
  • 이 때 제 3자인 challenger는 solver의 답이 틀렸다고 주장할 수 있고, 이 경우 solver의 연산을 검증하는 과정을 갖게 됨
  • 연산 전체를 검증하는 것은 지나치게 무거운 과정이므로, solver의 연산 과정 중 challenger가 동의하지 않는 특정 연산만을 블록체인에서 실행함으로써 반박의 진위 여부를 검증함
Sort:  

잘 보고 갑니다~