블록체인 기반 소셜미디어가 기술적으로 고려해야 할 사항들
정승원의 '울룩불룩 블록체인' #10 마지막회
이 기사를 공유합니다
정승원
정승원 2019년 5월13일 18:00
울룩불룩 블록체인

앞으로도 종종 스팀잇과 연계된 이야기를 할 기회가 있겠지만 연재로서는 어느덧 스팀잇 토큰 이코노미 마지막 글이다.

연재 초기에도 밝혔지만, 필자는 개발자 경력도 가지고 있다. 안랩에서의 병역특례 때는 개발이 주된 업무였고 페이스북과 AOL에서도 주요 업무인 리서치 외에 프로그래밍도 일부 했다.

아무래도 이제는 본업이 개발자가 아니다 보니 취미 삼아 가끔 하는 프로그래밍은 오히려 재미있었다. 그 때문인지 스팀에 코드 기여가 제법 많아졌다. 필자가 직접 만든 간단한 서비스들 외에 스팀 블록체인 코어 수정사항도 최근 승인이 나서, 다음 하드포크 때 반영될 가능성이 매우 높아졌다. 스팀잇 메인 UI 및 기타 UI인 Busy, eSteem, 또 스팀 지갑, 라이브러리 등 다양한 곳에 적지 않은 기여를 했다. 덕분에 최근 스팀잇 공식 블로그에서 필자를 MVP 커뮤니티 기여자로 언급해주기도 했다.

출처=스팀잇 공식 블로그


물론 이걸 필자가 대단히 자랑스러워한다면 스스로 우물 안 개구리 인증밖에 안 된다. 안타깝게도 현시점에서 대부분의 블록체인 프로젝트 개발팀은 기존 상위권 IT기업과 비교하기 힘들며, 커뮤니티 기여자의 관심 역시 줄어들고 있는 것이 현실이기 때문이다. 비록 스팀잇 사용자 수가 많이 줄긴 했지만, 스팀잇을 사용한다면 어떤 형식으로든 필자가 만들거나 수정한 코드가 사용되며 그 기록이 오픈소스 프로젝트 보관소인 깃허브에 남아있으니 기업에서 비 오픈소스 프로젝트를 하던 것과는 또 다르게 나름 뿌듯하기도 하다.

한편으론 블록체인도 아닌 깃허브에 기록된 필자의 기여들이 딱히 위변조될 수도 있다는 걱정이 안 드는 것을 보면 역시 블록체인은 꼭 필요한 곳에만 적절히 쓰여야 한다는 생각을 다시금 하게 된다. 이런 경험들을 토대로 블록체인 기반 소셜 미디어가 기술적으로 고려해야할 부분에 대한 생각을 스팀잇의 예제와 함께 정리해 본다.

토큰 이코노미 by 정승원

블록체인에는 정말 필수적인 데이터만 기록


먼저 절대로 지나치게 많은 데이터를 블록체인에 담으려 해서는 안된다.

스팀잇은 사실상 최초의 블록체인 기반 소셜미디어로써 홍보를 위해서도 최대한 많은 데이터를 블록체인에 담는 형식을 취했다. 로그인 정보와 읽기 기록, 조회수 등을 제외한 거의 모든 기록이 블록체인에 기록된다.

로그인의 경우 키가 웹브라우저 세션에 저장되어 있다면 애초에 그 경계도 불명확할 뿐더러 로그인 기록과 읽기 기록까지 블록체인에 남는다면 숨이 막혀 쓰려는 사람이 거의 없을 것이다. 더군다나 읽기 기록은 애초에 페이스북의 친구 공개 설정과 같은 공개 범위 설정이 불가능하다.

조회수 기록의 경우 과거 별도의 일반 데이터베이스에 저장해 공개됐으나 곧 해당 기능이 사라졌다. 지난해 5월 네드 스콧 스팀잇 대표가 방한해 열린 밋업에서 이와 관련된 질문이 나왔다. 당시 네드 스콧이 내놓은 표면적인 대답은 과부하를 방지하기 위해서 조회수 기록을 더는 공개하지 않기로 했다는 것이었다. 하지만 이용자들의 심리 문제 때문이라는 분석이 더 설득력 있다.

