(This is a translated version of Bitmain’s original blog post, which is in English)

정의

UASF: “사용자 가동 소프트 포크.” 개발자들은 노드 소프트웨어를 변경하는 필수 규칙세트를 추가합니다. 이는 “플래그 데이”의 발생 이후 기존의 유효한 블록들 중 특정 종류를 무효화시킵니다. 이 방법은 과반의 채굴량의 지원는 물론 체인분리의 가동도 필요로 하지 않습니다. 이 UASF 조치는 경제적 활동이 이루어지고 있는 블록체인에 대해 “51% 공격”을 하기 위해 만들어 졌으며 이 공격은 “와이프 아웃”이라고 불립니다.

UAHF: “사용자 가동 하드 포크.” 개발자들은 노드 소프트웨어를 변경하는 필수 규칙세트를 추가합니다. 이러한 변경은 “플래그 데이” 발생 이후 기존의 무효 블록들을 유효 블록으로 만들며 이를 수행하는 데 있어서 과반의 해시 파워를 필요로 하지 않습니다. 규칙세트가 변경되는 노드들은 그 해시 처리속도에 관계 없이 이 체인을 따르게 됩니다. 이 UAHF 조치는 서로 상이한 의견 또는 비전을 가지고 있는 서로 다른 커뮤니티 구성원들의 평화롭고 자발적인 새출발을 의미하며 UAHF 체인은 상대적으로 높은 해시 처리속도를 가지고 있음에도 불구하고 다른 블록체인들에 대한 공격을 의도하고 있지 않습니다.

BIP148 노드: BIP148 전원합의 규칙변경을 시행한 비트코인 노드.

BIP148 체인: BIP148 전원합의 규칙변경에 의거하여 유효한 블록체인. BIP148는 UASF의 일종입니다.

기존 체인: 오늘날 채용되어 있는 것과 동일한 합의를 채용한 블록 체인. (2017년 5월 26일)

와이프 아웃: UASF 체인이 가동되고 UASF 체인이 과반의 해시 처리속도를 획득하면 기존 체인을 따르는 노드들이 재편되면서 UASF 체인을 따르게 됩니다. 이 경우 상당한 수의 자금거래 기록이 사라지게 됩니다. 이것이 바로 UASF 노드들이 기존 체인을 따르고자 하는 노드들에게 부과하는 리스크입니다. 이와 대조적으로 UAHF는 다른 규칙세트를 따르는 노드들을 이와 같은 리스크를 이용해 위협하지 않습니다.

비트 1: SegWit 가동 시그널을 보내는 데 사용되는 블록 헤더 내의 BIP9 버전 비트.

정체 리스크: 채굴 지원이 없는 블록체인은 갑작스럽게 연장이 중지될 수 있습니다. 왜냐하면 채굴자가 얻게 되는 경제적 인센티브가 적기 때문입니다. UASF와 같은 소수 포크는 영구적 정체에 대한 상당한 정도의 리스크를 안고 있습니다.

 

배경

2017년 5월 24일 뉴욕에서 전체 해시 파워의 80% 이상 그리고 거래 소프트웨어 및 서비스의 80% 이상을 비롯한 비트코인 업계의 경제력 기준의 상당한 규모의 주도자들이 가까운 시일 내에 비트코인의 규모를 확대하기 위한 실질적인 절차에 관한 합의(“뉴욕 합의“)를 도출하였습니다. Bitcoin Core의 관계자들은 이 회의로의 참석에 대한 초대를 거절하였습니다. 이 합의는 비트코인을 진정으로 신뢰하고 있는 사람들과 모두가 단결하여 빠르고 협동적으로 비트코인의 규모를 확대하는 것에 대한 강한 금전적 이해를 가지고 있는 사업가들 또는 투자자들이 열심히 노력하여 이루어낸 업적입니다. Bitmain은 이 합의를 지지합니다. 저희는 이 합의를 지지하며 가능한 한 빠른 시일 내에 실현되기를 원합니다.

