SMT vs Steem Engine 연재 2 - Scotbot의 동작원리: 보팅에 딜레이가 있는 이유 & Scotbot을 bot이라고 부르는 이유

in #kr5 years ago (edited)

지난 용어 정리편 이후 본격적으로 SCOTBOT unstaking을 5일 이상으로 설정해야 하는 이유에서 말씀드린 것처럼 Scotbot의 동작 원리에 대해 설명드리려 합니다.

사실 순서는 전혀 안 맞지만 그냥 무작위로 요새 유저들이 궁금해하실 부분부터 설명드립니다. 사실 이번편만 보셔도 아 SMT와 스팀엔진은 다르긴 다르구나 이해가 되실 겁니다. 아니 혹시 이해는 딱히 안되도 그런가보다 하실 겁니다^^ @clayop님의 스팀엔진+SCOT과 SMT의 차이글을 보신 분이라면 이해가 더 쉬우실 겁니다.

많은 분들이 불편해 하시는 것 중의 하나가 Nitrous 즉 스팀엔진 토큰의 customized UI에서 자체 토큰의 보팅이 실시간으로 반영되지 않는다는 점입니다. 이는 바로 Scotbot을 bot이라고 부르는 이유와도 정말 밀접한 관련이 있는데요.

Scotbot 보팅에 딜레이가 있는 이유이자 Scotbot을 bot이라고 부르는 이유

그전에 잠깐 용어(이름) 복습

  • Nitrous: steemit.com과 같은 customized UI (순정 스팀잇의 경우 condenser라고 부름)
  • Scotbot: Nitrous UI에서 일어나는 보팅 등의 실제 back-end 작업을 처리하는 시스템.

하지만 직접 Scotbot같은 것을 만들지 않는 이상 둘이 따로 동작할 수 있는 것은 아니라서 엄밀히 구분할 필요가 없을때는 Scotbot이라고만 전체 시스템을 지칭해도 무방

자 그럼 본론으로 들어가서

한번쯤 궁금해 하신 분도 계실 겁니다. (네 보통은 궁금해하지도 않는다는 것도 압니다^^)

아니 왜 이름을 굳이 Scotbot, 즉 bot이라고 했을까?

이유는 단순합니다. 실제 동작하는 방식이 봇이기 때문입니다.

제가 만든 곰돌이 @gomdory의 감사보팅(보팅해주시면 보팅으로 돌려드리는 기능)과 기본 원리가 비슷합니다.

  • Nitrous UI를 통해 보팅을 하면 실제로는 스팀 블록체인상에서의 보팅 트랜잭션이 먼저 일어납니다.
  • 그러면 스캇봇이 기타치고 놀고 있다가 이걸 감지해서 보팅들어왔네? 하고 어슬렁 일어나서

열심히 뒤처리를 합니다.

네드 일좀 하라고 이름을 스캇봇이라고 붙였을려나요?

(경고! 심화반 전용. 초보는 건너뛰세요. 더 궁금하죠? 아니 보팅을 감지할게 아니라 좀 더 효율적으로 Nitrous UI에서 보팅 일어날때 바로 필요한 작업하면 되는거 아니냐? 아주 좋은 질문입니다. 하지만 꼭 Nitrous UI를 통해서만 스팀엔진 토큰 커뮤니티 글을 쓰고 보팅해야만 한다면 불편하겠죠. 아무래도 스팀잇 같은 사이트보다 안정성면에서도 취약할 겁니다. 해당 사이트 다운된다고 기능정지되면 불편하겠죠? 실제 제가 테스트해본 결과 글 자체가 해당 토큰 커뮤니티 태그를 포함하고 있으면 busy등에서 보팅을 해도 해당 토큰 보팅이 이루어집니다. 따라서 스팀 체인 보팅을 감지하는 형식이 되어야합니다.)

일단 Scotbot이 bot이라고 불리는 이유는 아시겠죠? 실제 스팀 블록체인 상의 보팅 트랜잭션을 감시하고 있다가 보팅이 감지되면 스팀엔진 토큰의 보팅작업을 처리하는 봇이기 때문입니다. 스팀 체인상의 보팅을 감지하고 처리해서 반응하는 과정에서 딜레이가 발생할 수밖에 없습니다.

