스팀잇 보상은 왜 7일 이후에 이루어지나? 나름의 해석
왜 7일 일까? 에 대해서 많은 분들이 글을 쓰셨고.. 대부분 장단점을 이야기 하면서 인문학적 측면에서 이야기 한 글들은 보았었다. 기존의 글들로 시간의 제한없이 보상을 받으면 먼저 진입하여 성장한 고래들만 유리한 시스템이 되어 버려 새로 진입하는 뉴비들에게 기회가 없는 시스템이 될 수 도 있다. 유동적인 시스템을 만들어 신규진입의 장벽을 낮춰주는 효과가 있다라는.. 주로 이런 관점의 내용이고, 일부는 1주일이 너무 짧은 것 아니냐? 라는 의견도 있는 듯하고… 시스템 개발자의 관점에서도 이 부분에 대해서 인문학적 고민과 시스템 구현의 용이성 등 최적의 접점을 찾으려 고민했었던 것으로 보인다. 그래서 7일과 14일 한달 등 여러 안 중에 최종적으로 시스템적으로 구현할 수 있는 관점에서 생각했을 때 7일을 선택하지 않았나 하는 생각이다.
블록체인은 블록이 생성되어 이전 블록과 체인이 형성되었다면.. 해시함수로 연결되어 있기 때문에.. 블록 내부의 트랜잭션 데이터들이 조금이라도 수정이 되면.. 눈사태 효과 때문에 결과 값은 엄청나게 크게 바뀌고.. 그 이후의 블록에도 영향을 주기 때문에 수정/변경/삭제 등이 안되어야 한다...게다가 시간이 더 오래 되어 블럭의 넘버가 더 크 질 수록 수정되면.. 그 이후의 모든 블럭에 영향을 미치기 때문.. depth가 깊어져서 더욱 불가능하다..비트코인은 블럭 생성 주기가 10분 인데.. 최소한 식스컨펌 이후..즉 60분 뒤에는 그 depth가 깊어져 안전하다고 하지요..
스팀의 트랜잭션들을 확인해서 블록 생성 주기를 계산해보니 13:49:21에 생성했는 나의 댓글 트랜잭션이 블록 넘버 20151860에 저장되었고, 14:10:03에 생성한 댓글 수정 트랜잭션은 블록넘버 20152220에 저장되었다. 20분 42초(1242초) 동안 360개의 블록생성이 생성되었으므로 , 블록 생성 주기는 약 3.45초 이다. 20152220번 째 블록을 기준으로 이를 역산하면.. 3.45*20152220/3600*24*365 = 약 2.2년, 제네시스 블록 생성 된 이후 약 2년 2~3개월 정도 지났다는 결론이 나온다.. 스팀잇이 시작된 지가 2016년 초반 경이므로 얼추 맞아 돌아 간다.
그러면, 스팀은 3초마다 블록이 생성되는데..그럼 10분전에 내가 쓴 글은 수정이나 삭제가 안 되어야하는 거 아닌가?? 그런데 수정이나 삭제가 된다..이 건 또 블록체인 상식에 맞지 않는데..어떻게 해석 해야 하지? 아마도 개발자 입장에서는 스팀잇 내의 트랜잭션들을 어떠한 코드로 구분하지 않았을까? 포스팅이나 댓글과 같은 활동은 SNS 트랜잭션으로, 스팀의 송금이나 이체 등은 BANKING 트랜잭션으로 구분하여 각각의 트랜잭션들은 3초마다 생기는 블록에 저장되어 수정이 불가한 것이 맞다. 그런데 Banking트랜잭션은 수정/변경의 여지가 없는데.. SNS트랜잭션은 많은 변경과 수정이 이루어 지기 때문에.. 수정시에는 이전에 생성한 트랜잭션을 참조하여 새로운 SNS트랜잭션을 만들고, 이를 또한 새로운 블록에 저장하는 방식으로 만들었 을꺼라고 추정해 본다.
아래는 포스팅 이후의 시간별 액티비티에 대한 트랜잭션을 구분하여 어떻게 처리 할 것인가를.. 스팀잇 개발자 입장에서 어떻게 했을까를..나름 상상으로 구현해 본 겁니다.. ^^
이렇게 하나의 포스팅에 변경과 수정이 가해지고, 댓글이 붙고, 보팅이 일어나며 여러가지 트랜잭션을 모아서.. 포스팅 이후 시간별 행동들의 분석해보니 포스팅 기준으로 시간이 지남에 따라 규레이팅 활동이 감소하는 데다가..계정들의 큐레이팅 보상과 저자 보상의 알고리즘을 돌려보니 어디 까지를 유효한 큐레이팅 활동으로 볼 것이냐 인문학적 공학적 고민 끝에 7일로 확정하지 않았을까..이는 Raw Transaction에 대한 3초의 블록 생성 주기와는 별도로, 포스팅 큐레이팅 활동에 대한 보상알고리즘을 위한 스팀 정산 블록을 만들었고, 이 블록의 생성 주기는 7일 이다.. 정도로 해석하면 되지 않을까 나름 상상해봅니다.. 정확한 거는 스팀잇 개발자가 알겠지만..ㅎㅎㅎ
아, 어렵습니다.
구드21님.. 더 쉽게 설명 못했어..지성요--;;
생성주기 3초짜리 블럭체인하고 7일짜리 블럭체인하고 두개를 돌리는 게 아닐까라는 겁니다..장부가 두개라고 해야하나.. 그냥 제 생각을 적은 겁니다.. 맞는지는 모르겠지만..^^;;
https://steemit.com/witness-category/@timcliff/timcliff-s-updated-witness-application
팀클리프 증인의 말에 의하면..SNS트랜잭젼과 Banking트랜잭션을 구분하지 않고.. 3초마다 생성되는 하나의 블록체인에다가 기록하는 군요..--;; 그럼 7일전 까지 수정 가능한 원리는 수정된 포스팅이나 댓글을 별도의 새로운 트랜잭션으로 보고 새로운 블록에 기록하는 것 뿐인 것 같내요..
"Witnesses are tasked with validating and producing the blocks for the blockchain, which ensures everything in the network operates smoothly and correctly. Every three seconds one of the witnesses assemble all of the transactions that have occurred (such as posts, comments, votes, STEEM/SBD transfers) into a "block" and then they store all that information in the distributed database network called the "blockchain"."
맞습니다. 그래서 이론적으로는 수정 전 글도 볼 수 있어요.