UASF니 UAHF니 BIP148이니 하는 얘기들이 많은데 헷갈리는 내용이라 정리를 좀 해보려합니다. 저도 완벽히 이해하는건 아니라서 틀린 내용이 있을 수 있으니 틀린 내용에 대해선 말씀해주시면 고치도록 하겠습니다. 또한 최대한 객관적으로 기술해보려 했으나 BIP148을 지지하는 입장에서 편파적인 서술이 있을 수 있음을 밝힙니다.
일단 현 상황을 파악하기 위해선 BIP가 무엇인가를 이해해야하는데요. Bitcoin Improvement Proposals의 약자로 '비트코인 개선방안제안' 정도가 되겠습니다. 제안된 BIP들은 https://github.com/bitcoin/bips 에서 확인하실 수 있습니다.
1. BIP9
비트코인 네트워크의 안정성을 유지함과 동시에 기능개선을 위한 소프트포크를 적용하기 위해서 BIP9 (https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki)에서는 블록의 버전에 특정 비트에 표시하여 충분한 동의가 있음을 확인한 후 적용하도록 되어있습니다.
제안된 기능을 위해 마이너들이 해당 비트를 1로 세팅함으로써 '그 기능을 사용할 준비가 되었고 적용에 동의한다'는 의사 표현을 하면, 이에 따라 BIP에 제안된 '시작시간'으로부터 '1년'동안 '2016 블록'(1블록 생성에 통상 10분 정도가 소요되므로 14일) 단위로 구성된 retarget period 동안 '95%' 이상의 블록이 동의를 하면 '락인 (locked_in)'되고, 그 후 '활성화 (active)' 됩니다.
2. BIP141
세그윗은 BIP141 (https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki)에 제안되어 있는데, 앞서 말씀드린 BIP9에 따라 진행되도록 되어있습니다. 그 기간은 2016년 11월 15일부터 2017년 11월 15일까지로, 이 기간중 2016 블록 기간동안 비트 1을 활성화한 블록의 수가 95%가 넘으면 락인 및 활성화되게 되어있습니다. 그 기간 중에 활성화되지 못하면 세그윗은 적용되지 않는 거죠.
그러나 세그윗이 적용되면 채굴자들의 수익이 감소하게 될 것이라며 세그윗 적용에 동의하지 않는 채굴자들이 많았습니다. 우지한은 ASICBOOST라는 기술 때문에 세그윗 적용을 거부하는 것이 아니냐는 의심도 받았구요. 채굴자측에서는 세그윗보다는 블록 크기 확대를 원하는 채굴자가 많았습니다. BIP9에 따르면 그러한 채굴자가 5% 이상만 되어도 세그윗을 활성화하지 못합니다. 그러다보니 세그윗 적용이 매우 늦어지게 되고, 이에 따라 세그윗을 활성화하지 못할 가능성이 대두되게 됩니다.
3. BIP148
BIP148 (https://github.com/bitcoin/bips/blob/master/bip-0148.mediawiki) 은 다소 급진적인 제안으로, BIP141의 세그윗 활성화를 위해서 '채굴자의 동의를 구해야 하는 BIP9 방식'을 따르지 않고 '유저들의 주도하에 특정 날짜 이후부터 BIP141에 동의하지 않는 블록을 거부'하는 내용을 담고 있습니다. 사용자가 BIP141에 동의하지 않는 블록을 거부하면 채굴자 입장에서는 본인이 채굴한 블록에 따른 보상을 획득하지 못하게 되므로 울며겨자먹기로 BIP141에 동의할 수 밖에 없고, 그에 따라 BIP141이 활성화될 수 있다는 것이죠. 민주적인 절차를 따르지 않는다는 비판도 존재하는데, 이에 대해 UASF측은 '채굴자의 동의를 필요로 하는 소프트포크는 사용자주도소프트포크UASF(User activated soft fork)가 아니라 채굴자주도소프트포크MASF(Minor activated soft fork)이므로, 대다수의 유저에게는 이득이지만 마이너에게 손해가 되는 개선 방안은 활성화될 수 없다'고 주장합니다.
4. UAHF
이에 따라 채굴자 연합에서는 '우리 의사가 존중받지 못하고 BIP148이 발효되면 우리는 따로 하드포크해서 코인을 분리하겠다'라는 뜻을 담은 UAHF (User activated hard fork)를 주장합니다. BIP148에 의해서도 체인이 분리될 가능성이 있는데 UAHF까지 체인분리를 주장하니 크게는 3개의 비트코인으로 분리될 수 있는 상황이 되었습니다. 폭락에는 여러가지 원인이 있겠지만 얼마전 있었던 비트코인 폭락의 원인 중 하나로 이러한 코인 분리 위험이 꼽혔죠. 그러나 제 개인적인 예상으로는 UASF과 UAHF가 동시에 일어난다고 하더라도 결국엔 블록채굴 보상은 줄고 사용자가 지불하는 수수료의 비중이 커지기 때문에 UASF 측이 승리하지 않았을까 합니다.
5. BIP91
BIP148에 따라 세그윗 적용 가능성이 높아지자 채굴자 측에서는 다른 제안을 하게 됩니다. '세그윗 받고 블록크기 2배 더'가 Segwit2x 입니다. '세그윗은 원하는대로 해줄게 대신 블록은 2배로 늘리자' 라는거죠. 이를 위해 Segwit2x에서는 BIP91 (https://github.com/bitcoin/bips/blob/master/bip-0091.mediawiki)을 사용합니다. BIP91은 BIP9는 아니지만 유사한 과정을 따르는데, 336 블록동안 비트 4를 표시한 블록의 수가 80% 이상일 경우 락인되고, 활성화후에는 비트1을 표시하지 않은 블록을 거부하게 됩니다. 얼마전 BIP91이 성공적으로 활성화되었죠.
BIP91 활성화로 인해 비트1을 표시한 블록만이 체인에 남게 되었고, 이에 따라 2016 블록 기간동안 비트1을 표시한 블록이 100%가 될 수 밖에 없으므로 곧 BIP141이 락인 및 활성화되어 세그윗이 구동되게 될 것입니다. BIP141이 락인되면 BIP148은 사실 무효화된거나 마찬가지가 됩니다. '채굴자의 의견과 상관없이 비트1이 표시되지 않은 블록은 거부할거야!!'가 BIP148이었는데 이미 모든 블록이 비트1을 표시하고 있으니까요. 저는 살짝 아쉬운 것이, 세그윗 적용의 공통된 목표를 갖고 있지만 BIP148은 실질적으로 주도권을 사용자측이 가져가게 되는 것이었는데 (물론 승리한다는 조건 아래), BIP91이 활성화됨에 따라 결국 아직 주도권을 채굴자들이 갖고 있음을 확인하게 된 것이 아닌가 하는 생각이 듭니다.
BIP91이 활성화되었고 BIP141이 활성화될 것이고 그에 따라 BIP148은 있으나마나한 상황이 되었습니다. UAHF는 BIP148에 따른 대비책으로 제안된 것이었고, BIP148이 발효될 일이 없으므로 UAHF도 취소될 것으로 개인적으로 예상했는데, 난데없이 한 거래소에서 'BIP148과는 상관없이 2017년 8월 1일 하드포크할 거고 이걸 BCC라고 이름지은 알트코인으로 상장할거야'라며 하드포크를 선언했습니다. 요새 얼리고 녹이고 하신다는 그 BCC가 이것입니다. BCC 하드포크의 정확한 의도는 알 수 없지만 세그윗이 적용되어 곧 사용할 수 없게될 ASICBOOST 채굴기를 지속적으로 판매하기 위한 것이 아닌가 의심중입니다. 얼마나 많은 해시파워가 BCC 쪽으로 이동할 것인지는 모르겠지만 이미 높아질대로 높아진 비트코인의 난이도를 고려하면 BCC가 살아남을 수 있을지는 개인적으로 조금 의문이네요.
BCC가 하드포크되어 나가고 스스로 알트코인임을 선언했으면 이제 꽃길만 남은 것이 아닌가 생각하실 수 있는데 사실 전 BCC 보다는 Segwit2x에 따라 10월 중에 계획된 블록크기 2배 증가 하드포크가 더 큰 위협이라고 생각합니다. BIP91에 따라 세그윗이 사실상 확정된 상황이지만 블록 사이즈 확대는 다시 한번 큰 논란을 불러올 것 같습니다. 좀 더 지켜보아야겠죠.
감사합니다~