반면 스팀잇에서 스파를 가지고 보팅하는 경우 보팅 트랜잭션이 스팀 블록체인의 고유 트랜잭션이기 때문에 바로 체인에 기록됨과 동시에 거의 바로 보팅을 반영된 상태를 다시 불러올 수 있습니다.

그럼 스팀엔진 토큰의 보팅 기록은 어디에 기록된다?

  • 스팀 블록체인에는 기록되지 않습니다.
  • 스팀엔진 블록체인에도 기록되지 않습니다.
  • 블록체인상에는 어디에도 기록되지 않는 것이고 봇의 효율적 처리를 위해 일반 DB를 사용하긴 합니다. 하지만 이는 효율을 위한 것일 뿐 이론적으로는 없어도 무방합니다.



여기서 의문이 들 수도 있을 겁니다. 네 보통 들지 않을 겁니다. 이해하는 척 고개만 끄덕일뿐.

  1. 아니 왜 스팀 블록체인에 기록을 안해?
  2. 아니 왜 스팀엔진 블록체인에도 기록을 안해?

다음 시간까지 생각해보세요^^

ps. 현재 SCOTBOT 시스템 자체적으로 SCOT 마다 즉 스팀엔진 토큰마다 보팅파워 개념이 별도로 존재한다는 사실을 확인했습니다. 개인적으로 테스트 결과 실제 VP 값자체는 별도로 관리되고 있는데 이게 실제 보팅에 사용되고 있는지 미래를 위한 리저브인지는 아직 확인을 못했고 개발자에게 문의해둔 상황입니다. 답변오는대로 알려드리겠습니다.

Sort:  

너무 너무 재미있는데요,
대충 끄떡 끄떡 하고 일단 넘어가야 겠네요.

can I get a english summary?

Hi @aggroed, you may have been intrigued by Ned's guitar :) No bad comments on SCOT or steem engine.

I've started explaining the difference b/w SMT and Steem Engine.

In this post, I explained mainly about Scotbot, how it works and why it's called a bot.

Ned's photo part is this.

Basically Nitrous+Scotbot doesn't write voting tx on any blockchain.

  • Scotbot's monitoring Steem voting, while playing a guitar :)
  • When a voting is recevied, now Scotbot is doing the necessary job.

This is why it's a bot.
Maybe it's named Scot, since people want Ned to work hard!

It's such an explanation with some humor.

You seemed to forget your voting. Don't forget if now you're happy :)

hodolbak님이 blockchainstudio님을 멘션하셨습니당. 아래 링크를 누르시면 연결되용~ ^^
hodolbak님의 [스팀잇 생활] 스팀, 스달 팔아 이자(?) 납부하기

...예정이다.
그렇게 얻는 수익들도 이곳에서의 생활을 유지할 수 있는 힘이 되기 때문이다.
얼마전 blockchainstudio님의 보상 현금화에 대한 생각 포스팅이 올라왔는데 나역시 현금화에는 찬성을 한다.
예전에 스팀잇을 ...

@blockchainstudio님 곰돌이가 2.5배로 보팅해드리고 가요~! 영차~

(놀게)냅둬 숫갓봇입니당~!

쏘오오오오~옥 잘 이해되는 연재 감사합니다~♥

니트로스 이야기 나오니 영문 요약을 요청하네요~
수고 많으십니당~♥

Posted using Partiko Android

앗,,, 각 SCOT마다 보팅파워가 별개인가요? 이거 정말 중요해요.

항상 잘 보고 있습니다. 감사합니다. :D

블체스님 잘 읽고갑니다!^^

역시 쑥쑥 읽힙니다
음 사실 굳이... 기록할 필요가 있을까 하는 생각도 듭니다
이유는 어짜피 스팀과 독립하지 못했으므로, 스팀의 보팅 기록 = 스팀엔진의 보팅기록이라고 볼 수도 있거든요 다만 신경쓰일 수 있는건 보팅파워가 별도 관리 되기 때문에 어느정도의 보팅이 들어갔을까? 라는 계산이 조금 애매한것 같아요 아직은