Orbs

블록체인 가상화: 가상 체인과 내재적 샤딩

Virtual Chains and Blockchain Virtualization

블록체인 가상화는 오브(Orbs) 인프라스트럭쳐의 혁명적인 요소 중 하나입니다. 오브 네트워크상에 존재하는 각각의 분산앱은 가상화된 블록체인을 활용함으로써 전체 네트워크의 보안성 및 분산 블록 생성을 보장받으면서 동시에 블록체인 전용 호스팅의 혜택도 누릴 수 있습니다. 이는 블록체인 개발에 있어 가상 기계를 일반적인 표준으로 만드는 것입니다.

가상화란?

가상화란 컴퓨터 시스템 내에 특정 프로그램의 실제 버전 대신에 해당 프로그램을 대체할 수 있는 가상환경을 조성하는 것입니다. 이러한 가상화는 주로 플랫폼과 스토리지를 통해 이루어집니다. 가상화의 흔한 예로 하나의 운영 시스템에 가상 환경을 조성하여 프로그램을 작동시키고, 컴퓨터 자체는 다른 운영 시스템에서 작동시키는 상황을 들 수 있습니다 (컴퓨터는 윈도우로 구동되는 데스크톱인 데 반해 프로그램은 iOS에서 작동하는 상황을 생각하시면 이해하기 쉽습니다). 기업은 보통 하나의 큰 서버를 갖춘 다음 다양한 고객을 대상으로 각기 다른 조각으로 쪼개거나 여러 가상화 환경을 조성하는 방식의 서버 가상화를 활용합니다.

오브는 이러한 개념을 블록체인 가상 기계에 적용합니다. 본질적으로 오브 네트워크상의 모든 분산앱은 각각 독립적인 블록체인, 즉 가상 체인에서 작동할 것입니다. 이러한 가상 블록체인은 각 분산앱에 대한 독립적인 기록을 유지할 수 있습니다. 또한 가상 기계는 각각의 앱을 분리해 하나의 오브 기반 분산앱에서 발생하는 초과 트래픽 수요가 다른 분산앱에 영향을 주지 않도록 합니다.

인터넷의 초창기는 공유 호스팅이 주도했습니다. 당시에는 여러 웹사이트가 서버를 공유하는 방식으로 작동했습니다. 이는 해당 웹사이트들에 일종의 부담을 주었습니다. 하나의 웹사이트에서 발생하는 초과 트래픽이 동일한 서버를 사용하는 다른 웹사이트의 속도를 늦추는 문제가 있었던 것입니다. 그러나 전용 호스팅 (일명 ‘개인 호스팅’)의 도입 후에는 각 웹사이트에 대한 네트워킹과 스토리지 리소스의 특정적 분배가 가능하게 되었습니다. 따라서 동일 서버상에 있는 소위 ‘이웃’ 웹사이트들이 공유 서버의 대역폭을 차지하는 데 대해 지급하던 요금이 갑작스레 자취를 감추게 되었습니다.

물론 한 개 서버 전체를 모두 차지하는 것은 큰 비용이 드는 일입니다. 따라서 좀 더 가성비가 뛰어난 솔루션이 필요하게 되었습니다. 이는 가상 개인 서버(VPS)의 탄생으로 이어졌습니다.

VPS는 기존의 공유 서버를 활용하면서 동시에 각 웹사이트에 대한 분리된 가상 환경을 갖추는 것을 가능하게 했습니다. 서버상의 한 웹사이트에 대한 높은 트래픽이나 보안에 위협이 되는 요소는 오직 해당 가상 환경에서 작동하는 다른 웹사이트에만 영향을 주었습니다. 또한 리소스의 분배 방식이 개선되어 아마존 웹서비스(AWS)가 클라우드 컴퓨팅과 스토리지를 통해 제공하는 서비스처럼 네트워크상의 각 가상 서버에 다양한 수준의 연산력과 스토리지가 제공되었습니다.

오브의 ‘가상 개인 서버’와 이더리움의 ‘공유 호스팅’ 비교

오브는 가상 개인 서버 모델을 활용하여 좀 더 효율적인 블록체인 관리 시스템을 조성합니다. 지금까지 블록체인은 예전의 인터넷처럼 공유 호스팅 또는 이와 비슷한 환경에서 작동해 왔습니다.

오브 아키텍처에서 가상 체인은 세 가지의 주요 역할을 합니다. 속도를 위한 스마트 샤딩, 보안을 위한 분리, 유연성을 위한 커스터마이징이 그것입니다. 각 분산앱은 오브 네트워크상의 다른 분산앱에 영향을 주는 보안 문제 (이러한 문제는 해당 앱의 가상 체인 내에만 머물게 됩니다)로부터 분리를 유지하면서도 다양한 수준의 연산력과 스토리지 성능을 택할 수 있습니다.

가상 체인: 스마트 샤딩

Orbs intelligent sharding is akin to private hosting versus Ethereum shared hosting