수만번 이상 조회됐지만 보팅 5개 등 적은 보상을 받은 게시글 작성자가 있고, 또 조회수는 5에 불과하나 50 보팅이라는 많은 보상을 받은 게시글 작성자가 있다고 가정하자. 전자가 후자를 보며 유쾌할 리가 없다. 조회수를 블록체인에 기록하지 않는다는 전제 아래, 로그인한 사용자 본인에게만 조회수를 보여주는 기능은 고려해 볼만 하다.

출처=Getty Images Bank


스팀잇을 하면서 느낀 점은 인간은 정말 상대적 비교에 민감하다는 것이다. $1을 받던 사람이 그 두 배인 $2를 받더라도, 별 대단해 보이지도 않는 상대방의 글이 $10을 받는다는 사실을 알게 되면 더 기분이 상하는 것이 인간 심리이다.

전문가 집단이라면 글에 찍힌 보상이 마치 자신의 글의 가치를 평가하는 느낌이 들 수도 있다. 그래서 매우 민감하다. 다른 주제도 아닌 암호화폐 거래소 대표가 와도 교류 없이는 초기 환영 이후엔 보상이 급감하는 곳이 스팀잇이다.

보상 금액을 겉으로 안 보여주면 어떨까?


이런 상대적 박탈감이나 민망함을 방지하고자 스팀잇에서 보상 금액을 보여주지 말자는 의견을 종종 접한다. 현실적으로 어려운 이야기다. 보상이 주요 컨셉인 스팀잇이, 메인 UI에서 해당 기능을 뺄리가 만무하기 때문이다. 또한 인간은 누구나 호기심이 있어서 보상을 보여주는 UI가 있다면 결국 그걸 더 많이 쓰게 될 것이다.

진정으로 보상을 숨기려면 블록체인 자체를 재설계해야 한다. 그리고 이것이 진정한 블록체인이 되게 하는 일은, 위변조 불가와 검증가능성을 어떻게 구현할지를 고려한다면 결코 쉬운 문제가 아니다. 즉 나의 보팅이 상대에게 전달된 것을 제 3자는 몰라야 하지만 당사자들끼리는 검증이 가능해야한다. 불가능한 것은 아니나 이를 효율적으로 처리하려면 상당한 기술과 처리 능력이 요구돼, 소셜네트워크에 적용하는 것은 과도해 보인다.

관련된 현실적인 대안은, 물론 이도 블록체인 변경 필요로 하지만, 원천적으로 해당 글에는 보상을 받지 않는 기능을 만드는 것이다. 스팀잇도 보상거절글 작성은 가능하지만 보상을 안 받게 될 뿐 보팅해준 사람의 보팅파워(즉 돈이라 생각해도 무방)는 소모되며 합계 금액 역시 보인다. 하지만 만약 블록체인 레벨에서 보상거절 글은 아예 금액 반영이 안되고 보팅한 사람의 보팅파워도 소모하지 않는 형태로 만든다면 적어도 돈이 아쉽지 않은 유명인이 와서 글 쓸 때 민망한 상황은 확실히 피할 수 있다. 여기에 원한다면 광고로 인한 수입을 얻을 수 있는 길을 열어주면 되는 것이다.

글의 전부를 블록체인에 기록하는 것은 불필요


스팀잇은 글의 경우 일반 클라우드에 저장되어 링크만 기록되는 사진, 동영상을 제외하고는 본문 전체가 블록체인에 기록된다. 과거엔 7일 지나면 아예 글 수정도 불가능했다. 작년 HF20 이후 수정 가능하게 변경됐으나, 수정한다고 과거 기록이 사라지는 것은 아니다. 수정한 기록이 새로운 블록에 추가되어 체인으로 연결될 뿐이다.

사실 글의 전부를 블록체인에 기록하는 것은 장기적으로 유지 비용이 많이 발생하며 글 쓰는 사람도 부담이 된다. 글의 해시값(쉽게 말해 암호화 요약본)만 기록하여 위변조 여부만 알 수 있게 하는 것이 훨씬 바람직하며 만약 글 전체를 기록할 경우 추가 비용을 받도록 하는 것이 어뷰징 방지에도 도움이 된다.