“뉴욕 합의”를 다루는 소프트웨어 프로젝트인 btc1이 현재 개발 중에 있으며 “SegWit2x”라고 불리는 전원합의 규칙변경안을 내놓게 될 예정입니다. SegWit2x를 위한 testnet5가 이미 가동 중입니다. 이 소프트웨어의 알파 버전은 6월 16일에 공개될 예정이며 모든 것이 현재 예정대로 진행 중입니다.

여기를 통해 github을 팔로우해 주세요:

https://github.com/btc1

여기를 통해 이에 대한 reddit 토론을 읽어 보세요:

https://www.reddit.com/r/btc/comments/6h1wpr/segwit2x_a_summary/

메일링 목록에 등록하여 구독해 주세요:

https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-ml

이 합의에도 불구하고 UASF (BIP148) 인위적 풀뿌리 운동이 소수의 익명의 개인들에 의해 통제되는 다수의 검열 하의 포럼들 상에서 상당히 긴 시간 동안 대중에게 노출되고 있습니다. “Bitcoin Core”라고 불리는 소프트웨어 프로젝트 내에서 일하고 있는 많은 소프트웨어 개발자들도 역시 이것을 지원하고 있습니다. BIP148은 비트코인 생태계에 대해 상당한 리스크를 내포하고 있습니다. 따라서 저희들은 이 위협으로부터 블록체인 상의 경제적 활동을 보호하기 위한 대비책을 준비하고 있습니다.

또한 “뉴욕 합의”도 역시 Bitcoin Core에서 활동하고 있는 소프트웨어 개발자 그룹에 의해 지속적이고 의도적으로 방해를 받고 있습니다.

우리들도 UASF 가동이 비트코인 네트워크에 가져올 혼란에 대해 대비해야 합니다. “뉴욕 합의”는 매우 보수적인 입장을 취하고 있으며 단순하면서도 인위적으로 증폭된 규모확대 이슈와 관련하여 비트코인 커뮤니티 내에 안정을 가져다 주는 것을 목적으로 하고 있습니다. “뉴욕 합의”가 그 원인에 관계없이 체인분리를 저지하지 못한다면 우리는 그에 대해 대비해야 합니다.

이 블로그 게시물은 UASF/BIP148에 대한 저희 UAHF 대비책을 공표하는 것을 목적으로 하고 있습니다.

 

우리에게 BIP148에 대한 대비책이 필요한 이유

BIP148에 따르면 체인 MTP가 2017년 8월 1일 화요일 12:00:00 AM GMT(에포크 시간 1501545600)의 이후가 될 때 BIP148 노드들은 UASF 포킹 시점부터 “비트 1″의 시그널을 보내지 않는 비트코인 블록들을 분리하기 시작할 것입니다. 이 전원합의 규칙변경은 BIP148 가동 이전의 기존 체인과 비교하여 규칙세트를 상대적으로 더 작게 만들게 됩니다. BIP148 노드들은 지원되는 해시 파워가 0이 아닌 이상 새로운 BIP148 체인을 따르게 됩니다. 지원되는 해시 처리속도가 0인 경우 BIP148 노드의 체인은 더 이상 연장될 수 없습니다.

BIP148 체인을 지원하는 해시 파워가 있을 경우 체인의 연장을 위해 이것이 과반의 해시 처리속도일 필요는 없습니다. 심지어 단 한 명이 수작업으로 해시를 푼다고 하더라도 BIP148 체인이 한 블록 더 연장되는 데 충분한 시간을 제공하게 됩니다. 기존의 해시 처리속도 분포에 따르면 일부 유명 채굴장 운영자들은 비록 그들의 총 해시 처리속도가 과반을 확보하기에는 충분하지 않다고 하더라도 채굴자들이 선택할 수 있도록 함으로써 UASF를 지원할 것이라고 하였습니다. 많은 수의 중요한 비트코인 프로토콜 개발자들을 고용하고 있는 한 회사의 CEO에 따르면 그의 회사는 현재 그들의 소규모 해시 처리속도 중 일부를 통제하고 있다고 합니다. 따라서 비트코인 네트워크는 높은 확률로 2017년 8월 1일에 분리될 수 있습니다.

