Skip to content

Latest commit

 

History

History
47 lines (42 loc) · 5.94 KB

AttemptsToTamperWithAlreadyConfirmedAuthentication.md

File metadata and controls

47 lines (42 loc) · 5.94 KB

새로운 방식의 합의 알고리즘이긴 하나 이 알고리즘도 기본적으로는 블록체인입니다. 그래서 문서를 처음 작성했을 때는 기본적인 내용이면서 가장 중요한 내용들이 누락되어 있었습니다. 머릿속에서 모든 구상이 끝나고 나서 작성된 문서이기에 당연하다 여겨 적을 필요성을 깨닫지 못한 부분들입니다. 소유정보나 보상 관련한 내용들도 첫 작성이후 커뮤니티의 피드백을 통해서 채워졌습니다.

위변조 시도에 대한 부분도 설명이 되었어야 하는 부분이나 누락되었습니다. 메인 문서를 수정할 여력이 안 돼 당분간은 추가 내용들을 이슈에 모아두었다가 기회가 되면 한 번에 정리해야 될 것 같습니다.

작업증명과 마찬가지로 이 알고리즘도 이미 확정된 인증에 대한 위변조 시도가 가능합니다. 그러나 결론부터 예기하면 계산복잡도에 근거해 모든 기준값들이 정해질 것이므로 위변조는 불가능합니다.

문서에 설명된 내용에서는 후보블록들에 한해서 관련성을 산출하고 있습니다. 그러나 실제로는 인증을 발행하여 확정을 받은 블록들을 포함한 체인의 모든 블록들의 관련성이 산출될 수 있습니다. 인증을 발행하여 확정을 받은 블록의 관련성에는 산출하려는 시점에 자신을 뒤따르고 있는 모든 블록들이 관여됩니다. 인증이 계속해서 발행될수록 이전에 인증을 발행했던 블록들의 관련성은 점점 더 커지게 됩니다. 전체 체인에서 가장 첫 블록의 관련성 산출에는 체인의 전체 블록이 관여됩니다.

이미 인증을 발행한 블록일지라도 어느 시점에 해당 블록의 관련성보다 큰 관련성을 갖는 다른 인증 블록이 발견되는 상황을 가정할 수 있습니다. 이 블록을 공격자의 것이라고 할 때 자체 관련성만을 갖는 하나의 블록일수도 있고 다수의 하위블록들이 뒤따르는 하위 체인을 갖는 블록일 수도 있습니다. 그러나 하나의 블록만으로 공격하는 경우는 공격 대상 블록의 공개키에 대응하는 개인키를 알아내는 것만큼이나 어려운 공격에 해당합니다. 공격자의 인증블록에 다수의 하위블록이 뒤따를 때는 이미 인증이 발행된 구간에서 체인과 체인이 만나게 되는 상황이 됩니다. 현재 문서에 기술한 내용은 매우 빠른 처리량을 목표로 하고 있어 이 상황이 만들어 질 수도 있습니다. 리더블록의 임계값을 채우기 위해 체인에 새로운 블록들이 추가되는데 난이도 이외의 제약은 없습니다. 난이도는 인증이 발행되는 처리량을 떨어트리지 않으면서 네트워크에서의 소모적인 트랜잭션들을 발생시키지 않을 정도의 절충된 값으로 정해져야하고 이 또한 산출식이 필요합니다. 난이도는 해시퍼즐이 아닙니다. 그러므로 공격자는 대상 인증블록의 관련성보다 큰 관련성을 갖기 위해 매우 많은 하위블록들을 생성하여 자신을 뒤따르게 할 수 있습니다. 이때 공격자의 블록들은 난이도만 겨우 만족한 정도의 블록들일 것입니다. 문서에서 2^16의 관련성 인자를 사용하는 그래프의 경우 대략 2^25의 관련성을 갖기 위해 10000개의 블록이 필요했습니다. 2^25은 대략 3.9*(10^7)의 관련성입니다. 난이도만을 겨우 만족한 공격자의 경우에 같은 2^16의 관련성 인자를 사용하면서 동일하게 10000개의 블록이 뒤따른다고 할 때 2.3*(10^5)의 관련성을 갖습니다. 관련성이 더 낮아 공격이 성공할 수 없으므로 공격자는 더 많은 하위블록들을 추가해야 합니다. 실제 공격자가 3.9*(10^7)에 근접하는 관련성을 갖기 위해서는 대략 1708000개의 하위블록들이 뒤따라야 합니다. 공격자의 모든 블록이 동일하게 난이도만 만족하는 2^8의 자체관련성을 가질 때의 수입니다. 이는 매우 큰 수로 단일 노드에서 처리할 수 없는 양입니다. 의도한 것은 아니나 1708000개의 모든 하위블록들은 난이도도 만족해야 합니다. 아직 네트워크에서의 확산과 관련한 실제 구현 단계에 대한 설계는 진행되지 않았으나 네트워크에서도 감당할 수 없는 트래픽입니다. 이는 일치하는 비트수에 대해 지수 증가하여 구해지는 2^m의 자체관련성 산출식으로 인해서입니다. 복잡도 측면에서 보면 하나의 일치하는 비트를 더 찾는 것은 작업증명에서 더 추가되어야하는 해시파워의 경우와 같습니다.

지수분포에 대한 복잡도이론의 적용은 모든 소모적 공격을 불가능하게 합니다. 지금의 알고리즘만으로도 이미 확정된 인증에 대한 위변조는 발생할 수 없습니다. 그러나 네트워크 환경과 요구되는 성능 또는 요구되는 보안성 등에 따라 낮은 기준값들을 사용할 수 있습니다. IOT 환경과 같이 경우에 따라서는 최소 기준보다 더 내려갈 수도 있습니다. 아직 이에 대한 고려까지 충분히 진행되지는 않았으나 인증에 대한 위변조만을 위해서는 추가적인 장치로 관련성 효율비를 사용할 수 있습니다. 체인과 체인이 만나는 경우 관련성뿐만 아니라 사전에 약속된 최소 관련성 효율비를 만족하여야 경쟁에 참가할 수 있도록 기준을 둘 수 있습니다. 정당한 체인의 경우는 매우 긴 시간 동안의 합의를 거쳤으므로 최소 관련성 효율비를 크게 웃돌게 되나 공격자의 경우는 매우 낮은 비율값을 갖습니다. 난이도에 의해서도 이와 유사한 효과가 만들어지나 지수분포 비율이 적용되는 관련성 효율비와는 다르고 난이도는 문서에서 기술된 것 이상의 기능을 갖지 않습니다.