인프런 '블록체인과 솔리디티' - 블록체인프로젝트/졸업 프로젝트2022. 3. 27. 17:21
Table of Contents
블록체인
- 말 그대로 블록들이 연결된 체인
- 블록?
- 쉽게 이야기 하면 데이터들의 집합
- 이러한 블록은 모든 사용자가 동일하게 가지고 있음
- 이를 통해 한 사용자가 다른 데이터를 가진 블록을 가지고 있다면 해당 데이터가 틀렸음을 알 수 있다.
- 탈중앙화?
- 기존의 보안은 철저히 통제된 저장소에 제한된 인원만 접근이 가능하도록 하여 성립됨
- 반면 블록체인은 가능한 많은 사람들이 데이터를 가지고 있도록 하여 보안을 유지
- 이러한 시스템에서 칩입자가 데이터를 조작하고자 하면 수많은 사람들이 가지고 있는 블록의 데이터를 모두 수정해야 하기 때문에 보안이 유지될 수 있음
- 암호학을 기반으로 이러한 시스템이 설계되어 있기 때문에 블록체인을 통한 보안 시스템이 신뢰받을 수 있게 됨
머클 트리
http://wiki.hash.kr/index.php/%EB%A8%B8%ED%81%B4%ED%8A%B8%EB%A6%AC
- 머클이 만든 트리 구조
- 해시가 이용된 데이터 검증을 위한 트리 구조
- 블록체인에서 라이트노드와 거래 검증의 핵심 요소
- 라이트 노드? 머클 루트?
- 머클 트리의 루트 (머클 루트) 만을 가지고 있는 노드를 라이트 노드라고 함
- 머클 루트는 하위 노드들의 조합으로 만들어지기 때문에 머클 루트 값만 비교해서 다르다면 데이터가 틀렸음을 인지할 수 있음
- 이를 통해 컴퓨팅 파워가 약한 스마트폰 등에서도 블록체인을 유지할 수 있음
- 쉬운 거래 검증
- 4라는 거래가 실제로 존재함을 확인하기 위해서는 4의 짝노드(3)와 4의 상위 노드의 짝노드(12)만 알려주면 실제로 4라는 거래가 존재했는지를 검증할 수 있음
- 라이트 노드를 통해 확인?
블록체인의 활용
- 가장 대표적인 활용은 암호화폐
- 블록체인이 암호화폐에 활용될 수 있었던 가장 큰 이유는 가치전달이 가능하기 때문
- 가치 전달?
- 지금까지 인터넷은 정보만 전달할 수 있었음
- 조작/변경이 불가능한 블록체인에서의 거래는 그 자체로 가치가 전달된 것임을 증명해줌
- 1세대인 비트코인까지는 가치가 금전에 한정되었지만 이더리움으로 넘어오며 이 가치가 데이터로 확장됨
이더리움과 스마트 컨트렉트
- 이더리움 → 암호화폐인 동시에 블록체인 플랫폼, 블록체인 위에 스마트 컨트렉트를 작성할 수 있도록 설계됨
- 스마트 컨트렉트 → 블록체인 위의 계약서, 과정을 블록체인에 담는다?
- Decentralized Application(DApp) → 블록체인 위에서 동작하는 앱을 뜻함
- 이를 통해 어떤 조건을 만족하면 실행되는 계약을 만들 수 있음
- 이는 무결한 블록체인을 통해 온전하게 실행됨
- 튜링 완전한 언어를 내장하고 있다.
블록체인과 이더리움의 문제
- 프라이버시
- 블록체인은 기본적으로 데이터 조작이 불가능하고 평생 기록이 남음
- 이로 인해 프라이버시 문제가 발생 가능
- 트랜잭션 코스트
- 이더리움은 트랜잭션을 실행시킬 때 가스라는 수수료를 내게 됨
- 이 가격을 사용자가 부담함
- 매번 변하는 가스비와 이더리움 가격이 증가할 수록 높아지는 수수료는 부담이 될 여지가 있음
- 이더리움은 트랜잭션을 실행시킬 때 가스라는 수수료를 내게 됨
- 트랜잭션 스피드
- 중앙화된 처리에 비해 상당히 느린 속도로 거래됨
- 비자 카드의 처리 속도는 평균 1초에 2000개, 이더리움은 평균 1초에 20개
- 중앙 처리 시스템에서는 처리 즉시 효력이 발생하나 블록체인에서는 시스템 설계 상 10번 정도의 컨펌이 나야 효력이 발생함 → 시간 상으로는 약 3분정도 소요
- 블록 사이즈
- 모든 채굴자가 모든 블록을 가지고 있어야 하므로 용량을 아주 많이 차지하게 됨
- 매달 약 2GB 정도의 블록이 추가되기 때문에 매우 큰 용량이 필요함
- 이러한 문제점들은 블록체인이 모든 문제의 해결책이 아님을 시사하고 있음
'프로젝트 > 졸업 프로젝트' 카테고리의 다른 글
이해당사자 특정 및 문제 상황 정의하기 (0) | 2022.03.27 |
---|---|
인프런 '블록체인과 솔리디티' - 솔리디티 (0) | 2022.03.27 |
도출된 아이디어 덧붙이기 (0) | 2022.03.27 |
문제 정의 (0) | 2022.03.27 |
아이디어 도출 (0) | 2022.03.27 |
@gmelon :: gmelon's greenhouse
백엔드 개발을 공부하고 있습니다.