[dCRYPTO] 블록체인 컨센서스(Blockchain Consensus)의 기본 토대
안녕하세요, 디온입니다. 본 포스팅은 일전에 블록트레이드가 자신의 블로그에 포스팅한 내용을 번역한 것으로 레퍼런스가 필요하신 분들께 공유를 목적으로 번역된 것입니다.
모든 P2P 블록체인은 특정 형태의 컨센서스(Consensus)에 따라 운영됩니다. 많은 사람들이 컨센서스라는 용어를 정의 내릴 때 "블록체인의 규칙"이라고 말하기도 하는데, 이는 완전히 정확한 표현이라고 보기는 어렵습니다. 아무래도 반은 맞고 반은 틀렸다고 하는 것이 보다 적절할 것입니다.
피어-투-피어(P2P) 네트워크 컨센서스는 각자의 컴퓨터에서 소프트웨어를 실행하는 사람들이 설정합니다. 컴퓨터의 소유자들은 해당 시스템에서 자신들이 원하는 소프트웨어를 실행할 권리 및 P2P 네트워크에 참여할 수 있는 권리를 가집니다. 그리고 만약 해당 소프트웨어의 작동 방식과 관련된 규칙이 마음에 들지 않는 경우, 언제든지 해당 규칙을 변경하고 새로운 버전의 소프트웨어를 실행할 수 있습니다.
다만, 한 사람만 사용하고 있는 P2P네트워크는 사실상 쓸모가 없는 네트워크이기 때문에 이렇게 새로운 버전의 소프트웨어를 실행하는 경우에는 이와 동일한 버전의 소프트웨어를 실행하고자 하는 다른 사람들을 찾아야만 합니다.
암호화폐(디지털애셋)의 포크(frok)
암호화폐(cryptocurrency)씬에서 P2P네트워크 규칙의 변경을 일반적으로 "포크(fork)"라고 부릅니다. 어떤 사람들은 이전 버전의 소프트웨어를 계속해서 실행하고, 다른 어떤 사람들은 새로운 버전의 소프트웨어를 사용하면서 네트워크가 서로 갈라지게 되는 모양을 포크 모양과 유사하다고 해서 지어진 이름입니다. 기존의 하나의 동일한 소프트웨어를 실행하던 하나의 커뮤니티는 서로 다은 규칙으로 운영되는 2개의 커뮤니티로 나눠지게 됩니다.
만약 두 가지의 다른 버전의 소프트웨어를 모두 운영하고 싶은 사람은 언제든지 그렇게 해도 아무런 문제는 없습니다. 만약 어떤 사람이 이 2가지의 소프트웨어를 모두 운영하기로 결정한다면 기존의 코인(토큰)과 새로운 코인(토큰) 모두에 가치가 있다고 보는 것을 의미합니다. 일반적으로 암호화폐 거래소들은 이러한 관점을 가지고 있습니다.
규칙의 변경은 어디까지 가능한가?
포크가 일어날 때 규칙을 어디까지 어떻게 바꿀 것인가에 대해서는 별도의 제한이 없습니다. 예를 들어, 모든 코인들이 여러분의 직원들에게만 배분되는 방식으로 포크도 얼마든지 가능합니다. 그러나 이와 같은 네트워크는 향후 코인(토큰)의 배포를 약속하지 않는 이상에는 특정인들에게만 독점적으로 배포가 되기 때문에 대중적으로 많은 사람들에게 인기를 얻지 못하는 특성을 가집니다.
이더리움 블록체인을 기반으로 다양한 버전의 소프트웨어 버전을 사용하며 자신들만의 새로운 규칙을 정하고, 자신들의 팀원들에게 토큰을 배포한 후 토큰을 대중들에게 판매하는 방식의 ERC-20 토큰들의 ICO도 넓은 의미에서의 포크라고 볼 수 있습니다.
결국 포크를 하면서 어디까지 어떻게 규칙을 변경할 수 있는지에 대한 기술적, 법적 제한은 없습니다. 다만 실질적으로 얼마나 많은 사람들이 그러한 변경을 받아들일 것인가가 가장 중요한 문제가 될 뿐입니다. 코인이나 엄호화폐 네트워크는 한 명의 참여자만 있는 경우 아무런 가치를 가지지 못합니다.
"진정한 의미에서의 암호화폐 컨센서스"란, 해당 암호화폐 네트워크의 규칙 내에서 네트워크를 운영하려는 사람, 그리고 코인(또는 토큰)에 가치를 부여하는 사람들을 의미합니다. 모든 사람들은 해당 코인이 더이상 가치가 없다고 결정하고 해당 네트워크를 떠날 수도 이씨고, 더 가치있다고 생각하는 네트워크에 참여할 수도 있으며, 자신만의 새로운 포크를 시작하는 것도 가능합니다.
코드는 곧 법(Code is Law)이라고 하지 않았나?
암호화폐 네트워크의 규칙은 언제든지 바뀔 수 있고, 일반적으로는 시간이 흐름에 따라 변하는 속성을 가지고 있습니다. 따라서 "Code is Law"라는 말은 실제 법적 합의가 뒷받침되지 않는 이상에는 아무런 의미가 없는 용어일 뿐입니다. 만약에 해당 암호화폐 네트워크의 모든 참여자들간에 코드의 규칙을 준수하기 위한 뭔가 공식적인 법적 계약이 체결 또는 권리 설정이 된 경우라면 Code is Law라고 할 수 있겠지만요.
시간이 흐름에 따라 컨트랙트를 업데이트하는 방법, 코드 버그를 처리하는 방법과 관련된 명확한 규칙이 정의되어 있지 않은 경우 Code is Law는 굉장히 끔찍한 개념이 될 수 있습니다. 어쩔 수 없이 완전 복잡하게 꼬여버린 소프트웨어는 의도된 대로 정확하게 운영될 수 없기 때문입니다.
블록체인 컨센서스 그 너머
현실적으로 대부분의 블록체인은 위에서 언급한 것처럼 법적 구속력을 가진다고 보기 어렵습니다. 암호화폐를 통해 촉발된 가장 위대한 철학적 아이디어는 자발적인 협력을 통합 합의라고 정의할 수 있습니다. 모든 개인들은 자신들의 생각이나 의사에 따라 자발적으로 특정 네트워크의 규칙을 지지할 수도 있고, 생각이 맞지 않는 경우에는 얼마든지 해당 네트워크에서 빠질 수도 있습니다. 이러한 방식은 앞으로 다가올 미래에 많은 사람들이 자율적으로 조직화되어 움직이는 새로운 행동양식을 이끌어내게 될 것입니다.
![](https://steemitimages.com/640x0/https://cdn.steemitimages.com/DQmUaHkWCryBU1sXt9fmERzVbLPLEFTCbF7E3UeMYpChgVA/binance%20putter.png)
블록체인은 법적 구속력을 가지기 어려울지라도, 블록체인에 올려져 있는 창작물은 법적 구속력을 가진다고 생각합니다.