BIP148는 거래소 및 기타 기업들에게 매우 위험한 존재입니다. BIP148는 배후에 상당한 규모의 경제적 지원을 받고 있다는 징후를 보이고 있지 않으며 이것이 블록체인으로서 가동될 경우 이 경제적 지원 역시 추측에 기반한 것일 가능성이 매우 높습니다. UASF 체인 배후의 채굴 활동은 사전고지 없이 중지될 수 있으며 이 BIP148 선동에 휘말리게 되는 투자자들은 자신들의 모든 투자금액을 잃게 될 수도 있습니다. 포킹 시점 이후 UASF 토큰을 지원하지 않는 거래소들은 이에 동반되는 정체 리스크를 고려해야 합니다.

BIP148 체인에는 재생방지 기능이 없습니다. 거래들은 양쪽의 체인 모두에서 전파되며 사용자는 양쪽 모두에서 확정되는 것을 막을 방법이 없습니다. 거래소들은 포킹 시점부터 얼마간은 입금 및 출금을 중지하고 자체적인 코인 분리 수단을 가동해야 합니다. 더 자세히 알고 싶으신 경우 이 게시물의 참고 란을 읽어 주시기 바랍니다:네트워크 업그레이드 시의 비트코인 포킹 리스크의 완화.”

UASF 체인은 기존 체인의 소멸에 대한 리스크를 시사하고 있습니다. 대비책이 없을 경우 UASF 포킹 시점 이후 기존 체인 상에서 발생하는 모든 경제적 활동은 소멸될 리스크를 가지게 됩니다. 이것은 전체 비트코인 생태계에 있어서 재앙적인 결과를 가져오게 됩니다. UASF는 2016년 2월 전세계 비트코인 커뮤니티들에 의해 이루어진 “홍콩 합의”에서 매우 중요한 조항인 블록 크기의 증가 없이 지금 즉시 SegWit를 가동하는 것에 대해 동의하지 않는 사용자들 및 기업들에 대한 공격입니다. 체인 재편 리스크는 BUIP055에서 Peter R.에 의해 분석된 것처럼 생각보다 훨씬 중대한 사안입니다.

재편 방지에 대한 근거

큰 블록체인 재편이작은 블록체인으로 되돌아갈 확률(P)은 다음과 같습니다.

P = (q/p)^2

여기서 “p”큰 블록체인을 채굴하는 해시 파워의 비율이며 “q”작은 블록체인에 머물러 있는 해시 파워의 비율입니다[2]. “큰 블록을 지원하는 해시 파워가 75%라고 할 때 재편의 확률은 11%입니다.

 

방지책

이 방지책은 사용자 “가동 하드 포크” 또는 UAHF를 위한 것입니다. 여기에서 기술적인 사양에 대해 알아보실 수 있습니다:

https://github.com/bitcoin-UAHF/spec/

가동시간은 조정가능합니다. UASF로부터 12시간 20분이 경과한 시점에 하드 포크를 실시합니다. 에포크 시간은 1501590000입니다.

포크 블록에 있어서는 “큰 규모여야 한다”라는 규칙이 있습니다. 포크 블록의 블록 크기는 1,000,000바이트보다 커야 합니다. 포크 블록은 해당 전원합의 규칙변경을 채용한 최초의 블록을 의미합니다.

크기가 8MB 미만인 블록도 허용되며 우리 측, 즉 채굴자들은 블록 크기를 2MB 미만으로 “소프트 리미트”를 겁니다.

“서명 활동”을 거래당 20,000회 이내로 제한하는 소프트 포크 규칙이 프로토콜에 추가될 것입니다.

포크 블록 이후 향후 저희에게 있어서 블록 크기는 하드코딩된 전원합의 규칙에 포함되지 않을 것입니다. 큰 블록들을 발생시키는 채굴자는 경제적 인센티브의 형태로 불이익을 받게 되지만 블록 크기를 제한하지는 않습니다.

거래소 및 지갑 개발자들이 이용가능한 재전송 공격 방지가 제공될 것입니다: 여기에서 스펙에 대해 알아보실 수 있습니다:

