블록체인에서 임의로 데이터 삭제도가능하나요?
블록체인 안에 저장된 데이터는 투명하고 모두가볼수 있고 영구적인으로 남는 데이터가 되는줄 알았더니 개인정보나 프라이버시 같은 데이터는 삭제도 가능하고 따로 보관도 가능하다고 하더라구요?? 이런특성은 블록체인이랑 모순되는것 같기도 느껴지는데 임의 삭제도 가능한건가요?
안녕하세요?
블록체인의 특성 중 하나는 블록체인에 기록된 데이터는 변경할 수 없는 immutable 속성입니다. 블록에 기록된 어떤 거래내역을 임의로 삭제하는 것은 불가능합니다. 단, 51%의 공격을 통해서 기존의 운영중인 체인을 조작된(삭제,추가를 임의로 만든) 체인으로 변경할 경우 가능합니다만 현실적으로는 비트코인이나 이더리움 메인넷을 이런 공격으로 변경할 가능성은 희박합니다.
질문중에 따로 보관이 가능하다는 의미는 메인블록에서 off chain형식으로 별도의 사이드 체인을 운영한다는 의미로 해석이 됩니다. 또한 블록체인 노드는 기본적으로 모든 거래가 담긴 블록을 보유하므로 모두가 보관하고 있다는 것도 맞습니다.
질문중에 '개인정보나 프라이버시의 데이터 삭제가 가능하다'는 어떤 서비스나 기술쪽에서 그런 것이 가능한지 파악이 되지 않지만 현재 기술동향으로 본다면 개인활동기록이 민감한 경우, 개인정보를 관리하는 별도의 서버나 DB를 만들고 개인 인증/활동내역에 대한 내용만을 블록체인에 기록해서 영구적으로 남겨두는 경우가 있습니다. 그렇다면 개인정보의 삭제는 블록체인이 아니라 개인정보를 관리하는 별도의 서버에서 삭제가 가능하다는 뜻이 아닌지 유추해봅니다.
감사합니다.
임의 삭제의 기준은 쿠쿠다스멘탈님이 아시는 기준과는 다릅니다
일단 블록체인은 쓰기만 가능하고,편집이나 삭제가 안됩니다
그래서 오버라이트 개념을 도입하여 마치 삭제가 된것처럼 보이게 할 수 는 있습니다
즉, 이런것들은 개발자들이 필요에 의해서 어떤 공식을 정한후 그 공식에 따라 최종 결과를 사용자에게 보여주는것입니다
예를 들어
10:00 에 A=3 이라고 블록체인에 기록을 했습니다
10:05 에 A=3 이 아니라 A=5 라고 입력해야 한다는걸 발견합니다,그래서
10:06 에 A=5 라고 블록체인에 기록을 다시 합니다
이제 이걸 다른 사용자의 PC에서 읽어들인다고 가정을 한다면?
읽어들이는건 타임라인에 의하여 오래된 자료부터 읽어들이게 됩니다
처음엔 A=3 이라고 읽고 프로그램의 특정변수에 A=3 이라고 알릴겁니다
그다음에 A=5 라고 있네요? 그럼 프로그램은 다시 특정변수에 A=5라고 수정을 합니다
결국 장부상으로는 수정전,후가 다 있고, 우리의 눈에는 수정후 자료만 보이게 되는것입니다
질문주신 내용은 프라이빗 블록체인에 해당되는 경우로 보입니다.
프라이빗 블록체인의 경우 허가된 사람들 끼리만 이용되는 경우라 삭제 및 변경에 대해 자유로운 내부조정이 가능합니다. 하지만 퍼블릭블록체인의 경우 중간의 블록이 변경되면 그 이후의 블록내용을 모두 변경하여야 하기 때문에 현실적으로 삭제가 불가능합니다. 즉 정보의 위변조가 불가능한 비가역성을 가진다는 것을 의미하죠. 위변조가 불가능하다는 뜻은 삭제역시 불가능하다는 뜻입니다.