앤드어스체인

위키원
leejia1222 (토론 | 기여)님의 2019년 11월 5일 (화) 13:54 판 (빅데이터)
이동: 둘러보기, 검색

특징

deb 합의 알고리즘

기존의 작업증명 및 지분증명 합의 알고리즘의 경우 채굴 노드가 가지고 있는 컴퓨팅파워와 보유한 지분에 따라 채굴 노드의 채굴 확률이 비례하는 특성을 가지고 있으며, 이는 채굴 관점에서 블록체인에 참여를 원하는 채굴자들에게 공정하지 않다는 것을 말해주고 있다. deb 합의 알고리즘은 바로 이러한 공정하지 못한 문제점을 해결하여 공정한 채굴 기회를 보장하기 위한 합의 알고리즘이다. 먼저 공정한 채굴 기회를 보장하기 위해서는 채굴을 원하는 모든 노드들에게 주어진 조건에 상관없이 공정한 채굴 기회를 주어야 한다.

이를 위해 deb 합의 알고리즘은 작업증명과 지분증명 방식과는 달리 공정한 노드라는 개념을 도입했다. 물론 P2P 기반의 deb 합의 알고리즘의 특성을 유지하기 위해 공정한 노드의 신뢰성을 가정하지는 않는다. 즉, 공정한 노드는 제3의 신뢰기간은 아닌, 단지 P2P 네트워크의 노드들과 협력하여 합의 알고리즘을 지원하는 단순한 특별한 노드라고 생각하면 된다.

deb 합의 알고리즘은 유료 채굴 리그, 최대 난수 규칙 및 다수결 원칙 등 3가지 기본 원리로 작동된다. 유료 채굴 리그란 채굴을 원하는 노드들 중 특정 수의 노드들로 구성된 채굴 노드들의 그룹이다. 물론 채굴 리그에 참여를 원하는 노드들은 채굴 리그에 참여하기 위해 현실적으로 충분히 가능한 적은 금액인 참가비를 지불해야 한다. 그리고 유료 채굴 리그에 참여한 노드들로 구성된 그룹에서 각 노드가 블록을 생성하는 규칙이 최대 난수 규칙이다. 그리고 최종 채굴자를 결정하는 방식, 즉 최종 블록을 결정하는 방식은 공정한 노드와 채굴리그에 참여한 노드들간의 협력을 통한 다수결 원칙으로 이루어진다.

전체 프로세스

deb 합의 알고리즘의 전체 프로세스는 유료 채굴리그 구성, 블록 생성, 최종 블록 합의 등 크게 3단계로 구성된다.

  • 유료 채굴리그 구성
  1. 채굴을 원하는 노드는 공정한 노드에게 자신의 접속정보를 제공한다.
  2. 공정한 노드는 채굴리그 구성을 위해 모든 노드들에게 OTPRN을 배포한다.
  3. 채굴리그에 참여를 희망하는 노드는 공정한 노드가 배포한 OTPRN을 참조하여 본인이 채굴리그 참여 대상자인지를 판단한다.
  4. 채굴리그 참여자로 선정된 채굴니드는 채굴리그 구성을 위해 OTPRN을 포함한 JoinTx를 생성한다.
  5. 모든 노드들에게 JoinTx를 브로드캐스팅한다.
  6. 채굴리그 참여자로 선정된 채굴노드들만 JoinTx를 참조한다.
  • 블록생성(채굴)
  1. 채굴리그에 참여한 채굴노드는 최종 블록 선정의 기준이 되는 difficulty를 생성한다.
  2. 채굴노드는 블록헤더에 difficulty를 포함하여 블록을 생성한다.
  3. 모든 노드에게 생성된 블록을 브로드캐스팅한다.
  • 합의 알고리즘