https://github.com/Bitcoin-UAHF/spec/blob/master/replay-protected-sighash.md

Bitmain은 UAHF에 기반한 대비책을 위해 자체적인 해시 처리속도 중 일부를 사용함은 물론 개발자 커뮤니티들과 협업해 나갈 것입니다. 저희는 채굴자들이 자발적으로 동참할 수 있는 옵션을 개발할 것입니다.

Bitmain은 BIP148 포킹 시점 이후 저희 자체적인 채굴 활동 운영과정에서 조성된 해시 처리속도의 일부를 사용해 최소 72시간 동안 해당 체인 상에서 채굴 활동을 할 것입니다.

Bitmain은 적절한 상황이 될 때까지 채굴된 블록을 즉시 공개된 네트워크에 풀지 않게 될 것입니다. 다시 말해서 Bitmain은 우선적으로 이 체인 상에서 비공개로 채굴을 할 것이라는 것을 의미합니다. 저희는 아래와 같은 상황이 오면 채굴된 블록을 공개된 네트워크에 풀고자 합니다 (아래 목록은 전체가 아닌 일부):

  1. BIP148 체인이 가동되고 그 결과 채굴 업계로부터 상당한 규모의 지지를 얻습니다. 예. BIP148이 이미 성공적으로 체인을 분리한 이후;
  2. “큰 블록” 하드 포크에 대한 시장의 분위기가 압도적임으로 인해 경제적 타당성이 저희로 하여금 채굴하도록 만드는 경우. 예를 들어 교환율이 “큰 블록” 비트코인에 유리한 경우;
  3. 이미 공개적으로 “큰 블록” 체인 상에서 채굴하는 상당한 수의 다른 채굴자들이 존재하며 저희가 해당 체인에 더해 추가로 채굴하는 것이 타당하다고 판단하는 경우. 이 경우, 대중의 UAHF 체인이 재편 리스크의 영향을 받지 않도록 저희는 해당 체인에 동참하는 것을 고려함은 물론 저희가 비공개로 채굴한 블록들을 포기할 것입니다.

Bitmain이 UAHF 체인 상에서 공개적으로 채굴을 시작하면 저희는 끈기를 가지고 지속적으로 채굴할 것이며 단기적 경제적 인센티브에 대해서는 무시할 것입니다. 저희는 블록 크기를 조정하는 옵션이 포함된 로드맵이 사용자들에게 더욱 이득을 줄 것이라고 믿고 있으며 따라서 장기적으로 더 높은 시장가격을 유도할 것으로 기대하고 있습니다. 경쟁이 심화된 암호화 화폐 시장에서는 경제적 네트워크가 더욱 빠르게 확장하고 이득을 얻을 수 있는 가능성은 더욱 높아질 것입니다.

저희는 일부 초창기 비트코인 사용자들이 믿었던 것처럼, 분산화는 200개국의 10억명 이상의 사람들이 비트코인을 저축화폐 및 결제망으로서 사용한다는 것을 의미하며, 비트코인은 수십만개의 비트코인 서비스, 거래자, 거래소, 소프트웨어로 구성된다고 믿고 있습니다. 저희는 분산화가 대부분의 개발도상국의 하루 소득을 상회하는 비트코인 거래당 요금은 차치하더라도, Raspberry Pi로 풀 노드를 돌릴 수 있도록 1MB 블록 크기로 제한하거나 또는 블록 크기의 제한에 대한 책임을 의미한다고 생각하지 않습니다. 저희는 비트코인이 거래당 100$에 달하는 요금을 청구하는 강력한 기관에 의존하지 않고도 사람들이 번영할 수 있는 대안을 제공해야 한다고 믿고 있습니다.

 

소프트웨어 개발

현재 최소 3개의 클라이언트 개발 팀들이 해당 스펙의 코드에 대하여 작업 중에 있습니다. 그들은 모두 조용히 이러한 선동으로부터 거리를 유지한 채로 일부 특정 회사들에게 비판적인 자세를 가지는 것만을 원할 뿐입니다. 준비가 되었다고 느낄 때 그들은 대중에게 모습을 드러낼 것입니다. 사용자들은 이 소프트웨어를 설치할 수 있으며 UAHF에 동참할 것인지 여부를 정할 수 있습니다.

