블록체인은 정보의 위·변조가 불가능한가요?
블록체인은 위변조나 정보의 유실이 없다고 하는데
어떤 원리로 이루어져 있는지 궁금합니다
블록체인 네트워크는 해당 블록체인을 움직이는 수 많은 노드들의 연결로 이루어집니다. 이러한 노드들이 블록체인 상의 거래들을 검증, 승인, 기록해 나가게 되고 이 과정에서 많은 연산 파워와 자원들이 필요합니다.
애초에 블록체인의 개념이 '분산원장기술'이라고 할 때, 특정 블록의 거래 내역이 해킹으로 위, 변조 되더라도 다른 많은 블록들의 거래 내역의 무결성이 유지됨으로써 유효하고 완전함을 보증할 수 있다는 것은 알고 있으실 것입니다.
비트코인의 예를 들어보겠습니다. 비트코인의 블록체인은 평균 10분마다 새로운 블록이 생성됩니다. 그리고 네트워크를 유지하는데 필요한 연산 파워를 100 퍼센트라고 할 때 산술적으로는 그것의 최소 51% 정도에 해당하는 연산 능력을 가지고 있어야 위, 변조된 데이터가 담긴 블록을 10분 안에 나머지 49%보다 더 빠르게 생성할 수 있고 그것을 49%보다 더 많은 51%에게 전달하고 기록할 수 있을 것입니다.
51% 공격이 이루어지면 49%의 실제 거래 내역이 동일하더라도 그것보다 더 많은 블록들이 위, 변조된 51%의 거래 내역을 기록하고 있으므로 결국 위, 변조된 내용이 진짜 거래로 인식되는 결과를 초래할 수 있습니다. 이렇게 되면 공격이 성공한 것이죠.
하지만, 비트코인의 경우 이용자도 많고 거래도 활발하며 현실적으로 비트코인 네트워크를 구성하는 모든 연산 파워의 51%를 해킹에 동원하는 것은 시간과 비용 측면에서 불가능에 가깝기 때문에 현재로서는 안전하다고 볼 수 있을 것입니다.
-----------------------------------------------------------------------------------------------
그런데, 이용자가 적고 트렌젝션이 활발하지 않은 블록체인의 경우, 데이터 위, 변조를 위한 연산 파워를 확보하여 51% 공격을 성공시키기가 쉬워집니다.
실제로 Verge나 비트코인 골드의 경우 이 51% 공격이 성공하여 경제적 피해를 입은 경우도 있습니다.
정리하자면 블록체인도 이론적으로는 해킹이 가능하지만, 널리 이용되는 소위 말해서 메이저 코인들의 블록체인을 해킹하는 것은 현실적으로는 불가능에 가깝다고 할 수 있겠습니다.
앞 분들께서 설명을 잘해주셨지만, 블록의 구조에 대해 정보가 부족하여 추가 합니다.
블록은 수정 함수가 없습니다.
때문에 인서트 시의 변조 밖에 방법이 없지요. 때문에 위변조는 불가능한 것이 첫 번쨰이구요..
그렇다면 인서트를 위해 네트워크에 뿌릴때 변조하지 않느냐!
라고 하는데, 51% 공격이 바로 여기에 쓰여집니다. 네트워크에 전세계로 퍼트렸을 때 각 노드(채굴기) 중 51%에 해당하는 노드를 해킹 한 뒤에 들어온 데이터를 쓰기 전에 변조 후에 집어 넣으면 과반수가 되어 변조된 정보가 인서트 됩니다.
단, 49%미만이 된 고아블록(orphan block)이 삭제되지 않고 남기 때문에
중요한 이슈가 발생한다면 다시 그 전으로 돌려서 orphan block을 정상 블록이라고 인식하고 잘못된 블록을 hard folk(하드포크)의 방법으로 끊어낼 수 있습니다.
여러가지 잘못될 사항까지 고려하여 만들어진 알고리즘이기 때문에 그 만큼 각광받고 커진 것이 아닐까요?
정보의 위,변조는 통제권과 관련이 있습니다.
기존의 중앙화방식에서는 한명, 또는 권력이 집중된 일부집단에 의해서 정보가 관리됩니다.
그 중앙에 집중된 한명, 또는 일부의 그룹이 함께 정보를 위조하거나 변조하기로 마음먹으면 중앙에 있는 정보만 위,변조 하면 되기 때문에 가능합니다.
그러나 탈중앙화 된 방식에서는 권력,통제권이 한명, 일부집단이 아닌 다수의 합의에 의한 시스템에 의해서 정보의 수정,검증,기록 등이 진행됩니다.
좀더 쉽게 설명드리면,
기존의 중앙화방식에서의 포털이 N사가 있습니다.
그럴일은 많지 않겠지만, N사에 있는 정보,자료들을 N사가 직접적으로 자료,정보들을 변조,위조할 수 있는 권한이 있고, 그것은 실행가능합니다. 일반 참여자들은 위,변조 된 사실을 모를수 있습니다.
그러나 탈중앙화된 방식에서는 그러한 중앙주체가 없습니다.
다수, 참여자들에 의한 합의에 의한 방식으로 시스템이 운영됩니다.
그리고 그 운영된 시스템에서의 거래기록, 데이터들은 모두 공개됩니다. (누구나 볼수 있습니다. 자료의 수정,기록등의 자료를 모두 볼 수 있다는것이죠.)
그래서 쉽게, 위,변조가 어렵습니다. 물론, 알고리즘, 합의방식에 따라서 위,변조가 가능할수도 있습니다. 아직 시스템이 안정하되지 않은 상태에서는 해킹등의 위협, 다수의 네트워크 합의자에 의한 공격(51%공격)등이 가능하지만 실현 가능성은 적습니다.
아래 이더스캔에 보시면, 이더리움에서 생긴 블록과 거래들의 기록들을 실시간으로 확인할 수 있습니다.
모든 거래들의 공개적으로 공유된다는거죠.