꼭 스팀 트랜잭션 처리가 바로 이루어져야 하는것일까?

in #kr6 years ago




1 갑자기 든 생각입니다. 웹 페이지에서 어떤 행동을 하면 트랜잭션이 일어 났다고 표현을 합니다. 일반적인 사이트에서는 중앙화 되어 있는 구조이기 때문에 서버 자원만 충분하다면 댓글을 달거나 뭔가를 업로드 하는 행위들이 실시간적으로 이루어지는데요.

스팀잇의 경우에는 보팅 글을 업로드 하는 행위(댓글 포함)들이 3초와 20초의 제한사항을 가지고 있습니다. 20초의 제한 사항은 무분별한 데이터가 반복적으로 올라오는 것을 방지하기 위해서 인 것 같고요. 3초는 스팀 DPoS 블록생성 시간에 맞춰서 승인이 되는 것 같더라고요.

3초마다 보팅을 할 수 있다지만 실질적으로는 3초 이상의 시간이 걸리는 것이 사실이지요.


2 그런데 꼭 3초의 시간이 필요한 것인지에 대한 의문이 듭니다. 봇이 아닌 사람이라면 실질적으로 1초라고 할지라도 마우스를 움직이는 시간 클릭하는 시간을 보면 1초 이상이 걸리는 것이 분명할텐데 3초를 고집하는 이유를 모르겠네요.

보팅 자체는 1초에 가능하게 만들어주고 프론트엔드에서 내가 한 행동들은 어느정도는 쌓아놨다가 순차적으로 처리하게 해도 괜찮을 것 같은데 말이지요. 꼭 블록 생성과 실시간적으로 이루어져야 하는지에 대해서는 사실 의문이 들기는 합니다.


3 지금 생각해보니 스팀잇 도구를 만들수는 있겠네요. 내가 한 행동을 저장해놓고 3초마다 실행시키는 보팅 도구라던지 글에 대댓글을 달기 편하도록 내 대댓글을 저장해놓고 20초 마다 올리게 하는 도구라던지 그런것들 말이에요.

물론 저는 일단 스팀로드부터 완성하고 봐야겠습니다. 하하

Sort:  

아 저도 이부분에서 조금 그랬어요.. 무분별하게 반복 댓글을 방지하기 위해 20초 제한을 두는걸 이해는 하지만 너무 길지않나 ㅠㅠ 매번 기다려야하니 지루하기도 해요 ㅠㅠ

음. 실제로 그런식으로 작동하는 기능들을 구현해서 쓰고 계신분들이 종종 계신것으로 알고 있는데 일반적인 활동의 경우보다는 이벤트류에 필요한 시스템이 아닌가 싶네요 ㅎㅎㅎ

STEEMIT 생태계에 관심이 없으면 던질 수 없는 의문과 질문인데... 역시 @boostyou님께서는 이런 질문을 던지시네요. 저는 한 번도 의문점을 가져본적이 없었는데. 역시 개발자의 눈으로 보시는 것! 대단하십니다. ㅎㅎ

이게 꼭 맞는지 모르겠지만 비트코인의 라이트닝이라고 하던가요? 트렌잭션 묶어서 처리하는 그거와 비슷하네요.

일부러 봇으로 막으려고 이렇게 운영하는게 아닌지요,..

잘 모르지만...봇이 무분별하게 활동하는것을 막으려는것은 아닐까요?

사람들보다도 봇돌릴때 더필요하지않을까요~?

3초와 20초의 제한을 둔 것은, 아무래도 기계적인 반복적 댓글이나 보팅의 문제를 제한하기 위함이겠지요., 이마저 없다면 기본적인 규칙도 무너질 수 있겠지요.

스팀잇 도구로 활동하시는 분들이 많아요.
게시물도요 자동봇으로 올리시는 외국분도 많고요.
steem.js을 공부하시면 읽는 함수를 활용하면 스티미언 활동을 효율적을 할 수 있고요.
쓰는 함수를 활용하면 음지 스티미언 길로 갈 우려가 많아요.
그리고 3초라는 시간을 제한을 둔 것은 스팀 함수들 자체가 거의 대부분 콜백함수로 되어 있어서 그러지 않을 까 생각되네요. 네가 어떤 함수를 수행명령을 내렸는데 뒤에 명령이 먼저 수행 되는 경우가 종종 있으니 최소 안정시간을 정해놓아야지 블록체인 등록에 오류가 발생하지 않기 위해서일지 모른다는 생각이 드네요.

3초는 불편한 수준까진 아닌데 20초는 불편함이 자주 느껴지더군요.

Coin Marketplace

STEEM 0.27
TRX 0.12
JST 0.031
BTC 61757.83
ETH 2905.75
USDT 1.00
SBD 3.62