소프트 포크란 무엇인가요? 블록체인 업그레이드에 대한 설명

소프트 포크란 무엇인가요? 블록체인 업그레이드에 대한 설명

소프트 포크가 발생하면 블록체인 규칙이 느슨해지는 것이 아니라 오히려 엄격해집니다. 업그레이드를 건너뛴 기존 노드들은 어떻게 되든 새로운 블록을 계속 따라갑니다. 아무런 문제도 없고 체인 분할도 일어나지 않습니다. 세그윗(SegWit)이나 탭루트(Taproot) 같은 비트코인 업그레이드 관련해서 이 용어를 접했을 수도 있고, 하드 포크와 어떤 점이 다른지 궁금했을 수도 있습니다.

전문 용어는 건너뛰고 간단하게 설명하겠습니다. 암호화폐를 보유하거나, 노드를 운영하거나, 아니면 어떤 업그레이드는 혼란을 야기하는 반면 어떤 업그레이드는 아무런 문제 없이 진행되는 이유가 궁금하신가요? 대개 그 이유는 바로 이 한 가지 차이점에 있습니다.

블록체인에서 소프트 포크란 무엇인가요?

소프트 포크는 블록체인의 규칙을 완화하는 것이 아니라 오히려 엄격하게 만듭니다. 이전 규칙에서는 통과되었을 블록이 이제는 거부될 수도 있습니다. 하지만 새롭고 강화된 규칙을 따르는 블록은 어떨까요? 기존 소프트웨어는 여전히 해당 블록을 유효한 것으로 간주합니다.

바로 그 일방향 호환성이 핵심입니다. 기존 노드는 새로운 규칙을 자세히 이해하지 못하며, 솔직히 말해서 이해할 필요도 없습니다. 그저 유효해 보이는 블록만 인식하고 계속 작동할 뿐, 이전에는 통과했던 일부가 더 이상 통과하지 못한다는 사실을 전혀 인지하지 못합니다.

하드 포크는 이와 정반대의 상황을 만듭니다. 하드 포크는 기존 노드가 검증할 수 없는 방식으로 규칙을 완화하거나 완전히 새로 작성합니다. 규칙을 강화하느냐 완화하느냐, 이 단 하나의 차이가 업그레이드가 모든 사용자를 하나의 체인에 유지할지 아니면 네트워크를 둘로 분할할지를 결정합니다.

이해하기 쉽게 설명하자면, 규칙집이 완전히 새로 쓰여진 게 아니라 축소된 버전이라고 생각하면 됩니다. 포크 이전에는 특정 범위의 블록만 유효한 것으로 간주되었지만, 포크 이후에는 그 범위가 조금 줄어들었습니다. 이전에는 통과했던 블록들이 이제는 업그레이드된 노드에서 거부되기도 합니다. 하지만 핵심은 새로운 규칙에 따라 허용되는 모든 블록은 이전 규칙에서도 이미 유효한 블록이었다는 점입니다. 새로운 블록은 허용되지 않고, 기존 블록만 차단됩니다. 패치가 적용되지 않은 소프트웨어가 아무 일도 없었던 것처럼 계속 작동하는 이유가 바로 이것입니다.

소프트 포크는 실제로 어떻게 작동할까요?

작동 방식은 노드 동작과 규칙 유효성 검사에 달려 있습니다. 대략적인 과정은 다음과 같습니다.

  1. 개발자들은 일반적으로 제한 사항을 수정하거나 새로운 기능을 추가하기 위해 유효한 거래 또는 블록의 범위를 좁히는 변경 사항을 제안합니다.
  2. 커뮤니티와 노드 운영자는 비트코인 개선 제안(BIP)과 같은 공식적인 절차를 통해 제안을 검토, 테스트 및 토론합니다.
  3. 채굴자 또는 검증자는 자신들이 생성하는 블록에 내장된 메커니즘을 통해 새로운 규칙에 대한 지지를 표명하기 시작합니다.
  4. 신호가 활성화 임계값(일반적으로 최근 블록의 90~95% 정도)에 도달하면 업그레이드된 노드에서 새로운 규칙이 적용되기 시작합니다.
  5. 업그레이드되지 않은 노드는 기존 로직을 사용하여 블록을 계속 검증합니다. 새 규칙은 기존 규칙의 부분집합이므로 새 규칙을 만족하는 블록은 기존 규칙도 만족하므로 업그레이드되지 않은 노드는 문제없이 이를 허용합니다.
  6. 네트워크는 단일 체인으로 계속 작동하며, 업그레이드된 노드는 더 엄격한 규칙을 적용하고, 업그레이드되지 않은 노드는 기술적으로 규칙을 적용하지 않으면서도 조용히 그 혜택을 누립니다.