블록 합의의 기본 원칙은 가장 큰 수 규칙과 노드와 공정한 노드가 협력하여 다수결에 의한 최종 블록 합의 절차이다.
  1. 노드는 자신이 수신한 블록 중 difficulty가 가장 큰 블록을 선택한 뒤 서명하여 공정한 노드에 전송한다.
  2. 공정한 노드는 다수결 원칙에 따라 전송받은 블록 중 가장 많은 선택된 블록을 최종 블록으로 결정하여 서명한 후 노드들에게 전송한다.
  3. 채굴노드는 공정한 노드로부터 수신한 블록이 다수에 의해 선택된 블록인지 검증한 뒤 전체 노드들에게 브로드캐스팅한다.
  4. 각 노드들은 공정한 노드와 다수가 서명한 블록을 최종 블록으로 인지하고 블록체인에 추가한다.

유료 채굴리그 구성

안전성 및 효율성을 위해 유료 채굴리그를 구성하는 방법은 공정한 노드와 노드들의 자체적인 인원 조정과 채굴리그 참여 신청으로 진행된다.

  • 유료 채굴리그 참여자 선정
  1. 채굴을 원하는 노드는 공정한 노드에게 노드 정보를 제공한다.
  2. 공정한 노드는 블록 생성주기에 따라 transOTPRN 구조체를 모든 노드에게 배포한다.
  3. 채굴 후보 노드들은 공정한 노드가 배포한 OTPRN 구조체를 참조하여 자신이 참가할 수 있는지 파악한다.

앤드어스체인

빅데이터

기존 이더리움은 데이터 저장소로 스웜을 제안했고, 그 외 분산 저장소로는 IPFS가 인기를 끌고 있다. 하지만 두 저장소는 자료를 저장 및 관리하는 것에 따른 인센티브 규정이 미흡하다. 이뿐 아니라 공유 유지, 안정성, 보안성, 사게 방법 등 다양한 분야에서 실제 서비스로 사용할만큼 충분치 않다. 따라서 앤드어스체인은 자료 저장을 위한 새로운 저장 메커니즘을 제안했다. 제안된 저장 메커니즘은 이더리움 스웜을 기반으로 하여 저장소와 암호 전용 서버, 동작하고 있는 노드를 효율적으로 검색할 수 있는 노드 검색 서버가 추가된 구조를 가진다. 또한 별도의 삭제 풀을 관리하여 해당 풀에 해시가 등록되면 삭제된 것으로 판단하여 다운로드가 중지된다. 삭제 풀에 해시를 등록할 수 있는 사용자는 최초 자료를 업로드한 사용자만 가능하다.

빅데이터 서비스 구성도

일반 노드는 노드 검색 서버를 통하여 자신과 인접한 캐시노드를 찾고, 캐시노드를 사용하여 자료를 저장 및 조회한다. 노드 검색 서버는 활성화된 캐시 노드들을 관리하며, 일반노드가 요청시 카뎀리아 알고리즘을 이용하여 요청노드와 가장 근접한 캐시노드를 알려준다. 캐시노드는 일반노드의 요청을 자신이 직접 처리할 수 있는 경우 직접 처리한다. 캐시노드는 일반노드의 요청을 자신이 직접 처리할 수 없는 경우 이웃한 캐시노드에 요청하여 일반노드의 요청을 처리한다. 저장 그룹의 서버는 자료 저장을 책임지며, 저장 그룹 내 서버들 간에는 스웜 프로토콜을 이용하여 자료를 관리한다. 암호화 서버는 일반노드에서 자료를 저장 및 조회하는 경우, 자료의 암·복호화를 담당한다. 삭제 풀은 머클트리 형태로 구성되며, 삭제할 자료의 해시를 기록하여 풀에 등록된 자료의 경우 다운로드가 중지시키며, 중지가 완료되면 가비지 컬렉터에 의해 저장된 자료는 자동 삭제된다.

저장소 구조

