단일 샤드 탈취 공격은 악의적인 공격자가 네트워크의 전체 노드를 제어하고 트랜잭션 과정을 변경하려고 시도하는 상황입니다. 예를 들어, 100개의 샤드로 구성된 시스템에서는 전체 샤드를 지배하는 데 네트워크 해시율의 51%만 필요합니다.
이에 대한 변형은 2018년 6월 Bitcoin 확인하지 않은 약 4,500개의 더스트 거래로 Bitcoin 의 멤풀이 넘쳐났을 때 나타났습니다. 멤풀 크기가 최대 45MB까지 추가되어 거래 수수료가 증가했습니다. 따라서 이 공격을 연구하는 것이 필수적입니다.
단일 샤드 탈취 공격 구현
샤드로 나누어진 네트워크를 생각해 보세요. 검증인은 샤드를 채굴하고 거래를 검증하기 위해 일정량의 해시율이 필요합니다. 이를 샤드 내에서 발생하는 51% 공격과 비교할 수 있습니다. 이러한 상황에서 필요한 해시레이트의 양은 상당한 변수만큼 감소합니다.
이러한 단일 샤드에 총 해싱 파워를 사용하는 공격자는 이를 제어할 수 있습니다. 이를 통해 해커는 tron 해지고 획득한 단일 샤드를 통해 거래를 조작하기 시작할 수 있습니다.
공격자는 샤드를 악의적으로 만들기 위해 네트워크에 있는 대조자의 대부분을 장악하기만 하면 됩니다. 그러면 해커는 잘못된 데이터 정렬을 쉽게 제출할 수 있습니다. 공격자가 이러한 잘못된 요청을 제출할 수 있게 되면 해당 목적을 달성한 것입니다.
Jax.Network에는 이 문제에 대응할 수 있는 방법이 있습니다. 해시율과 병합 채굴을 다양하게 하여 이를 달성합니다.
Jax.Network가 단일 샤드 공격을 해결하는 방법
Jax.Network는 병합 채굴을 활용하여 단일 샤드 공격을 제거할 수 있습니다. 병합 채굴은 전체 채굴 알고리즘의 성능을 저하시키지 않고 두 개 이상의 암호화폐를 동시에 채굴하는 프로세스입니다. 여러 샤드를 채굴할 때 또 다른 샤드는 노드가 자신이 나타내는 트랜잭션을 유지하고 검증할 수 있다고 선언하는 경우에만 존재할 수 있습니다.
새로운 샤드를 추가하려면 네트워크가 과부하되어 새로운 공간이 필요하다는 채굴자들의 합의가 필요합니다. 이러한 상황에서는 새로운 샤드가 생성됩니다. 그래야 네트워크의 해시파워가 단일 채굴자에게 집중되지 않아 단일 샤드 탈취 공격을 막을 수 있다.
이러한 방식으로 작업하면 샤드가 공격 시도에 굴복하지 않도록 방지할 수 있는 특정 해시 비율이 항상 존재하도록 보장됩니다. 단일 샤드 탈취 공격으로부터 보호하는 동안 고려해야 할 두 가지 요소가 더 있습니다.
- 보안 예산:
이 공격을 수행하려면 공격자에게 상당한 인센티브가 필요합니다. 따라서 Jax.Network는 연간 보안 예산을 고려할 때 채굴자의 이익에 상당한 프리미엄을 부여합니다. 이는 정직한 노드가 거래를 채굴하고 검증할 때 해당 서비스에 대해 공정하게 보상을 받는다는 것을 의미하며, 유사하거나 더 큰 반대 제안을 제공해야 하기 때문에 공격 노드를 낙담시킵니다.
- 보안 요소:
보안 요소 = 보안 예산/자본화
보안을 중요하게 여긴다는 것은 보안 요소가 높을수록 더 많은 트랜잭션을 요구하는 대규모 네트워크에 대한 보안 예산이 커진다는 것을 의미합니다. 이러한 방식으로 작업하면 게이트웨이가 안전하게 유지되고 네트워크가 채굴자에게 너무 많은 보상을 제공하는 것을 방지할 수 있습니다.
결론
네트워크는 단일 샤드 공격에 대한 보안을 개발해야 합니다. Jax.Network는 단일 샤드 탈취 공격에 대해 유능하고 업데이트된 방어 기능을 제공합니다.
공급량에는 제한이 없지만 새로운 공급량은 수요가 들어올 때만 출시됩니다. 전기 및 하드웨어에 대한 상대적인 투자로 인해 재정적으로 실현 가능하지 않기 때문에 공격자는 해싱 성능을 네트워크에 집중할 기회를 얻지 못합니다. 보안 요소와 보안 예산도 모두 매우 높습니다.