스팀 백서 번역 및 해설 5부 : 거래 수수료 제거하기
1부로 번역 시작한 이후 벌써 9일이 지났습니다. 번역 작업을 통해서 스팀 블록체인에 대해서 여러 모로 파악하는 좋은 기회가 되었습니다. 이 작업도 이제 거의 막바지입니다. 6부나 7부 정도에서 끝낼 수 있겠습니다.
거래 수수료 제거하기
스팀은 네트워크에 기여하는 사람들을 보상하는데 중점을 두고 있다. 커뮤니티와 상호 작용할 때마다 사람들에게 수수료를 부과하는 것은 비생산적이다.
블록체인 기술은 스팸 차단을 위해 거래 수수료에 의존하고 있다. 이러한 수수료 방식은 소액 거래에서 알려진 모든 문제점을 그대로 지니면서, 비용이 낮은 거래에 블록체인이 활용되는 것을 방해한다. 분산 어플리케이션들이 중앙 집중식 대안들과 경쟁하려면 사용자들에게 무상 거래를 제공할 수 있어야 한다. 이 백서는 스팀이 수수료의 필요성을 제거하기 위해 취한 방식을 소개할 것이며, 이를 통해 이전에는 성립할 수 없었던 분산 어플리케이션을 가능토록 하고자 한다.
수수료의 문제점
블록체인은 모든 거래들이 상대방 노드들에 전달되는 분산 네트워크이다. (해설: 블록체인이 유지되기 위해 필요한 컴퓨터 프로그램을 보통 블록체인 노드라고 부릅니다.) 블록이 생성될 때마다 지연된 거래들의 일부 혹은 전부가 포함되는 경우가 자주 발생한다. 모든 블록체인들은 악의적인 사용자들이 쓸모 없는 거래들로 가용 네트워크 용량 전체를 소모하는 것을 막기 위한 솔루션을 찾아야 한다. 이러한 쓸모 없는 거래들은 다른 중요한 거래들이 처리되는 것을 방해하여 스팀 네트워크를 붕괴시킬 수 있다.
대부분의 블록체인들이 현재 채택하고 있는 솔루션은 최소한의 거래 수수료를 부과하는 것이다. 몇 센트 수준의 수수료도 비싸고 비생산적인 네트워크로 만들기 충분하다. 이러한 접근 방식으로 스팸 문제는 해결하겠지만 새로운 문제를 야기한다. 이메일에 수수료를 부과하여 이메일 스팸 문제를 해결한다고 상상해보자; 아무도 이메일을 사용하지 않을 것이다.
소액 결제는 통하지 않는다
거래 수수료 부과의 가장 핵심적인 문제는 사소한 사용자의 액션에 소액 결제는 통하지 않는다는 점이다. 모든 거래들에 수수료가 부과될 경우, 분산 네트워크가 처리할 수 있는 거래 유형들을 제한한다. 수수료 필요성 논리의 정당성과 상관없이, 사용자들은 여전히 자신의 모든 행위에 대해 부과되는 수수료에 강한 거부감을 느낄 것이다.
우리가 매일 사용하는 웹사이트들이 비밀번호를 변경할 때마다 수수료를 부과한다고 가정해보자. 사용자들은 특정한 것들은 무료이기를 기대한다. 소액 수수료를 사용자들에게 강요하면 걷잡을 수 없는 탈퇴로 이어질 것이다.
거래 자체의 부가가치는 매우 낮아서 별도의 의사 결정이 요구되지 않아야 한다. 금액과 관계없이 구매 의사 결정은 신중함이 요구되는 프로세스이기 때문에, 관련 절차 혹은 소요 시간이 아니라 결정 프로세스 자체로부터 최종 결과가 도출된다.
다른 결제와 마찬가지로, 소액 결제도 비교 분석이 수반된다: “이 정도의 X 가치가 저 정도의 Y 가치에 맞먹는가?”. 사용자가 아무런 망설임 없이 수락할 수 있는 거래는 오직 무료 거래이기 때문에, 언제나 심리적인 최소 거래 비용이 존재하기 마련이다.
– Clay Shirky^8
^8 Clay Shirky, The Case Against Micropayments http://www.openp2p.com/pub/a/p2p/2000/12/19/micropayments.html
금융 결제 시장의 경우, 수수료보다 이미 구매하기로 결정한 거래의 가치가 훨씬 높기 때문에 소액 수수료에 대한 거부감이 적다. 블록체인 어플리케이션 시장의 경우, 금융 결제 시장과 달리 사용자들이 수수료에 대해 강한 거부감을 느끼는 거래들이 매우 많다.
BitShares, Nxt, Ripple, Counter Party, Stellar 등은 모두 사용자들이 블록체인 상에서 주문을 제한할 수 있도록 허용하고 있으며, 그러한 프로세스에 대해 소액 수수료를 부과하고 있다. 주문 취소에 대해서도 추가 수수료가 부과된다. 이더리움과 같은 시스템은 완전히 다른 방식으로써 모든 연산 작업마다 소액 결제 수수료를 부과한다. 이러한 시스템들은 사용자 유치에 어려움을 겪고 있으며, 이는 검색에 소액 수수료를 부과하는 분산 검색 엔진이 Google로부터 사용자들을 뺏어 오는데 어려움을 겪는 것과 매우 흡사하다. 서비스 품질과 상관없이 사람들은 특정한 것들은 무료이기를 기대한다. 이는 다른 수수료 체계 하에서 더 많은 수수료를 내는 경우에도 마찬가지다.
수수료는 진입 장벽으로 작용한다
수수료는 신규 사용자들에게 진입 장벽으로 작용한다. 이더리움을 경험하려면 먼저 ETH 토큰을 매입해야 한다. 이더리움 상에서 분산 어플리케이션을 구축하려면 그 비용을 그들의 고객들에게 전가해야 한다. 암호화폐를 매입하는 것은 간단한 일이 아니므로, $10 미만의 금액은 의미가 없다. 이는 새로운 분산 어플리케이션을 사용해보려는 신규 사용자들에게 10$가 필요하다는 걸 납득시켜야 함을 의미한다.
변동하는 수수료
시간이 지남에 따라 네트워크는 수수료를 조정해야한다. 이는 토큰 가치의 증가 또는 용량 급증으로 인해 발생할 수 있다. 사용자는 예측 가능한 수수료와 안정적인 서비스를 원한다. 이용 폭증 시간대에 맞춰 수수료를 조정할 수 있지만, 사용자 경험의 악화로 이어질 수 있다.
Sybil 공격
중앙 집중식 웹사이트들은 사용량 제한 및 몇몇 방식의 ID 인증을 통해 스팸을 차단한다. reCAPTCHA^9와 같은 단순한 방법으로도 허위 계정의 개설을 막을 수 있다. 누군가가 계정을 남용할 경우, 중앙 집중식 웹사이트들은 해당 계정을 차단하면 된다.
분산 시스템의 경우, 사용자들을 차단하거나 중앙 집중식 서비스 제공자가 reCAPTCHA를 통해 관련 계정들의 비율 제한 조치를 시행할 수 있는 직접적인 방법이 존재하지 않는다. 실제로, 사용자들을 차단할 수 없는 것이 블록체인 기술의 주요 장점 중 하나이다. (해설: 개인적으로 이 부분은 동의하기 어렵습니다. 스팀잇은 허위 계정 개설을 막기 위해 가입시 이메일, 핸드폰으로 확인을 하고 있습니다. 또, 규정과 약관에 따라 사용자를 mute 하면 된다고 봅니다. 이 부분은 백서에서 없애야 할 내용 같습니다.)
^9 reCAPTCHA, Easy on Humans, Hard on Bots https://www.google.com/recaptcha/intro/index.html
완전예비 vs 부분예비
블록체인을, 어떤 마을 회선을 독점하고 언제라도 제공 가능한 최대 대역폭을 보유하고 있는 인터넷 서비스 제공자(Internet Service Provider; ISP) 협동조합으로 투영해보자. 그 마을의 거주자들은 ISP 지분을 매입할 수 있고, 그 대가로 대역폭의 일부를 이용할 수 있다.
ISP가 선택 가능한 옵션은 “완전예비” 혹은 “부분예비” 시스템을 운영하는 것이다. 완전예비 시스템의 경우, 사용자 별로 지분에 비례하여 최대 대역폭의 일부만 허용된다. 동시에 모든 사람이 인터넷을 사용하지는 않기 때문에 마을의 네트워크는 충분히 활용되지 못한다.
부분예비 시스템에서는 개별 사용자는 모든 사람이 동시에 인터넷을 사용하지 않는 한 특정 시점에 부여되는 것보다 더 많은 대역폭을 사용할 수 있다. 부분예비를 운영하는 문제는 너무 많은 사용자들이 동시에 네트워크를 이용하고자 할 때 혼잡이 발생한다는 것이다. ISP는 혼잡한 기간 동안 대역폭 이용에 우선 순위를 부여할 수 있는 방법을 강구해야 한다. 극단적인 경우, 완전히 혼잡한 네트워크를 완전예비 시스템으로 전환해야 한다. 이 때, 도전 과제는 적절한 부분예비율을 설정하는 것이다.
대역폭 - 소액결제 창구의 대안
소액 결제와 관련된 문제를 해결하기 위한 솔루션은 동적인 부분예비 시스템의 구현이다. 이 모델에서는 블록체인은 네트워크 혼잡 시 자동으로 예비율을 조정한다. 블록체인은 단기 수요 급증에 대응할 수 있는 목표 가동률을 설정할 것이다. 수요 급증이 지속될 때마다, 블록체인은 지분당 대역폭의 최대값을 낮춘다. 급증 상황이 끝나고 용량이 남게 되면, 블록체인은 지분당 대역폭을 서서히 올릴 수 있다.
개인 사용자가 이용하는 대역폭은 이용량을 시간에 따라 조정할 수 있도록 적절히 긴 기간에 걸쳐 측정되어야 한다. 사용자들은 로그인 후 한번에 많은 것들을 하고 로그아웃 하려는 경향이 있다. 이는 단기적인 이용 대역폭이 장기적인 이용 대역폭에 비해 매우 높게 나타남을 의미한다. 측정 기간이 너무 길 경우 단기 수요 급증에 맞게 예비율이 신속히 조정되지 않게 되고, 너무 짧을 경우 한번에 많은 일을 하는 행동 패턴이 일반적인 사용자들에게 너무 큰 영향을 미치게 된다.
우리의 추정에 따르면, 주간 대역폭 사용량의 평균을 측정하는 것만으로 충분할 것으로 본다. 사용자가 거래를 체결할 때마다, 그 거래가 개별 이동평균 값에 반영된다. 언제든지 사용자의 이동평균 값이 현재 네트워크 허용치를 초과할 경우, 허용치를 밑돌 때까지 해당 사용자의 거래가 지연된다.
용량의 영향
블록체인의 용량은 반드시 제한되지 않는다. 비트코인 블록 크기를 10MB로 늘리는 것은 인터넷 인프라의 기술적 능력 내에 있고, 그에 따라 최소한으로 요구되는 균형을 1/10로 줄일 것이다. 비트코인은 현재 초당 약 3개의 거래를 지원하지만 대체 구현은 초당 1000개를 넘을 수 있다. (해설: 스팀 블록체인이 바로 그 대체 구현입니다.)
수수료
$25 가치의 BTC를 보유 중인 사용자가 주 1회 거래하고 매 거래마다 4센트의 수수료를 지급할 경우, 연간 수수료는 $2.00을 초과한다. 수수료를 포함한 $25 투자에 대해 손익 분기를 넘으려면 최소 8%의 투자 수익률이 필요하다. 사용자들이 블록체인 상에 돈을 보유할 확률이 높기 때문에, $25 가치의 BTC를 보유 중인 사용자는 수수료 기반 접근법 대신에 비율 제한 접근법(해설: 위에서 언급한 대역폭 제한 접근법을 의미합니다.)을 통해 연간 $2 정도를 절약하는 셈이 된다.
계정 생성
잔고가 공개되는 스팀의 계정 기반 시스템은 대역폭 기반의 비율 제한 알고리즘 구현을 단순화한다. 주 1회 거래에 필요한 최소 잔고 미만의 계정은 거래가 불가능하다. 즉, 모든 신규 계정들의 잔고는 최소 잔고 이상이어야 한다.
사용량이 낮을 때 개설된 잔고가 낮은 계정의 경우, 네트워크 사용량이 증가하면 접근이 불가능할 수 있다. 잔고를 보충하면 언제라도 복구가 가능하다.
정지된 계정 수가 최소인 상태에서 합당한 사용자 경험을 유지하려면 모든 새로운 계정은 주 1회 거래에 필요한 최소 잔고의 10배 만큼의 잔고로 시작해야 한다. 이러한 방식으로 수요가 10배 증가하더라도 계정의 유효성을 유지할 수 있다.
Sybil 공격에 대한 대비로 최초의 계정 잔고는 그걸 개설한 사용자로부터 들어와야 한다.
최소 잔고 정당화하기
최소 잔고 유지 요건은 사용자 가치를 기준으로 결정된다.^10 사업을 하는 사람이라면 사용자 한 명 한 명이 매우 중요한 가치를 지니고 있다는 것을 알고 있다. 보통 기업들은 사용자 1명을 유치하는 데 $30 ~ $200 정도를 투자한다. 때때로 사용자들에게 직접 돈을 주기도 하며, 광고비를 지출하기도 하고, 심지어 어떤 기업의 사용자 기반을 확보하기 위해 그 기업을 인수하기도 한다. 사용자들을 확보하고 나면, 기업들은 고객 유지를 통해 미래 수익 창출을 위해 다양한 무료 서비스들을 제공한다.
^10 Forbes, Tristan Louis, “How Much is a User Worth?” http://www.forbes.com/sites/tristanlouis/2013/08/31/how-much-is-a-us
Ripple은 계정 별 사용량에 따라 조정되는 최소 잔고^11를 사용하며, 신규 계정들을 최소 잔고 이상을 채워야 한다. 현재, Ripple의 최소 잔고는 $0.15로, 앞에서 언급된 주 1회 거래에 요구되는 $0.10보다 높다.
^11 Ripple, Account Reserves https://ripple.com/build/reserves/
블록체인은 최소 잔고를 요구하는 간단한 프로세스를 통해 사용자 별 최소한의 가치를 강제할 수 있다. 신규 고객을 유치하기 위해 거래가 가능한 만큼의 최소 잔고를 고객 계정에 미리 채울 수도 있다. 신규 가입 시 상대적으로 높은 수수료($1.00)을 부과한다면 당연히 무료 계정을 제공하는 사람이 블록 체인에 등록하기 전에 각 계정의 질과 고유성을 심사해야 한다.
최소 잔고를 유지하는 것은 사용자가 잔고에서 얻을 수 있는 이자로 거래 수수료를 지불하는 것과 사실상 동일한다. 최소 잔고는 비교적 짧은 기간 내에 수수료를 지불하기에 충분한 이자를 얻는 데 필요한 잔고다.
다행히도, 필수 최소 잔고는 1 달러 수준으로 사용자들이 받아들일 수 있는 금액이다. 놓친 이자에 대한 기회 비용은 소액 수수료의 인지적 비용을 발생시키지 않으며, 사용자들이 훨씬 더 수용 가능하다. (해설: 이자를 얻지 못한 것보다 수수료 내는게 더 기분 나쁠 거라고 판단하는 내용입니다. 수수료는 원금이 깍이는 일이니까요.)
신규 계정의 잔고를 채울 때 사용되는 STEEM은 Steem Power로 액면 병합된다. 새 계정의 SP 잔고의 일부는 계정 생성자로부터 임대받을 수 있다. SP를 임대받은 사용자는 그들이 보유한 SP와 동일하게 투표 및 대역폭에 사용할 수 있다. 임대받은 SP의 소유권은 임대인에게 귀속된다. 사용자는 언제든지 임대를 끝낼 수 있다. 쿨다운 기간이 지나면 SP는 임대인 계정으로 반환된다.
수수료 대비 유효성
사용량 제한의 유효성을 수수료와 비교하려면, 두 시스템들이 어떻게 국제적인 네트워크 공격에 대응하는지 고려해야 한다. 비트코인의 경우, $10,000를 보유한 공격자는 모든 개별 블록들을 채우며 하루 종일 서비스를 방해할 수 있다. 동적인 부분예비 사용량 제한 방식의 경우, 동일한 공격자가 개별 블록 1개조차도 방해할 수 없을 것이다.
공격자가 전체 코인의 1%를 보유한다는 극단적인 가정 하에서, 공격자가 6천만 달러를 보유했다고 하자. 채굴자들이 수수료 혹은 용량을 인상하지 않는 한, 공격자는 비트코인 블록체인 서비스를 16년 동안 공격할 수 있다. 수수료가 거래 당 $15까지 인상된다고 할지라도, 여전히 16일 동안 네트워크를 공격할 수 있다.
사용량 제한 방식의 경우, 전체 코인의 1%를 보유한 사람이 30초 미만 동안 네트워크를 공격할 수 있다.
(해설: 여기서 말하는 네트워크 공격은 서비스 거부 공격, 도스 또는 디도스를 의미합니다.)
대여 vs 구매 vs 공동 사용(Time Sharing)
주택 소유자라면 누구나 소유 주택을 무료로 사용할 것을 기대한다. 공동으로 주택을 매입할 경우, 각각의 소유주는 본인 지분에 비례해서 해당 주택을 이용할 것으로 기대한다. 수수료 기반 블록체인은 소유자들로부터 주택을 임대하는 것과 유사하며, 사용량 제한 방식은 소유주 간의 공동 사용과 같다.
주택이 여러 사람에 의해 소유되는 경우, 그들은 집을 공동 사용하는 방법을 결정해야 한다. 지분이 50%에 달하지만 1년에 주말 1회 사용하는 사람은 본인 대신에 사용하는 사람들로부터 돈을 받을 것을 기대할 수 있다. 이것이 수수료 기반 시스템의 사고 방식이다.
다른 한편으로, 집의 50%를 소유한 누군가는 집에 대한 수요가 앞으로 증가할 것으로 추측하고 더 비싸게 지분을 팔 수 있을 것이라고 기대할 것이다. 그들이 사용하는 것을 초과하는 만큼의 지분을 보유하고 있는 소유주는 부동산 투기자가 된다. 즉, 임대료가 목적이 아니라 부동산의 가치 상승을 노리는 것이다.
지분의 가치는 해당 소유주가 잠재적으로 얼마 만큼의 시간을 부여받는지에 의해 좌우된다. 주택 지분 1% 대비 1년에 주말 1회 사용이 가장 낮은 지분 가치다. 그러나 주주 중 절반이 주말에 이용하지 않는 경우, 공동 사용 당 가치는 연간 주말 2회로 상승한다. 이러한 유휴 사용자들이 미사용 시간을 임대하기로 결정할 경우, 공동사용 당 가치는 다시 연간 주말 1회로 하락한다. 사용하지 않은 공동사용 기회가 다른 사람들에게 매도된 경우, 공동 사용 가치는 50% 하락한다. 임대료가 지분 가치의 하락분보다 크지 않는 한, 공동 소유주들은 경제적인 계산 착오를 한 것이다.
위에 언급된 이유를 근거로, 수수료 기반 시스템은 사용자 관점에서는 비용이 많이 들거나 공동 소유주 관점에서는 수익이 적을 것으로 추측할 수 있다. 개인 소액 소유주가 자신의 작은 시간을 임대함으로써 이익을 얻을 수 있으나, 다른 모든 공동 소유주들을 희생시켜서 얻는 것이다. 결과적으로, 공동 소유 가치의 하락에 따른 비용은 모든 소유자들이 공동으로 분담하는 반면, 이익은 임대를 결정한 소유주 1명이 독차지한다.
따라서 블록체인은 수수료가 전혀 없어야 가장 효율적으로 운영된다는 결론을 내릴 수 있다. 사용량 제한의 대안으로 수수료를 부과할 경우, 그것은 충분한 양의 공동소유권을 구입해서 한번 사용할 권리를 얻으려고 오래 유지하는 것과 동등하다.
다시 말해, 거래 수수료는 주 1회 거래에 요구되는 최소 계정 잔고와 동일해야 하며, 주말에 환불되어야 한다. 최소 계정 잔고가 $1이고 주 1회 거래를 할 수 있다고 가정해보자. $1 잔고를 보유 중인 사람이 한번에 5건의 거래들을 실행하려고 할 경우, 거래 전후에 일주일 동안 잔고를 $5까지 올려야 할 것이다.
이론적으로, 사용자들이 필요한 지분을 매입할 수 있는 시장이 형성될 수 있다. 현실적으로는, 사용자가 원하는 사용률을 충족시키는 데 필요한 공동 사용권을 매매하는 게 훨씬 효율적이다. 다시 말해서, 소액 대출의 협상과 관련된 비용이 최대 주간 사용량에 적합한 잔고를 유지하는 비용보다 크다.
분산 방식의 사용률 제한 방식은 소액 결제로 인해 실현이 불가능했던 새로운 유형의 분산 어플리케이션들을 가능하게 할 수 있다. 이러한 신규 모델은 어플리케이션 개발자들에게 거래 대금을 청구 여부와 시점을 결정할 수 있는 선택권을 준다.
헐?! 번역해주신 초록 보고 그 다음 껀 언제 나오나...기다리고 있었는데 벌써 5부까지 나왔네요! 그동안 피드들 사이에 묻혔나 봅니다 ㅠ_ㅜ
앞서 2부 부터 천천히 읽어봐야겠습니다.
좋은 글 감사합니다 :)
풀보팅으로 업봇 하고 싶은데....보팅 파워가 미약한게 그저 아쉬울 따름입니다 ㅠ
ㅎㅎ 읽다가 표현이 애매하거나 이상한 부분 있으면 말씀해 주세요. 최종 목표는 github에 올리는 것입니다.