기존 스웜 데이터 구조는 다음과 같다.

  • 청크(Chunk) : 최대 4KB 크기의 데이터로 구성되며, 자료를 저장하거나 조회하기 위한 기본 단위이다.
  • 레퍼런스(Reference) : 저장된 파일을 조회하기 위해 유일하게 할당된 값이다. 기본적으로 스웜은 암호화 된 파일 형태로 저장되기 때문에 32바이트의 컨텐츠 주소와 32바이트의 복호화 키를 포함한 128바이트로 구성된다. 생성되는 암·복호화 키는 시스템에서 자동으로 생성되어 해당 필드에 복호화키를 저장시킨다.
  • 매니페스트(Manifest) : 파일 저장소를 나타내기 위한 데이터 구조체로서 URL 형태로 자료를 검색하기 위한 용도로 사용된다.

파일 저장 시 매니페스트를 생성하고 해당 위치를 지정하는 해시를 블록체인에 저장하는 트랜잭션을 생성한다. 스웜용 트랜잭션 구조체는 다음과 같다.

  • 리시버(Receiver) : 저장소
  • 엑스데이터(ExData) : 매니페스트의 해시가 기록됨

개인용 파일의 경우 매니페스트의 내용을 저장노드의 개인키로 복호화할 수 있게 저장한다. 자료의 공개 정칙(공개용, 개인용, 허가용)에 따라 자료의 암호화는 스웜 자체 암호화와 관계없이 별도 암호화 서버군을 사용하여 일반 노드에서 암·복호화를 진행한다. 자료가 저장소로 업로드되면 해당 자료는 청크 단위로 분해되며, 각 청크는 청크 해시를 통해 접근할 수 있다. 청크 해시를 사용하여 머클트리를 구성한다. 캐시노드 검색시 전달되는 콘텐츠를 캐싱하여 요청 빈도가 높은 콘텐츠의 접속 시간을 최소화한다. 이더리움의 스웜과 가장 큰 차이점은 자료의 보관 기간과 별도의 암호화 서버군이 존재하는 것으로 이더리움의 경우 접근 빈도가 낮은 자료는 스웜에서 자동으로 삭제되지만 앤드어스체인은 보관 기간이 만료될 때까지 유지하며 별도의 암호화 서버군이 자료의 암호화를 책임지는 역할을 한다.

캐시노드 및 저장서버

기본적으로 이더리움의 스웜 프로토콜을 사용한다. 업로드된 자료는 캐시노드에서 청크 단위로 분해되어, 청크 해시를 기준으로 동일한 주소공간에 있는 다른 노드에 배포된다. 캐시노드는 저장서버 한 대 이상과 상시 연결되어 있으며, 청크로 분해된 자료는 청크 단위로 캐시노드 간 동기화되는 것 이외에 저장서버로 전송된다. 저장서버는 캐시노드와 달리 모든 청크를 저장하며 저장서버들끼리 서로 동기화함으로써 자료를 유지/보관한다. 업로드된 자료는 캐시노드에서 청크 단위로 분해되어, 청크 해시를 기준으로 동일한 주소공간에 있는 다른 노드에게 배포된다.

자료보안

일반 노드는 자료를 저장할 때 공개 정책(공개용/허가용/개인용)을 설정할 수 있다. 일반 노드는 저장된 자료를 조회할 수 있도록 해시를 트랜잭션에 포함하여 블록체인에 저장하고 해당 트랜잭션의 해시를 통해 자료를 조회할 수 있도록 한다. 개인용으로 지정된 경우에는 저장 시 자료를 저장한 노드의 공개키로 암호화하여 개인키를 소유한 노드만이 조회할 수 있도록 한다. 허가용의 경우에는 암호화 서버에서 임의의 키를 생성한 후 자료를 암호화하고 해당 내용을 조회할 수 있는 API를 제공한다. 해당 API 정보는 저장 노드의 공개키로 암호화하여 블록에 저장하는 방식으로 제공한다. 해당 노드는 개인키로 해당 정보를 복호화하여 API 정보를 확인한 후 정보를 조회할 수 있다. 공개용의 경우 별도의 암호화 처리 없으 그대로 저장한다.