또한 가상 체인은 다른 실질적인 혜택을 제공합니다. 다른 샤딩 개념과는 다르게 오브의 레이아웃은 ‘내재적 샤딩’을 기반으로 합니다. 이는 사용자들이 임의로 상호작용하기보다는 분산앱을 통해 상호작용 확률에 따라 논리적으로 분류되기 때문에 ‘스마트 샤딩’이라고 부를 수도 있습니다. 스마트 샤딩은 단일한 가상 체인 안에서 다른 샤딩 방식과 함께 작동합니다. 여기서 서로 다른 앱 사이에 거래가 이루어질 확률은 극히 낮습니다.

샤딩은 규모가 큰 데이터베이스의 데이터 처리를 위한 핵심 전략으로서, 데이터베이스의 정보 전체를 샤드라는 조각으로 잘게 쪼개서 데이터 처리의 속도와 효율성을 높이고, 처리가 더욱 원활하게 이루어지도록 합니다. 블록체인의 경우 샤드는 오직 노드, 사용자, 그리고 네트워크상 거래의 일정 부분만을 포함하는 것이 보통입니다.

샤딩 블록체인 네트워크는 현재 확장성을 위한 핵심적 요소로 여겨지고 있습니다. 이더리움은 네트워크의 효율성을 높이기 위해 지분 증명으로의 전환과 더불어 샤딩 블록체인 네트워크의 도입을 계획하고 있습니다. 현재 이더리움은 노드 전체를 필요로 합니다. 네트워크상의 모든 노드가 모든 거래를 처리하는 데 활용되는 것입니다. 이는 시간이나 에너지 측면에서 효율적이지 못한 방식입니다.

사실 샤딩이란 개념 자체는 보다 일반적인 의미의 연산 개념으로서, 데이터를 보다 작은 조각으로 분할해서 데이터 처리를 쉽게 만드는 것을 뜻합니다. 블록체인에 이 개념이 적용되면 최종 사용자와 노드가 네트워크 상의 각기 다른 부분으로 나뉘어 지는 것을 뜻하게 됩니다.

이러한 샤딩을 활용하면 몇몇 거래의 처리 속도는 훨씬 빨라지겠지만, 여기에는 또 다른 문제가 존재합니다. 네트워크상의 각기 다른 샤드에 할당된 사용자 사이에서 거래가 필연적으로 발생할 수 밖에 없다는 것이 그것입니다. 이는 샤드간 의사소통을 필요로 하게 되어서 거래의 내용을 확인하기 위해 각기 다른 샤드를 담당하는 노드끼리 정보를 필수로 공유해야 합니다. 오브는 앱을 기준으로 거래를 분류하여 샤드간 의사소통에 따르는 부담을 줄여줍니다. 동일한 분산앱, 즉 동일한 가상 체인 상의 사용자들은 각기 다른 두 개의 앱 상에 있는 사용자들보다 상호작용할 확률이 훨씬 더 높습니다.

네트워크상의 각 분산 앱에서 일어나는 활동이 해당 앱의 가상 체인으로 제한되기 때문에 네트워크의 작동 효율성이 더욱 개선됩니다.

보안: 분리 및 공유 네트워크

가상 체인을 통한 스마트 샤딩의 도입 덕분에 분산앱은 추가적인 보호층을 갖게 됩니다. 만일 하나의 앱이 외부의 침입에 의해 공격당하거나 높은 트래픽으로 기능이 저하되면, 각각의 가상화된 샤드가 속도 및 효율성 문제를 해결해 줍니다. 분산앱은 서로 분리된 상태로 유지됩니다.

또한 이러한 샤딩에도 불구하고 오브의 모든 앱은 노드의 네트워크 전체가 가지는 추가적인 보안성을 그대로 가지게 됩니다. 네트워크는 임의 지분 증명을 통해 네트워크 전체의 기능을 가지면서도 보다 작은 규모의 위원회를 활용하여 효율적으로 블록을 생성할 수 있습니다.

유연성과 커스터마이징

각각의 앱은 서로 다른 요건을 가지고 있으며, 이는 끊임없이 변화합니다. 하지만 요건이 바뀔 때마다 그에 맞추어 인프라스트럭쳐를 변경한다는 것은 꽤나 비효율적인 일입니다. 특히 토큰의 경우 더욱 그러합니다. 가상 체인은 개인 블록체인이 제공하는 커스터마이징의 장점을 동일하게 제공합니다.

또한 이러한 가상화의 추가적인 혜택으로 각 분산앱에 자율권이 부여되어 작동 환경으로 활용되는 가상 체인의 몇몇 매개변수 (컴플라이언스 기능, 보안 조건, 연산력, 스토리지 성능)를 지정할 수 있도록 합니다. 그리고 가상 체인의 운영 및 관리에 대한 매개 변수는 네트워크 전체로부터 독립되어 작동합니다.

이러한 분리성은 잠재적으로 바이러스를 퍼트릴 수 있는 임의의 분산앱이 네트워크에 영향을 미치지 못하게 하며, 거꾸로 동일 네트워크상의 다른 바이러스성 분산앱이 사용자 분산앱의 속도나 효율성을 낮추는 일도 없게 됩니다.