[BlockChain] 블록체인의 트릴레마
·
개발/BlockChain
1. 블록체인의 트릴레마란? 트릴레마란 세가지 목표 가운데 두가지 목표는 동시에 해결할 수 있지만 세가지 목표를 한꺼번에 해결할 수 없는 문제를 뜻한다. 블록체인 트릴레마라고 했을때는 확장성, 탈중앙화, 보안성이라는 블록체인의 세 가지 근본 가치를 동시에 달성하기 매우 어려움을 뜻한다. 확장성이란 블록체인이 얼마나 많은 트랜잭션을 얼마나 빠르게 처리하는지, 탈중앙화는 특정 집단이 통제하는것이 아닌 서로 다른 개별 참여자들이 합의를 통해 네트워크를 운영 및 관리할수 있는지, 보안성은 네트워크에 대한 공격으로부터 블록체인에 기록된 정보 및 자산을 안전하게 지킬수 있는지이다. 2. 각 요소의 장단점 (1) 확장성 장점 단점 네트워크가 많은 양의 트랜잭션을 지원할 수 있도록 함 보안을 희생해야 함 보안이 주요 ..
[BlockChain] 블록체인이란 무엇인가?
·
개발/BlockChain
1. 블록체인 개요 (1) 블록체인 정의 블록체인은 비즈니스 네트워크에서 트랜잭션을 기록하고 자산을 추적하는 프로세스를 용이하게 하는 공유 불변 원장이다. 자산은 유형자산(부동산, 현금, 자동차) 또는 무형자산(저작권, 특허)을 의미한다. 사실상 가치를 지닌 모든것을 블록체인 네트워크에서 추적하고 거래할 수 있으며, 모든 관련 사항에 대한 리스크를 줄이고 비용을 절감한다. (2) 블록체인이 중요한 이유 비즈니스는 정보에 기초한다. 정보를 보다 신속하게 수신하고, 정보의 정확성이 높을수록 이로운 결과를 가져온다. 블록체인은 이러한 정보를 전달하는 데 적합한 기술이다. 투명성을 갖춘 즉각적인 공유 정보를 허가된 네트워크 구성원만 접근할 수 있는 불변 원장에 저장하여 제공하기 때문이다. 블록체인 네트워크는 주..
[BlockChain] TypeScript로 transaction 만들기
·
개발/BlockChain
[BlockChain] TypeScript로 지갑 만들기 [BlockChain] TypeScript로 P2P 구현 [TypeScript] TypeScript로 체인 만들기 [TypeScript] TypeScript로 블록 만들기 1. TypeScript로 블록만들기 (1) OOP(Object Oriented Programming) OOP는 객체지향적인 방법으로 코드를 작성하 diary-blockchain.tistory.com 1. Transaction 트랜잭션이란 블록체인의 거래내역이라고 생각하면된다. 블록이 생성될때 데이터 부분에 몇번째 블록인지 문자로 담았는데 그 부부분에 트랜잭션을 담아준다. 첫번째 블록은 하드코딩 했던것처럼 트랜잭션도 첫번째 트랜잭션은 코인베이스 트랜잭션이라고 하고 마이닝 했을때 ..
[BlockChain] TypeScript로 지갑 만들기
·
개발/BlockChain
[BlockChain] TypeScript로 P2P 구현 [TypeScript] TypeScript로 체인 만들기 [TypeScript] TypeScript로 블록 만들기 1. TypeScript로 블록만들기 (1) OOP(Object Oriented Programming) OOP는 객체지향적인 방법으로 코드를 작성하는 프로그램의 설계 방법론중 diary-blockchain.tistory.com 블록, 체인 만들기와 이어서 지갑까지 만든다. 0. 블록체인 (1) 머클트리 [블록체인] 비트코인 1. 비트코인이란? 비트코인/백서 - 나무위키 기존의 인터넷 기반 상거래는 전자결제를 처리하기 위해, 우리는 신뢰할 수 있는 제 3자인 외부의 금융기관에 의존해 왔다. 이러한 방식은 대부분의 diary-blockch..
[BlockChain] TypeScript로 P2P 구현
·
개발/BlockChain
[TypeScript] TypeScript로 체인 만들기 [TypeScript] TypeScript로 블록 만들기 1. TypeScript로 블록만들기 (1) OOP(Object Oriented Programming) OOP는 객체지향적인 방법으로 코드를 작성하는 프로그램의 설계 방법론중 하나다. 수많은 객체 단위를 만들 diary-blockchain.tistory.com 블록, 체인 만들기에 이어서 코드를 작성한다. 1. P2P 구현 Block클래스와 Chain클래스, 웹소켓을 이용하여 P2P 네트워크를 구현한다. http와 ws(웹소켓)을 사용해서 api들을 구성하고 블록을 가져올 서버를 express로 만든다. 2. express, ws 설치 npm i express npm i --save-dev ..
[BlockChain] TypeScript로 블록 만들기
·
개발/BlockChain
1. TypeScript로 블록만들기 (1) OOP(Object Oriented Programming) OOP는 객체지향적인 방법으로 코드를 작성하는 프로그램의 설계 방법론중 하나다. 수많은 객체 단위를 만들어 서로 상호작용하며 동작하는 방식이다. OOP에서 객체는 하나의 역할을 수행하는 함수와 변수들의 묶음 데이터로 보면 된다. 이러한 객체지향 프로그래밍은 프로그램을 만들때 제일 작은 단위부터 만들어가는 방식을 선호한다. 하지만 작은 단위부터 작성하면 테스트가 어렵다는 단점이 있고 이를 극복하기 위해 TDD를 사용한다. (2) TDD(Test Driven Development) 작은 단위들을 테스트 해보며 개발하기 위해 사용하는 기법이다. TDD기법으로 하기 위해 Jest,babel 라이브러리를 사용한..