디지털화폐가 비트코인을 대체한다

디지털화폐가 비트코인을 대체한다

블록체인을 기반으로 하는 캡스톤 프로젝트 강의를 수강하게 되었습니다. 프로젝트를 본격적인 시작하기 전에 복습할 겸 강의 중에 들었던 내용을 기반으로 다른 자료들을 찾아보려고 합니다. 웹은 프론트 엔드Front End와 백 엔드Back End로 나뉘어 있습니다. 프론트 엔드는 사용자의 눈에 직접 보이는 UIUX를 개발합니다. 온라인 포털 본연의 내용과 기능은 물론이고 사용자가 불편을 겪지 않도록 심미적 가독성 또한 갖춰야 합니다. HTML이나 CSS, Javascript가 주를 이루었습니다.

반대로 백 엔드는 사용자의 눈에 직접 보이지 않는 부분을 개발합니다. 데이터 베이스나 서버 등이 그러합니다. 인증 및 보안 또한 백 엔드에 포함됩니다. 이 두 가지 분야를 모두 아울러 풀 스택Full Stack이라고 하고, 풀 스택 개발자는 분업, 협업의 효율이 높기 때문에 개발 직군에서 특히 선호됩니다.


imgCaption0
블록체인Blockchain의 구성요소

블록체인Blockchain의 구성요소

블록Block 체인Chain 체인Chain은 각 블록을 연결시키는 고리를 말하며, 각 블록은 해시함수Hash function라는 힘찬 문서 압축기술을 통해 서로 연결됩니다. 노드Node 블록체인은 중앙 집중형 서버에 거래 기록을 보관관리하지 않고, 블록체인을 사용하는 모든 거래자들의 개별 컴퓨터에 거래장부를 공유하고 보관합니다. 이 거래자들이 자율적으로 모여 네트워크를 유지 및 관리합니다. 이 개개인의 서버, 즉 참여자를 노드Node라고 합니다.

블록체인 시스템에서는 중앙 감독관이 없기 때문에 블록을 배포하는 노드의 역할이 중요하며, 참여하는 노드들 가운데 절반 이상51 이상의 동의가 있어야 새 블록이 생성됩니다.

전통적 웹서비스 구조 vs 블록체인 웹서비스 구조

전통적인 웹서비스 구조는 서버를 기준으로 브라우저-사용자와 소통합니다. 서버는 프론트 엔드, 백 엔드, 데이터 베이스로 이루어져 있으며 백 엔드가 프론트 엔드와 데이터 베이스 간의 소통을 중재합니다. 프론트 엔드는 사용자에게 일관된 웹서비스 경험을 제시합니다. 블록체인 웹서비스 구조는 조금 더 복잡합니다. 프론트 엔드는 여전히 존재합니다. 다만 프로바이더provider가 프론트 엔드와 이더리움 버츄얼 머신Ethereum Virtual Machine 사이를 연결합니다.

데이터 베이스는 IPSF나 SWARM과 같은 탈중앙화 분산형 파일 시스템 등이 대신합니다. 그리고 이용자 인증을 위해 가상지갑주로 메타마스크를 사용이 사용됩니다. 암호화폐 지갑 암호화폐 지갑은 핫월렛과 콜드월렛 등 여러 종류로 나뉘는데, 이번 수업에서 사용될 지갑은 핫월렛인 메타마스크입니다.

해시함수Hash function이란?

해시함수Hash function는 어떤 데이터를 입력해도 같은 길이의 결과를 도출하는 일방향 함수oneway function를 말합니다. 도출되는 결과가 중복될 가능성이 굉장히 낮고, 결괏값을 보고 원래의 입력값을 역으로 예측하는 것이 불가능에 가깝다. 뜬금없지만 이해를 돕기 위해 자몽주스를 예로 들어보겠다. 자몽grapefruit을 믹서기에 넣고 갈면 일정한 용량ex. 300ml 등의 자몽주스가 만들어진다.

여기에서 자몽은 원본 데이터, 믹서기는 해시함수, 자몽주스는 결괏값해시값입니다. 자몽을 자몽주스로 만들 수는 있지만, 자몽주스를 다시 자몽으로 만들 수는 없습니다.. 그러므로 이 믹서기는 ”일방향(one-way)”으로만 작동(function)합니다. 자몽주스를 만드는 믹서기와 같이 해시함수는 어떤 원본 데이터를 넣든 간에 일정한 길이의 문자열 값을 도출하는 함수를 말합니다.

자주 묻는 질문

블록체인Blockchain의

블록Block 체인Chain 체인Chain은 각 블록을 연결시키는 고리를 말하며, 각 블록은 해시함수Hash function라는 힘찬 문서 압축기술을 통해 서로 연결됩니다. 자세한 내용은 본문을 참고 해주시기 바랍니다.

전통적 웹서비스 구조 vs 블록체인 웹서비스

전통적인 웹서비스 구조는 서버를 기준으로 브라우저사용자와 소통합니다. 좀 더 자세한 사항은 본문을 참고하시기 바랍니다.

해시함수Hash

해시함수Hash function는 어떤 데이터를 입력해도 같은 길이의 결과를 도출하는 일방향 함수oneway function를 말합니다. 자세한 내용은 본문을 참고 해주시기 바랍니다.