SingularityNet#1 SingularityNET 과 함께 보는 블록체인 기초

7ZXU·2021년 6월 15일
0

안녕하십니까 SKKRYPTO 7기 김지수입니다. 인공지능과 블록체인, 4차 산업혁명을 얘기하며 빼놓을 수없는 뜨거운 주제죠? 그런데 이 두 가지 모두 다루는 회사가 있다고 합니다. 바로 SingularityNET입니다.이는 인공지능 기술에 대한 접근성을 높이기 위해, 블록체인 기반 인공지능 마켓 플레이스를 제공하는회사입니다. 이번 학기에는 SingularityNET을 주제로 기초적인 블록체인 기술과 토큰에 대해 알아볼예정입니다. 1편에서는 SingularityNET 에 대한 간단한 소개와 마켓 플레이스 운영방식을 이해하기 위한블록 체인 기초 개념을 살펴보겠습니다.

SingularityNET 무엇인가?

SingularityNET - HomeSingularityNET은 블록체인과 인공지능 기반의 마켓 플레이스 프로젝트 회사입니다. 이 회사는 블록체인기반의 플랫폼을 통해 인공지능 기술을 제공함으로써 인공지능 기술에 쉽게 접근할 수 있도록 합니다.

회사 목표

싱귤래리티넷은 다양한 영역의 AI를 제공하여 접근성을 높임으로써 인류에 보탬이 되고자합니다.AI 서비스가 필요한 분야를 자동으로 파악해 기술 이용자와 개발자를 쉽게 연결해주고자 합니다.

회사 구성원

인공지능 로봇 소피아를 개발해낸 AI 분야의 대가, 고르첼 박사를 중심으로 싱귤래리티넷은 50명 이상의 AI개발자와 10명 이상의 AI 박사가 함께 팀을 이루고 있습니다. 이런 회사 구성은 토큰 판매로 수익만 내는것만 목표가 아니라, AI 기술 발전까지 장기적으로 이끌겠다는 포부를 보여주고 있습니다.

블록체인 기반 AI 마켓 플레이스 : SingularityNET

SingularityNET 플랫폼은 에이전트라 불리는 수많은 노드로 구성됩니다. 제한 없이 참여할 수 있는 퍼블릭블록체인이며 중앙 서버가 없는 P2P 네트워크 기반으로 운영됩니다. 이런 운영 방식을 통해 모든 참여노드가 블록체인에 연결되기에, 플랫폼에 참여하기만 해도 다양한 인공지능 서비스를 모두 사용할 수
있습니다. 블록체인을 기반으로 플랫폼을 구축함으로써 AI 분야의 전문가가 개별 노드로 참여하고비전문가들은 AI 서비스에 더욱 쉽게 접근할 수 있습니다. 여기서 SingularityNET이 제공하는 플랫폼이운영되는 방식을 더욱 정확히 알아보기 위해 그와 관련된 블록 체인 개념을 알아보고자 합니다. 크게 퍼블릭블록체인, P2P 네트워크, 스마트 컨트랙트에 대해서 알아보겠습니다.

퍼블릭 블록체인

퍼블릭 블록체인이라면 누구든지 블록체인 네트워크에 참여할 수 있습니다. 이는 운영과 참여의 주체가불분명하기 때문에 보상 제도인 코인(Token)을 발행하여 운영됩니다. 퍼블릭 블록체인 네트워크에참여하는 개별 컴퓨터를 '노드' 라고 부르고, 네트워크에 노드가 많이 참여할수록 보안이 강화됩니다.

P2P 네트워크

정의

위키피디아를 보면 P2P는 소수의 서버에 집중하기보다는 망 구성에 참여하는 기계들의 계산과 대역폭성능에 의존하여 구성되는 통신망이라 설명하고 있습니다. 쉽게 말하면 P2P 네트워크는 컴퓨터 간의 '양방향 파일 전송 시스템' 입니다. 중앙 서버 없이 컴퓨터끼리 각각 서버와 클라이언트가 되고, 서로 연결돼파일을 주고 받습니다.

클라이언트-서버 모델 VS P2P 네트워크

