개발

    [BlockChain] 블록체인의 트릴레마

    1. 블록체인의 트릴레마란? 트릴레마란 세가지 목표 가운데 두가지 목표는 동시에 해결할 수 있지만 세가지 목표를 한꺼번에 해결할 수 없는 문제를 뜻한다. 블록체인 트릴레마라고 했을때는 확장성, 탈중앙화, 보안성이라는 블록체인의 세 가지 근본 가치를 동시에 달성하기 매우 어려움을 뜻한다. 확장성이란 블록체인이 얼마나 많은 트랜잭션을 얼마나 빠르게 처리하는지, 탈중앙화는 특정 집단이 통제하는것이 아닌 서로 다른 개별 참여자들이 합의를 통해 네트워크를 운영 및 관리할수 있는지, 보안성은 네트워크에 대한 공격으로부터 블록체인에 기록된 정보 및 자산을 안전하게 지킬수 있는지이다. 2. 각 요소의 장단점 (1) 확장성 장점 단점 네트워크가 많은 양의 트랜잭션을 지원할 수 있도록 함 보안을 희생해야 함 보안이 주요 ..

    [Docker] kubernetes 기초 개념

    1. 쿠버네티스란? 쿠버네티스는 배포를 위해 사용하는 오픈소스이다. 원하는 배포를 정의하는 구성파일, 배포할 컨테이너, 인스턴스 수, 스케일을 확장해야 하는지, 교체해야하는지 등을 설정할 수 있다. 그 다음 특정 도구를 사용하여 클라우드 프로바이더 또는 실제로 올바르게 구성된 우리의 자체 머신에 전달한다. 그러면 그 구성에 지정된 리소스와 배포를 생성하기 위해 쿠버네티스 구성을 적용한다. 쿠버네티스는 도커를 대신하는것이 아니다. 도커 컨테이너와 함께 작동하여 컨테이너를 어디에나 배포할수 있게 하는 것이다. 여러 머신을 위한 docker-compose라고 생각할 수 있다. 2. 수동 배포의 문제점 컨테이너가 충돌하거나 다운될 경우 새 컨테이너로 교체해야 한다. 트래픽 급증시 더 많은 인스턴스가 필요하다. ..

    [Docker] docker로 mariadb 개발환경 구축하기

    기업협약 팀프로젝트를 하면서 mariadb를 사용할 일이 있었다. 팀원들은 전에 mysql만 사용해봤기 때문에 mariadb는 로컬에 깔려있지 않았다. mysql과 mariadb는 같은 포트번호를 잡아먹기 때문에 동시에 설치하여 실행하기 위해서는 따로 포트를 바꿔줘야했다. 이러한 번거로움을 덜기위해 도커로 mariadb를 실행하여 포트번호 통일, 로컬에 설치하지 않아도 되게끔 했다. 1. mariadb 이미지 mariadb - Official Image | Docker Hub Note: the description for this image is longer than the Hub length limit of 25000, so has been trimmed. The full description can ..

    [BlockChain] 블록체인이란 무엇인가?

    1. 블록체인 개요 (1) 블록체인 정의 블록체인은 비즈니스 네트워크에서 트랜잭션을 기록하고 자산을 추적하는 프로세스를 용이하게 하는 공유 불변 원장이다. 자산은 유형자산(부동산, 현금, 자동차) 또는 무형자산(저작권, 특허)을 의미한다. 사실상 가치를 지닌 모든것을 블록체인 네트워크에서 추적하고 거래할 수 있으며, 모든 관련 사항에 대한 리스크를 줄이고 비용을 절감한다. (2) 블록체인이 중요한 이유 비즈니스는 정보에 기초한다. 정보를 보다 신속하게 수신하고, 정보의 정확성이 높을수록 이로운 결과를 가져온다. 블록체인은 이러한 정보를 전달하는 데 적합한 기술이다. 투명성을 갖춘 즉각적인 공유 정보를 허가된 네트워크 구성원만 접근할 수 있는 불변 원장에 저장하여 제공하기 때문이다. 블록체인 네트워크는 주..

    [HyperLedger] The odering service

    1. Orderer 기본 비트나 이더리움은 아무 node나 transaction의 순서를 정하고, block으로 묶는다. 비트나 이더리움은 높은 확률로 ledger의 일관성을 보장하는 "확률론적 알고리즘"을 채택하기 때문이다. ledger가 fork가 되면 참여자들이 서로다른 trnasaction 순서를 가질수도 있다. fabric은 orderer가 transaction의 순서를 관리하는것이 기존 비트, 이더와의 차이점이다. 이는 orderer가 결정하는 결정론적 알고리즘이다. 그렇기 때문에 peer가 검증한 모든 블록은 최종적이고 정확함을 보장한다. => fork되지 않는다. 이외에도 순서화와 체인코드의 실행을 orderer와 peer로 분산시켰기 때문에 성능과 확장성 측면에서 이점을 얻을수 있다. 피..

    [HyperLedger] Fabric 네트워크의 구성 방식

    1. 블록체인 네트워크란? 블록체인 네트워크는 애플리케이션에 원장(Ledger) 및 스마트 계약(Smart Contract) 서비스를 제공하는 기술 인프라이다. 주로 스마트 계약은 원장 사본에 불변하게 기록되는 트랜잭션을 생성하는 데 사용된다. 대부분의 경우 여러 조직이 체인코드에서 트랜잭션이 호출되고 채널이 원래 구성될 때 동의한 일련의 정책에 따라 권한이 결정되는 채널을 형성한다. 정책은 조직의 동의에 따라 변경될 수 있다. 네트워크의 예시는 위와 같다. 2. 네트워크 생성 네트워크 또는 채널 생성의 첫 번째 단계는 구성에 동의하고 정의하는 것이다. "구성 블록"으로 알려진 블록에 채널 구성(channel configuration)은 조직 R1, R2 및 R0에서 동의했다는 것이 포함된다. 구성 블록..