이 소프트웨어는 7월 1일 이전에 준비가 될 것으로 기대하고 있으며 그때쯤에는 testnet 상에 공개가 되어 있을 것입니다.

 

미래의 로드맵

뉴욕 합의가 가동되는 경우

저희는 “뉴욕 합의”가 수월하게 전개되고 시행되기를 바랍니다. 이것이야말로 BIP148의 위협에 직면한 비트코인이 단합하여 규모를 확장시킬 수 있는 마지막 희망입니다. 저희는 가능한 한 빨리 이것을 채용하고 가동시킬 수 있도록 최선을 다할 것입니다.

BIP148가 가동되는 경우

이 경우 UAHF는 같은 날에 가동을 시작할 것입니다. UAHF 체인은 UASF로 인한 재편 리스크에 영향을 받는 경제적 거래들을 보호할 것입니다.

이후 저희는 SegWit와 관련된 특허 리스크가 없고 증인 데이터 부분의 임의 할인율이 제거되는 경우 UAHF 체인 상에서의 SegWit의 가동을 지원할 것입니다. 인위적인 속도를 위해 고안된 가중치 파라미터는 삭제되어야 할 경우가 생길 수 있습니다. 또한 소프트웨어 코드에 있어서 여러 종류의 블록들과 기타 파라미터들에 대해 가해질 다양한 방식의 제한들에 대하여 솔직하고 거침없는 자세를 가져야 합니다. 인위적 할인율이 존재하지 않는 SegWit은 기존의 거래 방식에 대해서 정당하게 취급함을 물론 SegWit 거래에 대해서도 부당하게 이득을 가져다 주지 않을 것입니다. 또한 할인율이 존재하는 경우와 비교하여 상대적으로 SegWit의 수용능력 증대 효과에 더욱 현저한 도움을 줄 것입니다. 저희는 또한 Lightning Network가 현재 Core의 SegWit보다 더욱 안전하고 안정적으로 운영될 수 있도록 만들어 주는 코드, 주요 블록, 연장 블록 등에서의 변화를 권장하고 지원할 것입니다.

연장 블록은 복수의 프로토콜 개발 팀들이 비트코인 프로토콜에 혁신과 기능을 더할 수 있도록 동기를 부여해주는 프레임워크로서 개발될 것입니다. 일부의 중요하지만 다소 공격적인 혁신들은 전세계의 전체 비트코인 사용자 또는 기업들에게 영향을 주지 않고 도입될 수 있습니다. 이로써 비트코인의 혁신은 더욱 가속화되게 될 것입니다. 또한 기술 담당 커뮤니티에 의해 관련 보안 이슈들이 검토가 마무리된 후에는 사이드체인이 권장될 것입니다. 채굴자들은 비트코인이 성공할 것이라는 희망을 바탕으로 의욕적으로 활동하게 될 것입니다.

저희는 다양한 다중레이어 솔루션들이 만들어지는 과정을 지원하고 보조할 것입니다. RootStock의 초창기 투자자로서 저희는 또 하나의 중요한 경쟁 암호화 화폐의 잠재력을 발견하였습니다. 저희는 이미 다른 다중레이어 솔루션들의 제작자들과 긴밀하게 협력하고 있습니다.

풀 노드를 통한 새로운 SPV 보안 서비스는 보다 널리 활용되어야 할 필요가 있으며 해당 SPV 모델에 맞는 심화 연구 및 라이브러리도 역시 지갑 개발자들 사이에 보다 널리 활용될 필요가 있습니다.