가상 네트워크의 거리

P2P 환경에서는 노드 간 물리적 거리를 측정할 수 없기 때문에, 가상의 네트워크를 상정하고 거리를 측정한다. 본 서비스는 이와 같은 방식으로 거리를 측정하는 알고리즘 중 하나인 카뎀리아 알고리즘을 사용하여 계산한다. 가상 네트워크의 거리 계산은 노드의 주소를 기반으로 비트 단위 XOR 연산을 하여 나온 값을 빅 엔디언으로 변환하여 얻을 수 있다.

  • 최대 거리(M) : 주소의 자리수가 N인 경우 최대 N
  • 노드 간의 거리(D) : 두 노드의 주소 값을 XOR 나온 값의 로그 값(log D)
  • 근접도 : 최대 거리에서 노드 간 거리를 뺀 값 (M-D)
인센티브 규정

사용자가 빅데이터 서비스를 사용하고자 할 때, 저장 파일의 크기에 비례하여 수수료를 지불한다. 해당 수수료는 캐시 노드에 일정 비율로 분배되고 나머지는 주기적으로 저장 그룹의 서버들에게 분배된다. 사용자가 서비스를 사용하는 기간은 기본 1년으로 설정되며 저장 서버 그룹은 해당 기간 동안 책임지고 보관한다. 기본으로 설정된 기간을 초과할 경우 1년 단위로 갱신 가능하며 그 때마다 추가 수수료를 지불해야 한다. 해당 수수료 역시 저장 서버 그룹에 분배된다. 사용자는 자료 저장 시, 해당 자료에 접근하는 다른 사용자에 대해 조회 수수료(유/무료)를 설정할 수 있다. 만약 조회 수수료가 유료로 설정되면, 자료 조회시 지불되는 수수료는 캐시 노드에 일정 비율로 분배하고, 남은 금액은 자료를 업로드한 사용자에게 분배한다. 캐시노드에 분배되는 조회 수수료는 자료의 저장 위치와 관계없이 요청에 응답한 캐시노드에게 지급된다.

생태계

활용

여론 조사

여론조사 프로세스를 블록체인에 구축하여 조사 결과의 신뢰성을 혁신적으로 높일 수 있다. 또한 여론조사에 참여한 모든 사용자에게 적절한 보상을 지급하여 여론조사 시스템의 활성화를 극대화시킬 수 있따. 앤드어스가 추진하는 여론 조사 프로젝트는 이러한 장점을 극대화한 오픈형 여론조사 서비스이다.

  • 주요 프로세스
  1. 조사 의뢰 : 조사목적, 조사대상, 조사기간 등 정보를 등록하여 조사진행 및 여론수집을 위탁한다.
  2. 조사기획 : 소정의 절차를 통하여 누구나 조사기획자의 권한을 획득할 수 있으며, 조사에 대한 전반적인 기획과 진행을 수행하고 최종 결과를 수집한다.
  3. 설문작성 : 조사 질의 문항을 등록하면 블록체인에 등록되면서 자동으로 표결할 수 있는 웹 페이지가 생성된다.
  4. 참여자 선정 : 임의의 불특정 다수 또는 특정 요구조건에 따른 조사 참여자의 목록을 생성한다.
  5. 참여 안내 알람 : 조사 참여자 목록에 따라 참여자에게 안내문을 전송하여 표결을 유도한다.
  6. 설문투표 : 참여자는 이메일, SMS 및 사이트 로그인을 통하여 설문지에 직접 접근할 수 있으며 각 질의 문항별 표결 정보는 블록체인에 기록한다. 경우에 따라, 인터뷰 조사자를 참여시켜 전화설문조사를 수행할 수도 있다.
  7. 표결 결과 : 참여자의 표결 데이터를 집계하고 오차범위와 유효의미를 분석하여 최종 결과를 도출한다.
  8. 여론 확인 및 공개 : 조사 의뢰자는 언제든 투표결과를 조회할 수 있으며, 경우에 따라 투표 참여자 및 제 3자에게 여론을 공개할 수도 있고 기타 시스템(AI, 빅데이터 등)에서 활용할 수 있도록 정보를 제공할 수도 있다.
  9. 인공지능 시스템 : 유사한 조사 문항별 표결 결과를 지속적으로 누적하여 간접적으로 이와 관련된 여론 형성을 인공지능을 통하여 추론하여 예측한다.
  10. 인센티브 정책 : 설문 참여자, 인터뷰 조사자, 참여 추천자 및 서비스 평가자에게 코인 보상을 제공한다.
  • 기대효과
  1. 투표 시스템을 블록체인에 적용함으로써 투표 데이터의 위변조 위험성을 원천적으로 차단하여 결과에 대한 불신을 최소화한다.
  2. 각 참여자(설문 참여자, 인터뷰 조사자, 참여 추천자 등)에게 코인으로 보상을 제공함으로써 오픈형 투표 시스템의 활성화를 유도할 수 있다.
  3. 원천적으로 위변조를 방지하기 때문에 신뢰성을 높일 수 있고, 누구나 조사를 의뢰하거나 투표에 참여할 수 있는 오픈 시스템으로 구축되어 활성화에 이점이 있다. 이와 같은 이점은 다양한 의사결정사안에 대하여 공정하고 민주적인 신뢰 사회 발전에 기여할 것이다.

