아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
WINTERFELL
WINTERFELL 20.04.06

블록체인의 처리속도를 높이기 위하여 데이터 처리방식에 변화를 준다는 '샤딩'이란 어떤 기술인가요?

2020.04.06(월) 안녕하세요. 아하의 블록체인전문가님들께 감사드립니다.

탈중앙화를 추구하고 조작 불가능성의 장점을 갖는 블록체인은 거래가 증가함에 따라 거래원장 기록이 길어지기 때문에 속도가 느려진다는 문제점이 있다고 합니다. 블록체인의 처리속도를 높이기 위한 기술들 가운데 데이터 처리방식에 변화를 주는 '샤딩' 은 어떤 원리의 기술인지 알고 싶습니다.

55글자 더 채워주세요.
답변의 개수
3개의 답변이 있어요!
  • 안녕하세요. 샤딩에 대하여 답변드리겠습니다.

    • 샤딩(Sharding)이라는 기술은 모든 노드들이 구역별로 나뉘어 거래내역을 검증하는 분권화된 검증 시스템으로 수 많은 트랜젝션을 병렬로 처리하여 빠른 처리속도를 구현하게 됩니다.

      1. 이더리움은 블록체인 대중화를 위해서는 보다 많은 토큰들이 이더리움 네트워크에서 작동해야 하고 실 생활에 사용하기 위해서는 보다 빠른 트랜젝션을 보장해주어야 하기 때문에 PoS검증방식을 채택한 이유이기도 합니다.

      2. 그러나 PoS방식도 중앙화의 문제가 발생할 수 있기 때문에 이더리움은 샤딩이란 기술을 통해 블록 검증 지역을 분권화(그룹화)하여 중앙화의 문제를 해결함과 동시에 빠른 트랜젝션이 가능하도록 시스템을 구현할 계획입니다.

    • 샤딩은 PoS도입이 되어야만 사용이 가능한 기술로 이더리움 창시자 비탈릭 부테린은 PoS검증방식과 샤딩도입에 대해 "지분증명(PoS) 전환 과정 가운데, 먼저 지분증명(PoS)와 작업증명(PoW)의 하이브리드 형식인 캐스퍼(Casper)를 도입하고 있으며, 지분증명과 샤딩 기술이 미래의 블록체인 효율을 1,000배 더 높일 것이며, 체인화의 비효율성을 수용할만 한 수준으로 만들 것” 이라고 언급하였습니다.

    • 따라서 이더리움 2.0(PoS 및 샤딩)이 되면 기존보다 1,000배인 약 14,000TPS의 속도를 구현할 것으로 내다보고 있습니다.


    감사합니다.


  • 안녕하세요 질문자님.

    • 샤딩 : 샤딩이란 조각이라는 뜻으로, 한 곳에 저장되어 있는 데이터를 여러 샤드에 중복 저장하거나 하나에만 저장할 수 있는 기술을 뜻합니다. 한마디로 전체 네트워크를 여러개의 네트워크로 분할해서 처리/저장하는 방법을 말합니다.

    • 즉, 병렬 처리가 가능하게 만드는 기술이 샤딩이며, 블록체인에서의 샤딩 기술은 블록체인 네트워크 상에서 한 블록생성 시간이 10분당 1000건의 데이터를 처리하는 블록체인이 있다면, 이를 각 4개의 샤드로 나뉘어 각 샤드 당, 250건의 데이터를 저장할 수 있게 끔 분산 시켜 병렬처리 할 수 있게 해놓은 기술이 샤딩입니다.

    • 이러한 병렬 처리는 기존의 방식보다 분산하여 처리하기 때문에 안정적인 네트워크 속도를 끌어올리게 됩니다. 이러한 샤딩 기술은 그 데이터의 크기에 따라 얼마든지 샤드의 갯수를 늘일 수 있기 때문에 블록체인 네트워크 속도를 안정적으로 올릴 수 있습니다.


  • 기본적으로 저장된 데이터베이스를 쪼갠다는 개념으로 보시면 됩니다.

    10,000개의 데이터를 1개의 머신에서 데이터를 검증하는 시간이 1초이 걸린다고 가정해볼게요.

    이 데이터를 10명이서 1,000개씩 나누어 가지고 10명이 각각 자신의 데이터만 검증한다면 0.1초가 걸리는 효과라 생각하시면 됩니다.

    하지만 데이터만 나누는 것에서 끝나는 것이 아니고 10명이서 서로 데이터를 주고 받기도 해야하고 검증에 문제가 있을 때 효율적으로 처리를 해야하는 등의 기술적인 난이도도 존재합니다.