어뷰징 방지를 위한 기술적 대응책의 중요성


필자가 '완전한 탈중앙화 소셜미디어는 원래 불가능하다' 편에서 언급한 어뷰징을 정의하는 어려움의 예시 중 하나였던, 남들은 관심하나 없을 내용을 기록 보관 용도로 쓰는 문제가 실제로 일어났다. 앞선 글에서 언급했듯 허용된 자원안에서 반복해 글을 쓰는 것을 어뷰징으로 볼 것인가도 참 어려운 문제다. 그러니 더더욱 소셜미디어라면 적절한 중앙화가 반드시 필요하다. 무엇을 허용하고 안할지는 최소 중앙에서 명확하고 일관되게 정의해야만 하는 것이다.

아무튼 해당 문제로 촉발된 싸움은 여전히 해당 기록글을 다운보팅을 한 증인의 글마다 댓글 수백 수천개를 달고 또 보팅을 하는 형식으로 진행 중이다. 그런데 그 글의 길이마저 길다면? 노드 운영자 입장에서는 진정한 악몽이다.

따라서 글의 해시값만 기록하는 것과 전체 기록 시 수수료를 부담시키는 방법을 병행하는 것이 좋다. 특히 기술적으로 어뷰징을 막는 방법은 다운보팅등을 통한 제재와 달리 감정적인 문제를 일으킬 소지가 없다. 예를 들어 지나치게 많은 트랜잭션을 일으키는 것을 막고 싶다면 필요 자원양을 계정별로 다이나믹하게(너무 짧은 시간동안 반복적인 요청이 오면 기하급수적으로 필요량을 늘리는 식으로) 조정하는 방법 등을 생각해볼 수 있다.

명성도/평판도 (reputation) 시스템


스팀잇의 경우 유저마다 숫자로 레벨이 주어지는 명성도 시스템이 있다. 매우 단순하게 보팅을 받으면 받을수록 올라간다. 로그 함수가 사용되어 갈수록 올라가기가 힘들다. 보팅봇을 사용해서 올리면 그렇지 않은 유저의 1년치 레벨업한 것을 하루만에도 달성가능하다보니 일정 수준 이상에서는 사실상 큰 의미가 없는 수치로 전락했다.

별 의미 없는 숫자지만 사실 스팀잇에서는 최악의 상황에는 큰 문제가 될 수 있는 것이, 다운보팅으로 명성도를 낮추는 일은 명성도가 더 높은 계정만 할 수 있다는 점이다. 현재 스팀잇에서 명성도가 가장 높은 계정은 스팀 재단 소속의 계정이 아니다. 만약 이 계정이 해킹되어 다운보팅을 하고 다니면 스팀은 하드포크를 해야 한다.

사실 랭킹이라는 것이 대학 랭킹만 봐도 알 수 있듯이 평가요소에 따라 천차만별로 변할 수 있다. 따라서 이런 명성도 개념이 굳이 존재할 필요가 있는지 의문이다. 그러나 소셜 네트워크에서 평판을 판단하는 일은 여전히 매우 중요하다. 단순하게는 팔로우 숫자를 측도로 쓸 수도 있겠지만, 이 역시 초기에 수많은 팔로우 봇계정들이 있었기에 초기에 시작한 사람과 최근 시작한 사람은 절대 비교가 안된다.

출처=Getty Images Bank


보다 의미있는 수치로 스팀재단이 후원하는 Busy의 인플루언서 보상 기본 보팅 시스템이 있다. 여기선 팔로워들의 스팀파워의 합을 사용한다. 스팀파워라는 것이 스팀으로 전환하기엔 13주나 소요되고 스팀파워가 높으면 그에 비례하는 보팅 파워 등으로 인해 영향력이 높고 투자한 금액이 있기 때문에 스팀에 진지한 접근을 하는 사람들이다.