비트코인이 Emin의 Bitcoin NG와 Sergio의 Lumino를 통합할 수 있다면 현재 비트코인 네트워크의 100배까지의 처리량 증가는 약 100KB 블록 크기와 동시에 보다 높은 블록 생성 빈도를 통해 더욱 쉽게 달성할 수 있을 것입니다. 본래의 Bitcoin NG는 하드 포크 조치 기반이었지만 연장 블록 프레임워크를 통해 저희가 그것을 소프트-포크화하여 프로토콜에 편입시킬 수 있습니다. 이와 더불어 Lumino의 발명가에 의해 공동설립된 RootStock도 역시 RootStock 상에서 Lumino를 가동하려고 합니다. Lumino는 Lightning Network와 더불어 완벽하게 기능할 것입니다. 어느 쪽의 방식이 먼저 그리고 어떤 형태로 Lumino를 만들어 낼 것인가는 매우 흥미로운 관전 포인트가 될 것입니다.

“슈노르 서명”도 역시 마지막 단계의 검토를 거치는 중입니다.

클라이언트 개발의 다양화는 보다 널리 활용될 필요가 있습니다. “방어적 전원합의”의 개념은 현재 개발단계에 있으며 채굴 업계에 도움이 될 것입니다. “방어적 전원합의”는 복수의 방식들이 협업하는 동시에 비트코인 네트워크가 안전하게 기능하도록 도울 것입니다.

비트코인 커뮤니티 내에는 여러 가지 다양한 이유로 널리 활용되지 못한 기타 훌륭한 혁신들이 존재하며 앞으로도 이 점에 관해서는 크게 다르지 않을 것입니다. 저희는 이러한 혁신들을 바탕으로 능동적으로 작업해 나가려고 노력할 것입니다.

BUIP056는 완전히 자동화된 수학적 블록 크기 관리 모델이 널리 채용되기 전까지 블록 크기 문제를 관리하기 위해 개발될 것입니다. 지난 수년간의 토론에서 입증되었듯이 채굴자들은 매우 보수적이며 보다 넓은 경제적 커뮤니티와 함께할 의향을 가지고 있습니다. 앞으로 수년간 블록 크기 증가에 대한 간략한 로드맵은 아래와 같습니다.

 

시간 블록 크기, 바이트
현재 1,000,000
2017년 8월 2,000,000
2017년 9월 4,194,304
2018년 4월 5,931,641
2018년 8월 8,388,608
2019년 4월 11,863,283
2019년 8월 16,777,216
2019년 8월 이후 심화 연구의 결과에 따름

블록 크기가 8MB에 도달하기 전에 “약한 블록”이 개발되고 채용되어야 할 것입니다.

 

참고

이 생태계 내의 다른 이해당사자들에게는 UASF의 효과에 대한 상세한 연구결과를 추천합니다. 모든 비트코인 기업들은 UASF가 가져올 리스크를 완화하거나 또는 제거할 수 있도록 반드시 그 날에 대비하고 있어야 합니다.

네트워크 업그레이드 시의 비트코인 포킹 리스크의 완화,” https://github.com/digitsu/splitting-bitcoin

소수 포크들에 대해서 더욱 자세히 알고 싶으신 경우 Meni Rosenfeld의 프레젠테이션을 봐주시기 바랍니다:

내가 걱정을 그만두고 포크를 좋아하게 된 이유.” https://fieryspinningsword.com/2015/08/25/how-i-learned-to-stop-worrying-and-love-the-fork/

길 위의 포크: 우리는 하나의 길을 선택해야 하는가?”  https://www.youtube.com/watch?v=kkJHOpuvQo0&feature=youtu.be

당신이 채굴자가 아니시더라도 비트코인의 규모확대의 역사와 이를 주제로 이루어진 훌륭한 토론에 대해 이해하는 데 도움이 되는 편지입니다:

채굴자들에게 보내는 공개 편지

https://www.reddit.com/r/btc/comments/6befxw/an_open_letter_to_bitcoin_miners_jonald_fyookball/

BIP148 포크 상에서 어떠한 일들이 일어날 것인지를 이해하는 데 도움이 되는 또 다른 블로그입니다:

https://medium.com/@jimmysong/uasf-bip148-scenarios-and-game-theory-9530336d953e

 

(This is a translated version of Bitmain’s original blog post, which is in English)

---------------------
Liked this article? Share it with others:

Facebooktwittergoogle_plusredditpinterestlinkedin
Follow Us for Latest News & Articles:

Facebooktwittergoogle_pluslinkedin