[EOS Inside] EOS와 스캐터(Scatter) 기초

dONe
EOSYS
Published in
7 min readApr 24, 2019

안녕하세요, 이오시스 서포터즈 디온(@donekim)입니다. 오늘 스캐터의 공동창립자인 Rami James가 스캐터의 공식 미디엄에 EOS and Scatter basics라는 제목으로 EOS와 스캐터의 초보자들을 위한 포스팅을 업로드하였습니다.

Image Source : https://get-scatter.com/founders

해당 포스팅은 그동안 이오스 생태계에 많은 관심을 가지고 있으셨던 분들이라면 익히 잘 아실만한 내용들이지만, 초보자들이 알아야하는 기초적인 내용들이 잘 정리되어 있어서 참고하시기 좋을 것 같아 번역 내용을 공유드립니다.

원문 링크 : EOS and Scatter basics

파트 1.

이 포스팅은 EOS가 어떻게 작동하는지, 프라이빗키라는 것이 무엇인지, 그리고 EOS계정과 프라이빗키가 어떻게 연결되어 있는지 등에 관한 기본적인 내용을 다루는 글입니다. 이와 관련된 내용들에 대해서 이미 잘 아시고 계신 분들은 스캐터 공식 홈페이지에서 어떤 댑(DApp)들을 사용할 수 있는지를 확인해보시기 바랍니다.

더불어, 지금 다루는 내용을 처음 접하시는 분들은 여러분들의 EOS 계정을 만들고 여러분들의 자산을 안전하게 관리하기 위해 다음의 내용들을 반드시 숙지하고 이해하셔야 합니다.

자 그럼 시작해보겠습니다.

EOS의 작동원리와 스캐터

EOSIO는 블록들로 만들어 나가는 하나의 블록체인 타워입니다. 전적으로 사용자들에 의해 운영되는데, 이 사용자들 중에서는 블록프로듀서(Block Producer 또는 줄여서 BPs라고도 부릅니다)라고 하여 이 블록체인 타워에 계속해서 블록을 쌓으며 타워를 만들어나가는 사용자를 선출할 수 있습니다. 이들은 블록을 쌓아나가는 수고를 하는 대가로 EOS토큰을 받습니다.

그러나 모든 BP들이 타워의 블록을 쌓을 수 있는 것은 아닙니다. EOS 메인넷에 계정을 소유하고 EOS토큰을 스테이킹하고 있는 모든 사용자들이 BP투표에 참여할 수 있는데 사용자들로부터의 투표 결과, 상위 21등까지에 해당하는 블록프로듀서들만이 새로운 블록들을 쌓을 수 있는 권한이 있습니다.

상위 21등 다음으로 많은 표를 얻은 BP들은 “대기BP 또는 스탠바이BP”라고 부르는데, 이들은 블록을 쌓을 수 있는 권한은 없으며 보다 많은 투표를 받아서 상위 21위 내로 진입을 해야만 블록생성이 가능합니다.

상위 21등까지의 BP들은 계속해서 바뀌기도 하지만 대체적으로는 안정적인 양상을 보이고 있습니다.

프로토콜 자체는 수시로 업데이트 되는데, 상위 21명의 블록프로듀서 중에서 15명 이상이 승인하는 것으로 투표하는 경우 이오스 메인넷에서의 새로운 기능을 포함한 시스템 컨트랙트의 업데이트를 진행할 수 있습니다.

EOS 메인넷은 프로토콜을 실행하는 네트워크 중 하나이며, 블록프로듀서가 동기화되어 블록을 생성합니다. 우리는 수많은 사용자들이 자신들의 고유한 계정 내에 자금을 보관하고 있는 탈중앙화된 컴퓨터 네트워크를 구축했습니다. 수십 억이 넘는 엄청난 자금들이 EOS 메인넷 네트워크와 함께하고 있으며 우리 모두가 이 네트워크의 일부로서 참여하고 있는 놀라운 경험을 하고 있습니다.

스캐터(Scatter)는 저(Rami James)와 제 동생인 Nathan James가 함께 만든 것으로, 모든 사용자들이나 개발자들이 모든 EOSIO 네트워크에 간편하게 연결할 수 있는 기능을 제공합니다. 스캐터에 대한 보다 자세한 설명을 드리기 전에 프라이빗키와 권한(permissions)에 대해서 조금 더 깊이 다뤄보겠습니다.

프라이빗키는 항상 안전하게 보관하자

이더리움이나 트론 같은 다른 스마트 컨트랙트 네트워크와 비교했을 때 EOS가 다른 점은 사용자들이 주소 뿐만 아니라 네트워크 상에 실제로 계정을 보유한다는 것입니다. 그리고 이 계정에 접근하기 위해서는 프라이빗키(private key)를 계정 권한(account permissions)과 연결해야 합니다. 이 계정권한은 토큰 전송과 같은 네트워크 기능들을 사용할 수 있게 해줍니다.

