블록체인 포크로 인한 보안 문제에 대한 간략한 분석

이 글은 약 2767자,전문을 읽는 데 약 4분이 걸린다
커뮤니티 사용자에게 혼란을 주지만 포크는 사회에 더 나은 서비스를 제공하기 위한 시스템 개발을 촉진하기도 합니다.

원작자: 요한

블록체인 포크는 소프트 포크와 하드 포크로 나뉩니다.이 기사는 이전 버전과의 호환성을 지원하지 않는 소프트웨어 업그레이드 방법인 하드 포크에 중점을 둡니다.하드 포크는 합의의 분할 또는 변경 합의는 데이터 일관성을 달성하기 위해 블록체인 시스템의 각 노드에 대한 알고리즘입니다 정상적인 상황에서 각 노드는 동일한 규칙으로 알고리즘을 실행해야 합니다 예를 들어 비트코인은 PoW를 기반으로 실행됩니다 (워크로드 프루프) 컨센서스, 이더리움은 예전에 PoW 컨센서스였으나 최근 The Merge를 통해 PoS 컨센서스 알고리즘으로 전환되었습니다.

블록체인에서 매우 흔한 현상인 분기에는 여러 가지 이유가 있는데, 보통 합의 알고리즘과 관련된 근거리 분기로 경쟁하는 블록이 같은 높이에 나타나기도 하지만 결국에는 블록이 있을 것이다. 폐기되고 하나의 블록만 유지됩니다. 그러나 하드 포크는 다릅니다. 이러한 종류의 포크는 계획적이고 목적이 있습니다. 일부 노드 클라이언트는 원래 네트워크와 다른 프로그램 버전을 배포했습니다. 생성된 블록은 포크된 체인에서만 확인할 수 있으며 원래 네트워크에서는 확인할 수 없습니다. 네트워크는 원래 네트워크의 블록을 수락하거나 수락하지 않습니다. 예를 들어 최근 인기 있는 EthereumPoW(ETHW) 포크가 있습니다.

블록체인 포크로 인한 보안 문제에 대한 간략한 분석

첫 번째 레벨 제목

네트워크 계층

분기된 체인은 원래 네트워크와 독립적인 블록체인이므로 먼저 네트워크 계층(P2P)에서 격리되어야 합니다.

1. 시드 노드

부트노드 또는 시드노드라고도 하는 시드 노드는 블록체인이 시작될 때 네트워크가 처음 연결을 시도하는 노드입니다. 분기 체인이 시작되면 먼저 시드 노드 목록의 노드에 연결하여 네트워크에서 다른 피어 노드를 추가로 발견한 다음 블록을 추가로 동기화하고 합의에 도달할 수 있습니다. 따라서 노드가 원래 네트워크에 연결되지 않도록 시드 노드 목록을 수정해야 합니다.

2. 외계인 공격

시드 노드 목록이 변경되더라도 포크된 네트워크가 원래 네트워크에 연결되지 않는다는 의미는 아닙니다. 양 당사자의 P2P 프로토콜이 동일하기 때문에 노드가 실수로 다른 네트워크의 노드 연결을 추가하면 다음과 같습니다. 두 노드는 핸드셰이크가 성공하고 상대방이 노드 주소 풀에 추가됩니다. 뿐만 아니라 양 당사자의 노드는 자체 노드의 주소를 서로 공유하여 양자 네트워크의 노드 풀을 상호 오염시킵니다. 이 문제와 관련하여 SlowMist는 이전에 별도로 공개한 바 있습니다.충돌하는 퍼블릭 체인! P2P 프로토콜의 외계인 공격 취약점

주소 풀의 상호 오염 문제를 해결하려면 통신 프로토콜에서 네트워크 식별을 수행해야 합니다. 초기 이더리움은 네트워크 분리를 지원하지 않았지만 이후 버전에서는 네트워크 구별의 표시로 프로토콜에 NetworkID가 추가되었습니다. 반면 ETHW 초기 버전에서는 NetworkID가 분기되지 않았으며 외계인 공격 취약점이 있을 수 있습니다.

첫 번째 레벨 제목

합의 계층

1. 트랜잭션 격리

일반적으로 블록체인과 상호 작용할 때 우리는 자체 개인 키로 트랜잭션에 서명해야 하며, 그런 다음 트랜잭션이 네트워크에 브로드캐스팅되고 채굴자 또는 블록 생산자가 블록으로 패키징합니다. 그러나 블록체인에 포크가 있는 경우 트랜잭션은 두 네트워크에 의해 서로 다른 블록으로 패키징될 수 있습니다. 예기치 않은 동작으로 인해 자산 손실이 발생합니다.

이 때 트랜잭션의 재생을 보호하는 것이 필요합니다 초기 이더리움 버전에는 그러한 보호 기능이 없었으며 이후 EIP155 이후에는 트랜잭션 구조에 ChainID가 추가되어 사용자가 서명한 트랜잭션이 현재 네트워크에서만 사용됩니다. 이더리움이 분기되면 ChainID도 재정의해야 합니다.물론 이것은 구성에서 ChainID를 수정하는 것만 큼 간단하지 않습니다. 분기된 체인이 이전 블록과 호환되어야 하므로 포크 높이 새로운 ChainID를 사용해야만 포크 체인의 정상적인 작동을 보장할 수 있습니다.