결과적으로 모든 참여자가 동시에 조치를 취할 필요 없이 실시간 업그레이드가 가능해집니다. 바로 이러한 이유로 소프트 포크는 대부분의 일상적인 블록체인 개선에 가장 적합한 도구입니다. 강조할 만한 점은 업그레이드되지 않은 노드가 새로운 규칙을 직접 적용하는 것이 아니라는 것입니다. 단지 네트워크에서 가장 강력한 해시 파워를 가진 노드가 모든 참여자에게 해당 규칙을 적용하고 있다는 사실에 편승할 뿐입니다. 이것이 바로 소프트 포크가 실제로 얼마나 빠르고 안전하게 정착하느냐에 채굴자들의 참여도가 매우 중요한 이유 중 하나입니다.

소프트 포크란 무엇인가요? 블록체인 업그레이드에 대한 설명

소프트 포크 vs. 하드 포크: 진짜 차이점은 무엇일까요?

소프트 포크와 하드 포크에 대한 질문은 끊임없이 제기되는데, 간단히 말해 호환성 방향의 차이입니다. 소프트 포크는 기존 소프트웨어가 여전히 수용할 수 있는 방식으로 규칙을 좁히는 것이고, 하드 포크는 기존 소프트웨어가 완전히 거부하는 방식으로 규칙을 변경하는 것입니다.

측면 소프트 포크 하드 포크
규칙 방향 더 엄격하고, 유효한 블록의 범위를 좁힙니다. 더 느슨해졌거나 근본적으로 바뀌었거나
하위 호환성이 있나요? 네, 기존 노드도 새로운 블록을 수락합니다. 아니요, 기존 노드는 새로운 블록을 거부합니다.
전면적인 업그레이드가 필요합니까? 아니요 네, 아니면 체인이 갈라지게 됩니다.
체인 분할 위험 낮은 합의가 만장일치가 아닐 경우 높은 수준
조정이 필요합니다 채굴자/검증자 신호 전체 네트워크 계약
세그윗, 탭루트 비트코인 캐시는 비트코인에서 분리되었습니다.

소프트 포크는 네트워크 구성원 전원의 즉각적인 동의가 필요하지 않기 때문에 비교적 혼란이 적은 방식입니다. 반면 하드 포크는 본질적으로 더 큰 혼란을 야기하는데, 제때 업그레이드하지 않은 사용자는 호환되지 않는 다른 블록체인을 사용하게 되기 때문입니다.

이것이 바로 하드 포크가 언론의 주목을 받는 반면 소프트 포크는 거의 주목받지 못하는 이유입니다. 하드 포크는 새로운 티커 심볼, 새로운 거래소 상장, 그리고 어떤 체인이 "진짜" 프로젝트를 대표하는지에 대한 공개적인 논쟁을 수반하는 경우가 많습니다. 반면 소프트 포크는 일반적으로 지갑 소프트웨어의 버전 번호만 변경될 뿐이며, 대부분의 사용자는 내부 규칙이 변경되었다는 사실조차 알아차리지 못합니다.

비트코인 및 그 외 분야에서 발생한 소프트 포크의 실제 사례

소프트 포크는 이론적인 개념이 아닙니다. 비트코인은 네트워크를 강제로 분할하지 않고도 기능을 추가하기 위해 소프트 포크를 여러 번 사용해 왔습니다.

  • SegWit(2017): Segregated Witness는 트랜잭션 데이터가 블록 크기에 포함되는 방식을 재구성하고, 트랜잭션 가변성이라는 버그를 수정했으며, 라이트닝 네트워크의 기반을 마련했습니다. 이는 비트코인 역사상 가장 많이 인용되는 소프트 포크 사례로 남아 있습니다.
  • Taproot(2021): Schnorr 서명을 도입하고 복잡한 거래에 대한 개인 정보 보호 및 효율성을 개선했으며, 업그레이드하지 않은 노드와의 호환성도 유지했습니다.
  • P2SH(2012): Pay-to-Script-Hash는 네트워크 분할을 강요하지 않고도 다중 서명 지갑과 스마트 계약과 유사한 스크립트를 온체인에 표현하는 방식을 간소화했습니다.
  • BIP66(2015): 디지털 서명에 대한 엄격한 DER 인코딩을 시행하여 유효성 검사 불일치를 야기할 수 있었던 기술적 허점을 해결했습니다.