그림으로 표현하자면 다음과 같습니다.

프라이빗키는 위와 같은 계정의 권한(permission)에 접근할 수 있는 유일한 열쇠 또는 비밀번호와 같은 역할을 합니다. 스캐터는 다른 누구에게도 여러분들의 프라이빗키를 제공하지 않으며, 대신에 서명을 통해 특정 사용자가 해당 계정을 소유하고 있다는 사실을 증명하는 증거를 제공합니다.

[참고] 초보자를 위한 용어 정리

  • 키쌍 또는 키페어(key pair) : 프라이빗키(private key)와 해당 프라이빗키가 연결된 퍼블릭키(public key)를 일컫는 용어
  • 오너 키 : 오너 권한(Owner permission)에 연결되어 있는 키쌍
  • 액티브 키 : 액티브 권한(Active permission)에 연결되어 있는 키쌍
  • 퍼블릭키 : 특정 계정(및 권한)에 연결되어 있는 공개 가능한 키 (자물쇠의 역할)
  • 프라이빗키 : 특정 계정(및 권한)에 연결되어 있는 공개하면 안되는 키 (열쇠 또는 비밀번호의 역할)

하나의 프라이빗키를 사용하여 오너 권한(Owner permission)과 액티브 권한(Active permission)을 모두 관리하는 것이 가능하지만 이는 굉장히 좋지 못한 습관입니다. 계정을 보다 안전하게 사용하기 위해서는 오너 권한과 액티브 권한에 각각 다른 프라이빗키를 연결하여 사용하는 것이 좋습니다.

매일 매일 토큰 전송을 하거나 게임을 하기 위해서 필요한 액티브 권한에 연결된 프라이빗키는 스캐터에 보관하여 필요한 작업들을 수행하는 데 사용하시고, 오너 권한에 연결된 프라이빗키는 본인만이 알 수 있는 방법으로 어딘가에 안전하게 보관하시기 바랍니다.

예를 들어 오너키(오너 권한에 연결된 프라이빗키)는 암호화된 USB에 넣어 물리적으로 안전한 장소 어딘가 숨겨놓는 것이 좋은 보관방법일 수 있씁니다. 이렇게 보관을 하는 경우 액티브키를 해킹당하더라도 계정을 다시 찾아올 수 있기 때문입니다.

액티브 권한에 연결된 프라이빗키가 해킹되는 경우에는 잘 보관하고 있던 오너키를 가져와서 해당 액티브키를 변경해버리면 되지만, 오너 권한에 연결된 프라이빗키가 해킹당하는 경우에는 계정을 영원히 못찾게 될 수 있기 때문에 오너키를 정말 안전하게 보관하셔야 합니다.

누구에게나 공개가능한 퍼블릭키는 프라이빗키로부터 파생이 되고, 해당 퍼블릭키가 어떤 계정에 연결되어 있는지를 블록익스플로러를 통해 찾을 때 사용됩니다.

다시 말해서 세상에 유일한 프라이빗키가 먼저 태어나고, 이 프라이빗키로 열고 닫을 수 있는 퍼블릭키가 나중에 태어나는 개념입니다.

프라이빗키는 해당 퍼블릭키가 연결되어 있는 계정의 소유권을 증명하는 수단이 되는데, 블록체인 상에서 여러분들이 프라이빗키를 통해 무언가에 대해 서명을 하면 해당 서명은 계정과 연결되어 있는 퍼블릭키에 대한 유효성을 검사합니다. 만약에 해당 서명을 잘못된 프라이빗키를 가지고 진행하는 경우에는 트랜잭션의 승인이 거부됩니다.

계정, 키쌍(퍼블릭키와 프라이빗키), 트랜잭션ID와 같은 것들을 검색해보고 싶으신 경우에는 bloks.io 또는 EOSpark와 같은 블록 익스플로러를 사용하시면 됩니다.

스캐터는 여러분들이 프라이빗키를 보다 안전하게 보관할 수 있도록 도와주는 신원인증 툴입니다. 만약 여러분들의 특정 행동이 잠재적으로 위험한 상황을 초래할 수 있는 것이라면 이에 대해서 경고를 해주기도 하고, 여러분들의 계정에 연결된 프라이빗키를 생성하거나 관리할 수 있도록 도와주기도 합니다.

스캐터는 여러분들의 계정을 안전하게 지켜줄겁니다 :)

파트2에서는 스마트 컨트랙트와 애플리케이션에 대해 다룰 예정입니다.

--

--

dONe
EOSYS
Editor for

Blockchain & Crypto Project Researcher / Early Stage Investor / Contents Creator