ChainID는 Bitcoin의 트랜잭션 구조에 존재하지 않는데 어떻게 재생 보호를 수행합니까? 비트코인은 UTXO라는 모델을 사용합니다.간단히 말해서 계정 대신 트랜잭션(UTXO)을 사용합니다.일반적으로 새로 시작된 네트워크에는 동일한 트랜잭션이 두 개 없으며 재생되는 장면이 없습니다.

그러나 하드 포크의 경우 2017년 BCH 포크와 이후 BSV 포크와 같은 트랜잭션 재생 문제가 여전히 남아 있을 것입니다. BCH의 트랜잭션 데이터 서명에 SIGHASH_FORKID(0x40)를 추가하면 BCH와 BTC의 트랜잭션이 더 이상 서로 호환되지 않아 재생 방지 목적을 달성할 수 있습니다.

2. 컴퓨팅 파워 조정

포크 이전에는 원래 체인이 전체 네트워크의 컴퓨팅 파워를 모두 차지하므로 PoW 합의 알고리즘에 따르면 블록 생성의 계산 난이도가 상대적으로 높습니다. 포크 이후 컴퓨팅 파워는 서로 다른 블록체인에 분배되며 포크된 체인은 일반적으로 합의 부족으로 인해 새로운 블록을 생성할 수 있는 충분한 컴퓨팅 파워를 얻을 수 없으며 블록의 성장이 정체됩니다. 이때 포크 후 초기 계산 난이도를 낮추고 포크 체인이 컴퓨팅 파워를 빠르게 조정할 수 있는 시간 창을 확보해야 합니다.

3. 51% 공격 방지

네트워크와 트랜잭션이 격리되고 블록체인이 분기되고 새 블록이 원활하게 생성되며 모든 것이 정상인 것 같습니다. 그러나 보안 문제는 여전히 미해결이며, 여전히 더 일반적이고 더 방어하기 어려운 공격인 51% 공격이 있습니다.

채굴은 이익을 추구하는 것입니다.포크 코인이 있으면 채굴 수입이 가장 많은 쪽의 채굴자들이 그 네트워크로 컴퓨팅 파워를 전환하지만 현실은 포크 코인은 종종 통화 가격이 낮기 때문에 결과적으로 전반적인 컴퓨팅 성능이 매우 낮습니다. . ETHW 포크를 예로 들면 원래 ETH 네트워크의 최대 컴퓨팅 성능이 900TH/s를 초과하는 반면 ETHW의 컴퓨팅 성능은 작성 당시 약 30TH/s에 불과하다는 것을 2miner에서 확인할 수 있습니다. 대량의 컴퓨팅 성능은 좋지 않습니다.ETHW에 대한 51% 공격은 언제든지 시작될 수 있습니다.

첫 번째 레벨 제목

애플리케이션 계층

가상 머신을 기반으로 한 스마트 계약과 같은 트랜잭션 기반 응용 프로그램을 응용 계층으로 분류합니다. 블록체인이 포크되면 블록체인에서 실행되는 애플리케이션에도 큰 영향을 미칩니다.

1. 서명 재생

서명 재생은 위에서 언급한 트랜잭션 재생과 동일합니다.Gnosis Safe와 같은 일부 계약은 계약에서 사용자의 서명을 확인합니다.각 체인에서 재생하여 자산 손실이 발생합니다.

2. 오라클의 실패

포크 후 블록체인의 대부분의 스마트 계약은 토큰 계약 및 AMM 계약과 같이 여전히 정상적으로 실행될 수 있습니다. 오라클 데이터의 가격, 체인에서 가격 피드 지원을 잃은 후에는 계속 작동할 수 없습니다.

3. 급격한 가격 변동

블록체인이 분기되고 응용 프로그램이 동시에 두 개의 체인에서 실행됩니다. 사용자는 어떤 체인을 사용해야 합니까? 어느 것이 정통입니까? 이 질문은 합의로 돌아옵니다.보통 어떤 블록체인에 정통 합의가 있으면 그 블록에 있는 자산은 원래 가치 합의를 유지하지만 다른 블록체인에 있는 자산은 순식간에 가치를 잃게 됩니다.

요약하다

요약하다

지금까지 네트워크 레이어, 컨센서스 레이어, 애플리케이션 레이어에서 블록체인 포크의 보안을 분석했고, 존재하는 기술적 위험을 확인할 수 있었습니다. 포크에 대해 매우 신중해야 합니다. 또한 많은 포크 뒤에는 기술 변화의 필요성뿐만 아니라 일부는 직접적인 상업적 이익을 가질 수 있습니다.예를 들어, 개시자는 포크에서 많은 수의 포크된 코인을 직접 얻습니다.이는 사용자가 정확하게 이해하고 불합리한 필요한 손실을 피하도록 요구합니다. .

블록체인은 탈중앙화 시스템이며 그 업그레이드는 개인이나 조직에 의존하지 않기 때문에 블록체인에서 포크는 피할 수 없습니다.

창작 글, 작자:慢雾科技。전재 / 콘텐츠 제휴 / 기사 요청 연락처 report@odaily.email;违규정 전재 법률은 반드시 추궁해야 한다.

ODAILY는 많은 독자들이 정확한 화폐 관념과 투자 이념을 수립하고 블록체인을 이성적으로 바라보며 위험 의식을 확실하게 제고해 달라고 당부했다.발견된 위법 범죄 단서에 대해서는 관련 부서에 적극적으로 고발하여 반영할 수 있다.

추천 독서
편집자의 선택