P2P네트워크는 중앙 서버가 관리하는 클라이언트-서버 모델과 반대되는 개념입니다. 클라이언트-서버 모델은 서버가 중앙에서 서비스를 관리하기에 시스템의 유지 관리가 편하지만 서버에문제가 생기면 시스템 전체가 중단됩니다. P2P 모델은 서버 없이 각 노드들에 트래픽과 자원을 할당하여 기존 서버에서 부담하던 부하를 분산합니다.이는 네트워크 전송 시간 때문에 노드 간에 정보가 달라지는 경우가 생길 수 있다는 단점이 있습니다. 하지만모든 노드들이 참여해 정보를 공유하기에 해당 플랫폼이 확장되기 쉽다는 장점이 있습니다.

P2P 네트워크 방식의 종류

P2P 네트워크 방식에는 크게 Hybrid P2P와 Pure P2P로 나뉩니다.Hybrid P2P는 기존 서버-클라이언트 모델을 완전히 벗어나지 못한 형태의 P2P입니다. 중앙 서버가중개하고, 개인 PC 즉 Peer 간에 데이터를 주고 받습니다.Pure P2P 방식은 중앙 서버 없이 네트워크에 참여하는 모든 컴퓨터가 서버와 클라이언트를 각각 담당하며
데이터를 주고받는 방식입니다. 노드로서 네트워크에 참여하기에 하나의 노드에 문제가 생겨도 네트워크전체에는 문제가 없습니다.

스마트 컨트랙트

각각의 노드는 블록체인 기반의 스마트 컨트랙트를 활용해 다양한 인공지능 기술을 제공합니다. 솔리디티언어로 계약을 작성하면 조건에 따라 계약 내용을 자동으로 실행할 수 있는 개념입니다. 계약이 실행되면계약서를 작성한 개발자와 계약서 실행을 위해 사용된 컴퓨팅 연산 력에 대해 네트워크 참가자에게 토큰 (암호화폐) 형식의 수수료를 제공합니다.

스마트 컨트랙트란

서면으로 이뤄지던 계약을 코드로 작성해서 특정 조건이 충족되면 계약 내용을 자동으로 실행하도록 작성된스크립트입니다. 이는 블록체인 기반으로 변조되지 않는 디지 털 계약서를 만들어서 거래, 계약, 증명 등을수행할 수 있게 합니다.

스마트 컨트랙트 등장 배경

스마트 컨트랙트는 블록체인이 등장하기 전에 나온 개념입니다. 처음에는 기존 서면 계약 방식에서 발생하는비용을 줄이기 위해서 1994년 제안된 방식입니다. 이후2013년, 이더리움창시자인 Vitalik은 스마트컨트랙트를 이더리움 블록체인에 도입했습니다.

블록체인의 스마트 컨트랙트

스마트 컨트랙트는 특정 조건이 충족돼야 계약이 체결되기 때문에 중개인 없이도 계약을 이행할 수있습니다. 블록체인은 많은 감시자가 존재하기에 스마트 컨트랙트를 도입하기에 최적의 환경입니다.블록체인에 스마트 컨트랙트를 도입하면서 블록 내에 암호화폐 거래 내역을 담던 것에서 나아가 계약기능까지 추가됩니다. 블록체인 플랫폼에서 다양한 분야의 거래 기능을 수행하는 분산형 어플리케이션(DAPP)을 제공할 수 있게 된 것입니다.예를 들어 부동산 매매계약서의 계약 조건을 스마트 컨트랙트로 작성하여 어플리케이션을 만든다고 합시다.해당 어플리케이션에서 스마트 컨트랙트 내에 작성된 계약 조건에 따라 소유권과 암호화폐 조건이부합한다면 암호화폐와 소유 권을 교환할 수 있습니다. 이로써 탈중앙화된 부동산 거래 블록체인어플리케이션을 만들 수 있습니다. 은행 거래만을 대체하던 블록 체인에 스마트 컨트랙트를 도입함으로써다양한 산업의 거래의 기능을 담당할 수 있게 됩니다.컴퓨터에 비유를 하자면 컴퓨터는 하드웨어와 어플리케이션 사이를 운영체제가 연결합니다. 여러어플리케이션은 운영체제 위에서 동작합니다. 이때 블록체인은 운영체제 역할을 하며 블록 체인을 기반으로스마트 컨트랙트를 통해 계약 기능을 수행하는 어플리케이션을 분산화 어플리케이션, DAPP이라고부릅니다. 이더리움은 스마트 컨트랙트를 도입함으로써 은행 업무만 담당하던 블록체인의 적용범주를넓혔습니다.