필자의 경우 MVP Contributor 공로를 인정받아 스팀잇에서 팔로우 활동이 가능한(즉 재단 소속 등이 아닌) 계정 중 가장 스팀파워가 높은 증인의 팔로우를 최근 받았다. 해당 계정은 실제 34명만 팔로우 중이기도 하다. 필자의 팔로워의 스팀파워합에 의한 순위는 한국 계정 중에서는 오랜전부터 증인 활동을 한 계정 다음이며 스팀잇 전체로도 100위안에 든다. 앞서 설명한 유명무실한 스팀잇 명성도 기준 1위보다 오히려 순위가 높다. 하지만 필자는 스팀잇을 일찍 시작한 편은 아니어서 팔로워 숫자로만 따지면 1만등도 넘어간다. 현재 하루 글작성자가 1만명이 안되는데도 말이다. 그만큼 팔로워 숫자 자체는 큰 의미가 없다. 과거 글 하나 쓰면 100개 넘게 팔로우가 자동으로 오던 봇들이 사라져서 실제 현재 스팀잇을 시작하면 정상적인 방법으로는 팔로워 200을 만들기도 힘들다.

이렇듯 기준에 따라 천차만별이니 명성도라는 개념을 도입할 것이라면 단순히 하나의 지표만 가지고 만들 것이 아니라, 보다 신중한 접근이 필요하다.

언젠가는 닥치게 될 확장성(Scalability) 문제


대부분의 블록체인은 지나치게 사용률이 적은 것을 고민하지만 실제 사용량이 다른 블록체인에 비해 압도적으로 많은 스팀의 경우 확장성 문제가 바로 눈앞에 닥친 시급한 문제중 하나였다. 그 때문에 스팀잇의 차기 미래라고 평가한 SMT(Smart Media Tokens)를 이미 여러 차례 연기하면서도 블록체인 노드를 효율화하는 프로젝트에 더 우선순위를 두기도 했다.

블록체인은 근본적으로 기존의 중앙화된 기술보다 매우 느리다. 그런데 소셜미디어 쓰는데 답답하게 마냥 기다리게 할 수도 없다. 그러다보니 과거에는 수많은 것들을 다 메모리에 로딩하는 식이었는데 이를 효율화된 DB를 최대한 활용하는 식으로 변경하고 있다. 이미 진행된 부분도 있고 최근 개발이 완료되어 적용을 시작해나갈 부분도 있다. 여기에 핵심이 되는 기술이 중앙화 소셜미디어의 아이콘인 페이스북이 개발한 오픈소스 RocksDB이고 더 거슬러 올라가면 이는 더 큰 중앙화의 아이콘, 구글이 개발한 LevelDB에 기반하고 있음은 참으로 재미있는 아이러니이다.

User Interface, 나아가 User Experience – 매우 중요한 첫인상


스팀잇 유저들의 많은 불만 중 하나가 시작부터 나아진 바가 거의 없는 메인 UI인 steemit.com이다. 물론 이는 하나의 UI일 뿐이고 실제 스팀잇 유저들은 Busy, Steempeak, Partiko, eSteem 등을 더 많이 사용하긴 한다.

앞서 말했듯 비록 필자가 이들을 직접 제법 많이 고치면서 재미와 보람은 느꼈지만 엄연히 말해서 스팀잇 메인 UI는 제대로 된 풀타임 프런트 엔드 개발자 한 명만 있어도 가시적인 개선을 손쉽게 이룰 수 있다. 즉 현재 스팀잇의 현실은 그런 개발자 한명을 고용하기 힘든 현실이다. 좋은 시절을 너무 안일하게 보냈던 탓이다.

물론 UI는 근본 기술은 아니다. 하지만 제아무리 기반기술이 좋다 한들, 또 아무리 다른 대안 UI가 많이 있다 한들, 외부 사람들이 스팀잇 하면 떠올리거나 접속하는 곳은 steemit.com이다. 상대적으로 손쉽게 개선할 수 있는 것도 할 수 있는 여력이 없는데 SMT와 같은 더 복잡한 일은 과연 할 수 있을 것인가란 의구심도 생기지 않을 수 없다.

