DelegateCall.com: 룸 네트워크의 첫 번째 DAppChain

Loom Network Korean
Loom Network Korean
9 min readMar 15, 2018

이 글은 James Martin Duffy가 쓴 Announcing DelegateCall.com: The First DAppChain Live on Loom Network를 번역한 글입니다. 오역이 있으면 Private Note 기능으로 알려주세요!

지난 두 달 동안, 우리는 이더리움의 확장에 대한 해결책으로서 DAppChain에 대해 얘기해왔지요. 하지만 지금까지 이들은 거의 대부분 이론적인 것밖에 없었습니다.

오늘, 그것이 모두 바뀝니다: Loom Network 상에서 돌아가는 첫 번째 DApp을 정식으로 릴리즈합니다.

DelegateCall.com을 소개합니다!

DelegateCall이 무엇인가요?

DelegateCall은 완전히 Loom DAppChain 상에서 운영되는, 블록체인과 이더리움에 관한 Q&A 사이트입니다.

사용자들은 그들의 질문이나 답이 업보트를 받으면 카르마 포인트를 얻습니다. 하지만 전통적인 웹 2.0 사이트들과는 다르게, DelegateCall에서는 이 카르마 포인트를 이더리움 메인넷에서 거래가 가능한 ERC-20 “DelegateCall 토큰"으로 교환할 수 있습니다. 결과적으로 사용자들은 사이트에 기여한 정도에 따라 보상을 받을 수 있게 되는 것이죠.

DelegateCall은 말하자면 이더리움에 기반한 SteemitStackOverflow의 조합으로 볼 수 있습니다.

개발 동기

몇 개월 전 CryptoZombies를 시작한 이래로, 저희는 메인 텔레그램 커뮤니티개발자 커뮤니티에서 이더리움 개발자와 열렬한 지지자분들로 구성된 견고한 커뮤니티를 만들어 왔습니다.

그렇지만 텔레그램은 개발자들의 토의를 위한 이상적인 공간은 아니었죠. 질문들은 채팅 중에 사라져버리고, 훌륭한 답변들은 시간이 지나면서 사라져 버렸습니다.

그래서 저희는 아래와 같은 블록체인 커뮤니티를 만들기로 했습니다:

  1. 우리의 커뮤니티는 블록체인&이더리움 개발에 관한 질문을 보다 영구적인 형태로 공유할 수 있게 한다.
  2. 완전히 Loom DAppChain 상에서 운영하도록 하여, 우리의 핵심 플랫폼에 대한 데모로서도 의미를 가질 수 있게 하고,
  3. 사이트에 기여한 사용자들에게 ERC-20 토큰을 보상으로 제공하여, 전통적인 웹앱에 비교했을 때 DAppChain 기반의 장점 중 하나를 널리 알리도록 한다(개발자들이 접근 가능한 완전한 공개 API로서 작동하는 점이나 완전한 검사 또는 감사, 분기가 가능한 블록체인의 다른 모든 장점과 함께).

DelegateCall은 Loom Network 상에서 만들 수 있는 다양한 종류의 DApp들을 개발자들에게 보여주기 위해 저희가 직접 만들고 있는, 다른 많은 데모 중 첫 번째 데모입니다.

미리보기: 다음부터 저흰블록체인 기반의 게임에 더 초점을 맞출 것입니다. 앞으로 2달 동안 발생할 메이저 업데이트를 기대해주세요!

구조 / 기술적 상세 설명

핵심적으로, DelegateCall은 전부 Loom Network DAppChain에서 돌아갑니다. 그리고 이는 릴레이(Relay)를 통해 이더리움 스마트 컨트랙트에 연결된 단독 블록체인으로 만들어졌지요.

DelegateCall의 단독 블록체인은 합의 계층에서 Loom DPoS의 프로토타입을 사용합니다. 앞으로 저희는 Tendermint나 Casper에 의해 작동하는 PoS 알고리즘을 지원할 계획도 있습니다. 각 팀이 그 구현을 마치는 대로요.