이러한 코인들은 각각 특정한 의도적인 방식으로 비트코인의 규칙을 강화했으며, 커뮤니티를 두 개의 경쟁 코인으로 나누지 않고 출시되었습니다.

개발자들이 하드 포크보다 소프트 포크를 선택하는 이유

대부분의 비트코인 및 이더리움 핵심 개발자들은 기술적 선호도 때문만이 아니라, 선택권이 주어진다면 소프트 포크를 먼저 택합니다. 그 이유는 상당히 실용적입니다.

무엇보다 중요한 것은, 누구도 같은 날 업그레이드를 강요받지 않는다는 점입니다. 지갑, 거래소, 채굴 풀 모두 정해진 기한에 쫓기지 않고 각자의 일정에 맞춰 마이그레이션을 진행할 수 있습니다. 대규모 환경에서는 이러한 유연성이 매우 중요합니다. 수천 개의 독립적인 운영자가 동시에 업그레이드를 진행하도록 조율하는 것은 사실상 불가능하기 때문입니다.

다음으로 중요한 것은 통합입니다. 소프트 포크는 네트워크와 코인을 하나로 유지시켜 줍니다. 경쟁 토큰이 등장하지 않고, 거래소는 어떤 체인이 "진짜" 체인인지 선택할 필요가 없습니다. 커뮤니티는 정당성을 놓고 다투는 진영으로 분열되지 않습니다. 특히 결제 네트워크의 경우, 이러한 안정성은 매우 중요합니다.

되돌릴 수 있다는 점 또한 중요합니다. 기존 노드들은 새로운 규칙을 자체적으로 완전히 시행하지 않기 때문에, 잘못된 소프트 포크는 이미 두 번째 독립적인 거래 코인을 생성한 하드 포크를 되돌리는 것보다 훨씬 적은 혼란으로 되돌릴 수 있는 경우가 있습니다.

소프트 포크의 위험성과 한계

소프트 포크는 일반적으로 더 안전한 경로로 여겨지지만 위험이 전혀 없는 것은 아닙니다. 알아두면 유용한 몇 가지 실제적인 제한 사항이 있습니다.

  • 업그레이드되지 않은 노드는 여전히 이전 규칙에 따라 블록을 검증하므로 새 규칙에 따른 조건이 실제로 올바르게 적용되는지 독립적으로 확인할 수 없으며, 다수의 의견을 신뢰할 수밖에 없습니다.
  • 만약 상당수의 채굴자들이 업그레이드를 거부하고 기존 규칙에 따라서만 블록을 계속 생성한다면, 비록 기술적으로는 "소프트 포크"였더라도, 때로는 사실상의 분열로 이어지는 분쟁 상황이 발생할 수 있습니다.
  • 채굴자 신호에 크게 의존한다는 것은 소프트 포크 활성화가 채굴 풀 집중도의 영향을 받을 수 있음을 의미하며, 이는 실제로 프로세스가 얼마나 탈중앙화되어 있는지에 대한 의문을 제기합니다.
  • 일부 소프트 포크는 겉보기보다 안전하게 구현하기가 더 복잡합니다. 개발자는 새로운 규칙이 기존 규칙의 엄격한 부분집합인지 확인해야 하며, 이 부분에서 실수가 발생하면 예상치 못한 유효성 검사 오류가 발생할 수 있기 때문입니다.

이 모든 것이 소프트 포크를 위험하게 만드는 것은 아닙니다. 단지 "하위 호환성"이 "위험 없음"과 같은 의미는 아니며, 하드 스플릿이 고려되지 않더라도 조정이 여전히 중요하다는 것을 의미합니다.

소프트 포크란 무엇인가요? 블록체인 업그레이드에 대한 설명

블록체인에서 소프트 포크가 활성화되는 방법

새로운 코드만으로는 소프트 포크가 바로 적용되지 않습니다. 네트워크가 실제로 준비되었는지 누군가가 확인해야 하는데, 이는 조정 작업이 필요합니다.