ATA클럽

ATA클럽 서비스는 생활 스포츠 시장을 확장하고자 스포츠와 관련된 다양한 서비스를 블록체인 시스템에서 제공하고자 한다. 본 서비스는 스포츠 동호회 및 블로그 등 다양한 커뮤니티를 중심으로 우수한 스포츠 지도자와 교육 희망자를 연결시켜주는 매칭 서비스, 스포츠 시설물 및 용품을 임대 또는 판매하는 오픈 마켓, 경기팀 구성과 아마추어 대회 진행을 지원하는 대회 운영 서비스 등으로 구성될 것이다. ATA클럽 서비스는 블록체인 상에서 구축되어 신뢰도와 공정성을 보장하고 생활 스포츠 시장의 확장을 견인할 것이다.

  • 주요 프로세스
  1. 개방형 동호회 운영 : 회원이면 누구나 동호회를 만들고 동호회원을 유치할 수 있다. 또한 동호회 활동을 지원하는 프로그램을 편리하게 사용할 수 있다.
  2. 사용자 블로그 개설 : 모든 회원은 자신의 블로그를 개설하여 운영할 수 있으며, 소정의 조건에 따라 다양한 의견을 블로그에 올려서 여러 회원들과 의견을 나눌 수 있다.
  3. 체험후기/평가 : 교육 프로그램, 쇼핑, 동호회 등 회원들의 다양한 체험에 대하여 의견을 작성하고 여러 채널의 평가 시스템을 통하여 대상을 평가함으로써 양질의 서비스를 선별할 수 있다.
  4. 인센티브 정책 : 회원들은 모든 활동과 참여에 대해 암호화폐로 보상을 받는다.
  5. 회원관리 : 지도사, 수강생, 팀 구성원, 동호회원 및 일반 회원 등 다양한 참가자를 등록하여 인증을 수행하고 각 역할에 대한 권한을 부여할 수 있다.
  6. 빅데이터 수집 : 회원들이 체험한 다양한 서비스에 대한 의견 및 서비스 자체에서 생성되는 자료(경기 결과, 평가 등)를 수시로 수집 및 분석하여 보다 나은 서비스를 제공하고자 한다.
  7. 지도자 등록 : 스포츠에 역량을 갖춘 사람이면 누구나 지도자로 등록하여 교육 프로그램을 타인에게 제공하거나 모두에게 공유할 수 있다.
  8. 교육 프로그램 등록 : 지도자 권한이 있는 사용자는 교육 프로그램을 공지하여 수강생을 모집할 수 있다.
  9. 교육 프로그램 신청 : 회원은 원하는 교육 프로그램을 신청할 때 지도자의 프로필 등을 확인할 수 있다. 이와 별도로 회원이 등록한 요구조건과 교육이수조건 등에 라 자동으로 지도자의 교육 프로그램을 추천받을 수도 있다.
  10. 팀 구성 : 스포츠 종목에 따라 팀을 구성(팀원 초청, 팀원 신청)할 수 있고, 팀이 구성되면 대회 참가 등 팀 단위 활동(팀 게시판 접근 등) 권한이 제공된다.
  11. 리그 구성 : 팀들이 모여 대회를 만들 수 있고 이에 따른 부가 기능(경기대진표 구성 등)을 편리하게 활용할 수 있어 편리하게 대회를 즐길 수 있다.
  12. 개방형 광고 유치 : 경기할 팀들과 리그 구성이 완료되면 대회 홈페이지가 자동으로 만들어지고 해당 홈페이지에 광고를 올려 광고 유치 수입을 암호화폐로 받을 수 있다.
  13. 대회 진행 : 대진표와 경기일정에 따라 시설물 및 용품을 임대할 수 있고, 심판진 구성 등 대회 진행에 필요한 후속 처리와 경기별 결과를 등록한다.
  14. 경기 결과 이력 : 매 경기 결과, 진행됨에 따라 발생되는 의견 및 특이사항 등은 블록체인에 기록되어 팀원들 간에 공유가 가능하며 이후에 이루어지는 대회에서도 참조할 수 있다.
  15. 판매자 등록 : 회원이 판매자로 등록되면 쇼핑몰 페이지를 개설할 수 있는 권한이 부여된다.
  16. 상품 등록 : 판매자로 등록된 회원은 자신이 개설한 쇼핑몰 페이지에 판매할 상품 정보를 등록할 수 있다.
  17. 시설품/용품 등록 : 임대할 스포츠 시설물 또는 용품 정보를 등록한다.
  18. 판매/임대 : 판매자는 스포츠 상품 판매, 시설물 사용 예약, 용품 임대 등을 통하여 수익을 올릴 수 있다.
  19. 지도자 지원 : 일반 지도자 및 프리미엄 지도자가 교육 프로그램 운영, 교육 신청 접수, 수납, 정산, 체험후기, 게시판 및 홍보 등 지도자의 활동을 지원하는 지도자용 서비스이다.
  20. 판매자 지원 : 판매자가 입점 매장 홍보, 상품 진열 및 관리, 주문 접수 및 시설물 예약, 결제 및 정산 등 판매자의 제반 활동을 지원하는 입점 매장용 운영 서비스이다.
  21. 커뮤니티 지원 : 블로그 운영 또는 동호회 운영 및 활동을 지원하는 커뮤니티 관리용 서비스이다.
  22. 광고 마케팅 : 교육 프로그램, 상품, 시설물 및 용품의 홍보 배너 설정, 광고 신청 및 접수, 광고 콘텐츠 등록 등 광고 관리에 필요한 서비스 모듈이다.
  • 기대 효과
  1. 블록체인에서 생활 스포츠를 위한 다양한 서비스가 제공되기 때문에 관리의 투명성이 보장된다.
  2. 자율적인 커뮤니티를 통한 창의적인 의견 표출, 평가 및 생활 스포츠 데이터 등을 지속적으로 축적하고 분석하여 생활 스포츠 서비스의 품질을 향상시키고 사용자의 만족도를 강화할 수 있다.

중고 자동차 매매

중고자동차 매매의 신뢰성 확보를 위해 블록체인 기반의 자동차 이력관리 기능을 중심으로 자동차 중고매매 서비스 또한 추진하고 있다