이더리움으로 보는 스마트 컨트랙트 작동방식

  1. 개발자가 Solidity 언어로 스마트 컨트랙트를 구현합니다.
  2. Solidity 코드를 컴파일하여, 네트워크에 배포할 수 있는 Byte 코드를 생성합니다.
  3. 트랜잭션에 Byte 코드를 담습니다
    3-1 마이너가 해당 트랜잭션이 담긴 블록을 채굴합니다.
    3-2 채굴과 동시에 해당 트랜잭션은 블록체인 네트워크에 기록됩니다.
  4. 유저
    4-1 유저는 ABI를 통해 배포된 스마트 컨트랙트 코드에 정의된 함수를 호출하는 Byte 코드를생성합니다.
    4-2 생성한 코드를 트랜잭션에 담아 블록체인 네트워크에 전달합니다.
  5. 채굴자
    5-1 채굴자는 유 저로부터 받은 바이트 코드를 배포된 스마트 컨트랙트 코드에 따라 EVM(이더리움 가상머신) 위에서 실행합니다.
    5-2 GasFee가 계산되면서 블록에 추가되고 실행결과가 유효한 경우 실행 결과가 state에 반영됩니다.SingularityNET은 블록체인을 기반으로 인공지능 서비스를 거래할 수 있는 플랫폼을 제공합니다. 이번 1편에서는 이 플랫폼이 어떻게 운영되는지 보다 정확히 알아보기 위해 블록체인의 기본 개념에 대해다뤄봤습니다. 다음 편에서는 SigularityNET에서 보상 체계로 제공하는 토큰인 AGI에 대해 알아볼예정입니다. 읽으시면서 블록체인 용어가 헷갈리셨을 분들을 위해 블록체인의 구조에 대해 간단히 정리한내용을 아래에 첨부했으니 궁금하신 분들은 읽어보시면 좋겠습니다.

참고내용 : 블록체인 구조

블록체인은 트랜젝션을 블록단위의 체인형태로 저장하는 기술입니다. 블록체인은 데이터를 블럭단위로나누고, 블럭 단위의 데이터를 체인처럼 연결하여 저장합니다. 블록체인 상의 모든 데이터는 그 이전의데이터와 체인 형태로 연결되고, 서로 연관성을 가집니다. 이렇게 연관성을 갖는다는 특징 때문에 하나의데이터만 따로 수정하는 것이 불가능합니다.

트랜잭션

블록체인에 저장되는 데이터는 트랜잭션 단위로 생성됩니다. 트랜잭션은 일반적으로 이전 트랜잭션의출력을 →새 트랜잭션의 입력으로 참조하고 입력 받은 값의 연산을 통해 값을 출력합니다.

블록

블록은 여러 트 랜잭션 집합들을 저장합니다. 블록은 이전 블록의 해시값(ID)을 포함합니다. 블록은 일종의데이터 패킷으로 몇 가지 정보를 저장합니다. 바로 전 블록의 해시값을 담고 있으며 이렇게 이어 진 블록들은시간 순으로 발생한 이체 내역을 담고 있는 하나의 블록 체인을 이룹니다.

체인

블록들은 이전 블록 해시값을 이용하여 서로 연관되는데 이때 연관되는 모양을 체인이라고 표현합니다. 각블록들이 체인으로 연결되어있기에 블록을 개별적으로 수정할 수 없어 데이터 변조가 불가능하다는 블록체인만의 강점을 가집니다. 블록 해시의 경우 블록 헤더에 저장된 6가지 정보를 입력값으로 하여 그 입력값을 해시 함수로 계산한 결과 값입니다.

0개의 댓글