블록체인 기반 소셜미디어라고 해서 사람들이 열광하던 시대는 지났다. 오히려 블록체인 기반인 것을 최소한으로 드러내려는 움직임도 보일 정도다. 실제 일반 유저 입장에서는 기술에 신경 쓸 필요가 없을수록 좋다. 페이스북 쓰면서 페이스북이 어떤 기술 쓰는지 공부하거나 신경쓰는 유저가 몇이나 될까? 블록체인 소셜미디어도 마찬가지다. UI 나아가 UX는 소셜미디어에서 매우 중요하다.

진정한 탈중앙화 가치를 추구한다면 오픈소스 기여자에 대한 예우가 필수


끝으로 해당 블록체인 오픈소스에 참여하는 커뮤니티 기여자에 대한 예우의 중요성을 강조하고 싶다. 이것이 꼭 금전적일 필요가 전혀 없다. 그래도 제법 괜찮은 블록체인 프로젝트에 코드 기여를 할 수 있는 사람이 과연 돈이 크게 아쉬울까? 오히려 돈 받고 일하는 직원보다 더 뛰어난 능력자가 잠시 취미로 일을 도와줄 수도 있는 일이다. 소셜 미디어 아닌가. 포스팅에 언급해 주는 것만으로도 충분하다.

출처=Getty Images Bank


스팀잇은 그동안 이런 커뮤니케이션 부분이 상당히 부족했다. 그렇게 많은 커뮤니티 능력자들을 떠나보냈다. 하지만 최근 실제 그에 대한 반성문(?)을 시작으로 커뮤니티 기여에 대한 감사 포스팅을 시작했다.

현재 스팀잇은 분명 많은 면에서 어려운 상황에 처해 있다. 그나마 위안은 현재 모든 블록체인 프로젝트가 어렵다는 점이다. 강력한 경쟁자가 나타나기 전에 재도약을 하게될지 스팀잇의 여러 문제점을 개선한 새로운 강자가 나타날지, 아니면 블록체인 기반 소셜미디어라는 것 자체가 완전히 시들해질지 필자도 궁금하다. 확실한 것은 암호화폐에 대한 부정적 인식이 없어져야 비로소 블록체인 기반 소셜미디어의 mass adoption이 가능해질 것이다. 현 시점에서는 보상이 암호화폐로 주어지는 것 그 자체가 큰 걸림돌이다.

다시 한번 블록체인 기반 소셜 미디어에서 광고 수익 분배와 중앙화 큐레이션의 중요성을 강조하며 연재를 마친다.

다음 글에서는 현재 스테이트 오브 댑(State of the Dapps) 기준 댑 랭킹 전체 1위를 차지하고 있는 게임 댑 '드럭워즈'의 냉정한 현실에 대해서 다룰 예정이다.

<지난글 보기>


#1_암호화폐 vs 가상화폐 : 그 해묵은 논쟁에 대하여
#2_여전히 블록체인과 암호화폐를 뗄 수 있나 궁금하세요?
#3_경제학적 관점에서 본 블록체인의 안정성
#4_경제학자의 눈으로 스팀잇을 들여다보다
#5_스팀 토큰 구조와 스팀달러에 대한 3가지 오해
#6_완전한 탈중앙화 소셜미디어는 원래 불가능하다
#7_누구나 쉽게 돈 벌 수 있다고 생각할 때 내리막이 시작된다
#8_스팀잇이 진정한 탈중앙화를 향한 첫걸음을 뗐다
#9_광고·중앙화 큐레이션·유료구독…스팀잇이 살 길은?

 








정승원 브리스톨 대학 경제학과 조교수는 포스텍에서 전자전기공학, 컴퓨터공학, 수학과를 복수전공했고 스탠포드에서 경영공학 박사학위를 받았다. 안랩에서 소프트웨어 엔지니어, 페이스북 본사 new faculty fellow economist로 일하기도 했다. 유튜브에서 직접 번역한 비트코인 백서 등을 가지고 블록체인 강의를 하고 있으며 스팀잇에 다양한 블록체인 관련 글들을 게재하고 있다.



제보, 보도자료는 contact@coindeskkorea.com



댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.