Loom DAppChain은 다양하고 복잡한 트랜잭션 타입을 자체적으로 정의할 수 있다는 점에서 다른 일반적인 블록체인과는 다릅니다. DelegateCall의 DAppChain에는 계정 생성, 포스트 생성/수정, 답변 수락, 업보트/다운보트 같은 종류의 기본 트랜잭션이 있습니다.

이런 점에서, DAppChain은 전통적인 웹 API들과 비슷합니다. 사용자들이 호출할 수 있는 고정된 수의 메소드를 제공하기 때문이죠.

저희는 DelegateCall DAppChain에 사용할 블록 탐색기를 blockchain.delegatecall.com에 만들었습니다. 이를 통해 여러분은 실시간으로 발생하는 트랜잭션들을 지켜볼 수 있습니다.

블록 탐색기를 통해 DAppChain에 포함되는 트랜잭션을 확인할 수 있습니다.
개별 트랜잭션을 선택하면 해당 트랜잭션의 내용을 확인할 수 있습니다.

릴레이(Relay)를 통해 이더리움에 연결

DPoS는 블록체인 커뮤니티에서 좋지 않은 평가를 받곤 합니다. PoW나 PoS에 비해 덜 분산화되어 있기 때문이지요.

이게 고민거리인 것은 맞지만, DPoS는 더 분산화된 합의 알고리즘보다 훨씬 많은 빠르게 트랜잭션을 처리할 수 있습니다.

여기서 난관에 봉착하게 됩니다. DApp은 전통적인 웹앱들과 경쟁하기 위해 더 높은 처리량을 필요로 합니다(트위터는 초당 7천 개의 트윗을 만들죠). 하지만, 단독 DPoS 블록체인은 이더리움 같은 PoW 블록체인에 비해 신뢰도가 많이 떨어집니다.

DAppChain은 릴레이를 통해 이더리움 스마트 컨트랙트에 연결하여 공생하는 방식으로 이 문제를 해결합니다. 사용자들은 그들의 자산을 이더리움 상에서 ERC-20 토큰으로 전송/교환할 수 있습니다. 애플리케이션 계층은 분산화되어 있고, 빠르고 저렴한 비용을 유지하면서요.

DelegateCall에서 보신 것처럼, 최종적인 결과물은 이더리움 단독으로는 불가능한 확장성 있는 분산 애플리케이션이 될 것입니다. 안전하고, 표준에 부합하면서, 분산화된 자산을 저렴하고 빠른 트랜잭션을 유지하면서 다룰 수 있게 되는 것이죠.

장차 릴레이의 구현Loom의 DPoS 알고리즘에 대해 더 세부적인 내용도 다룰 것입니다(사용자의 개인키를 관리하는, 선택적인 제3자 서비스인 Loom Vault에 대한 내용도 함께요!)

DelegateCall.com은 어떻게 돌아가는 거죠?

DelegateCall.Com은 말하자면 기반에 깔려있는 DAppChain과 상호작용 하는 편의 계층이라고 할 수 있습니다. DelegateCall 블록체인과의 상호작용을 위해 이 웹사이트를 써야만 하는 것은 아니지만, 이 사이트에서는 상호작용을 위한 편리한 UI를 제공하지요(Steem의 Steemit.com이나 이더리움의 MyEtherWallet / EtherScan과 같은 것입니다).

이 웹사이트는 기반에 있는 DAppChain 데이터의 캐시를 읽는 Ruby on Rails 앱입니다. 읽기 전용 캐시(MySQL 데이터베이스와 Elasticsearch로 구성)는 단순히 블록체인 데이터의 복제본이고, 새로운 블록이 생성될 때마다 업데이트 됩니다. 이 캐시는 표준 웹 2.0 앱처럼 빠르게 페이지를 표시하기 위해 사용합니다.

DelegateCall.com에 접속하면 볼 수 있는 데이터는 이 MySQL 캐시로부터 나옵니다. 또한 이 사이트를 통해 Loom.js로 만들어진 DelegateCall 클라이언트의 복제본을 사용할 수 있는 것이죠.