비트코인은 이를 위해 몇 가지 방법을 사용해 왔습니다. BIP9 방식의 신호 전달은 가장 고전적인 방법입니다. 채굴자들은 자신이 채굴한 블록에 작은 표시를 남겨, 마치 손을 들어 "준비됐어"라고 알리는 것과 같습니다. 정해진 기간 내에 충분한 수의 최근 블록(보통 95% 정도)이 이 신호를 보내면 새로운 규칙이 확정됩니다. 그 후 강제 조치가 이루어집니다.

스피디 트라이얼(Speedy Trial)이나 다양한 형태의 사용자 주도 소프트 포크와 같은 새로운 활성화 방식이 등장한 이유는 채굴 풀의 대응이 느리거나 정치적인 이유로 소극적일 경우 순수 채굴자 신호만으로는 업그레이드가 지연될 수 있기 때문입니다. 이러한 대안적인 메커니즘은 노드 운영자와 더 넓은 커뮤니티가 업그레이드 여부를 채굴자에게만 맡기는 대신, 직접적인 영향력을 행사할 수 있도록 해줍니다.

2021년 탭루트(Taproot)의 활성화는 이러한 방법들이 어떻게 함께 작동할 수 있는지 잘 보여주는 사례입니다. 탭루트는 스피디 트라이얼(Speedy Trial)이라는 수정된 시그널링 프로세스를 사용했는데, 이는 채굴자들이 준비 상태를 알릴 수 있는 기간을 짧고 명확하게 설정한 것입니다. 또한, 모든 채굴자의 지원이 없더라도 커뮤니티가 업그레이드를 활성화할 수 있도록 하는 대체 경로도 마련되어 있었습니다. 실제로 시그널링이 순조롭게 진행되었기 때문에 이 대체 경로는 큰 의미가 없었지만, 이러한 방식의 존재는 비트코인의 초기, 순전히 채굴자 주도의 소프트 포크 이후 활성화 설계가 얼마나 발전했는지를 보여줍니다.

마지막으로

조용하고 점진적이며, 급격한 변화 없이 발전하는 것이 대부분의 블록체인 네트워크가 실제로 진화하는 방식입니다. 규칙을 완화하는 대신 강화하면 네트워크는 기능을 추가하고, 버그를 수정하고, 더욱 효율적으로 운영될 수 있으며, 업그레이드를 미뤄둔 사용자도 계속해서 사용할 수 있습니다. 암호화폐 인프라를 선택하는 기업 역시 같은 것을 원해야 합니다. 파괴적인 변화가 아닌 안정적이고 통합된 기반 위에 구축된 개선이 중요합니다. 플리시오(Plisio) 역시 이러한 방향을 지향합니다. 안정적이고 호환성이 뛰어나며, 하위 네트워크가 끊임없이 변화하는 와중에도 안정적으로 작동하도록 설계되었습니다.

질문이 있으십니까?

하위 호환성을 유지하는 업그레이드입니다. 유효한 트랜잭션 또는 블록으로 간주되는 기준이 강화되었지만, 업그레이드를 하지 않은 노드도 새 블록을 문제없이 인식합니다. 하나의 체인으로 유지되며, 분할되지 않습니다.

소프트 포크는 규칙을 좁히기 때문에 기존 소프트웨어는 이를 알아채지 못합니다. 하드 포크는 이전 형식의 블록을 완전히 거부하며, 모든 참여자가 함께 움직이지 않으면 두 개의 분리된 체인이 영구적으로 생성됩니다.

단연 세그윗(SegWit)이 최고입니다. 2017년 비트코인에 도입되어 거래 데이터 계산 방식을 바꾸고 거래 변조 문제를 해결했습니다. 분할도 필요 없었죠. 2021년에 나온 탭루트(Taproot)도 거의 같은 정도로 자주 언급됩니다.

일반적으로 그렇습니다. 강제적인 체인 분할은 없으며, 사람들은 준비가 되면 업그레이드합니다. 하지만 위험이 전혀 없다고는 할 수 없습니다. 마이닝 풀 집중도가 실제 활성화 방식에 여전히 영향을 미치기 때문입니다.

실제로 여러 가지가 있습니다. SegWit, Taproot, P2SH, BIP66 등이 있죠. 모두 실제로 존재하며, 경쟁 코인을 출시하지 않고 그대로 배포되었습니다.

보통은 그렇지 않습니다. 대부분의 포크는 단순한 유지보수 또는 예정된 기능 업데이트용입니다. 문제가 될 가능성이 높은 것은 해결되지 않은 논쟁에서 비롯된 복잡하고 논란이 많은 하드 포크입니다.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.