Loom.js는 Loom DAppChain의 공통 인터페이스 계층입니다. 클라이언트 측에서 트랜잭션을 서명하고 이 트랜잭션들을 DAppChain에 맞는 형식으로 바꾸는 역할을 하지요. 말하자면 Loom Network의 DApp을 위한 이더리움의 web3.js 같은 것입니다.

사이트에서 답변에 업보트를 하거나 코멘트를 남기는 등의 액션을 취하면, 전통적인 웹앱들처럼 DelegateCall.com의 웹서버로 데이터를 보내는 것이 아니라, Loom.js가 DelegateCall DAppChain으로 직접 트랜잭션을 알립니다.

그리고서 DelegateCall.com에서 블록체인의 변경을 계속 확인하는 워커 프로세스가 이 새 트랜잭션을 MySQL 캐시와 Elasticsearch에 동시에 포스팅하죠. 이렇게 해서 기반의 블록체인에서 일어나는 변화가 DelegateCall.com에 반영되는 것입니다.

DAppChain은 여전히 모든 진실을 가지고 있는 근원이고, Rails 앱의 데이터는 단순히 기반에 있는 DAppChain의 데이터 복제본일 뿐입니다.

한 번 보는 게 백 번 듣는 것보다 낫다고 하죠? 여기, 구조와 데이터 흐름을 보여주는 다이어그램이 있습니다.

사용자들은 그들의 트랜잭션에 서명하고 이를 DAppChain으로 직접 보냅니다. 그 후 빠른 읽기 처리를 위해 이 트랜잭션들을 Rails 앱의 읽기 전용 캐시로 복사하죠. 블록 탐색기는 동일한 기반 DAppChain 데이터를 읽어들이는 완전히 별개의 앱입니다.

DelegateCall.com을 사용하는 것은 그저 옵션이라는 점을 강조하고 싶네요 — 사용자들은 DelegateCall.com을 사용하지 않고도 직접 기반 DAppChain을 대상으로 읽거나 쓸 수 있습니다. 심지어 향후에는 개발자들이 다른 방식으로 데이터를 표현하는 그들만의 프론트엔드를 만들 수도 있을 것입니다. 저희 블록 탐색기가 Rails 앱과 완전히 별개인 것처럼요.

이는 DAppChain 기반으로 만들어지는 소셜 사이트들의 많은 장점 중 하나입니다— 기반 데이터에 대해 완전히 공개된 API를 갖는 것과 같죠. 제3의 개발자들이 그들만의 인터페이스를 만들 수 있고, 사용자들은 서비스와 상호작용하는 방식을 선택할 수 있는 기회가 더 많아질 것입니다.

조만간 개발자들이 DelegateCall이나 다른 Loom DAppChain들과 상호작용 할 수 있는 방법에 대한 정보도 공개할 예정입니다.

이 다음은?

내일, 더 자세한 내용과 함께 후속 발표를 할 것입니다. 그리고 다음 Loom Network의 계획에 대해서도 말씀드리겠습니다.

놓치면 후회하실 겁니다!

그동안에:

  1. DelegateCall.com에 가입하고 여러 지식을 공유해보세요.
  2. Loom Network mailing list에 등록하여 앞으로의 업데이트를 꼭 받아보세요.
  3. 질문이 있으신가요? 텔레그램에 들어와서 대화에 참여해보세요! (한국 텔레그램)

Loom Network는 고성능 디앱을 확장하기 위한 멀티체인 상호운용 플랫폼입니다 — 이미 상용 가능한 상태이며, 감사 및 실제 테스트를 거쳤습니다.

Loom 베이스체인에 여러분의 디앱을 한 번 배포하고 나면, 오늘날 모든 주요 블록체인에 걸쳐 가능한 가장 광범위한 사용자 기반에 접근할 수 있습니다.

Loom Network를 처음 접하시나요? 여기서 시작하세요.

LOOM 토큰을 스테이킹해서 베이스체인을 보호하는 데 참여하고 싶으신가요? 여기서 그 방법을 알아보세요.

우리가 하는 일이 마음에 드시나요? 그렇다면 어서 우리의 프라이빗 메일링 리스트에 가입하고, 우리가 계속 전달하는 모든 업데이트를 계속 받아보세요.

--

--