본문 바로가기

분류 전체보기95

공개 범위에 따른 블록체인(컨소시엄) 컨소시엄 블록체인 이란 동일한 목적이나 가치를 가지고 있는 '다수의 기업 or 단체' 들이 하나의 컨소시엄을 구성하고 그 안에서 작동하도록 만든 블록 체인이다. 퍼블릭과 프라이빗의 중간 형태로 하이브리드 블록체인으로 분류된다. 프라이빗 블록체인과는 달리 같은 목적을 가지고 있는 여러 기관이 하나의 컨소시엄을 구성하여 공정성과 확장성을 보완 하였다. 그렇기 때문에 다수 참여자의 협의가 필요한 분야에서는 컨소시엄 블록체인이 프라이빗 블록체인보다 효과적이다. 활용 금융권은 다수의 회사가 참여하는 컨소시엄 블록체인 도입을 가장 발 빠르게 속도내고 있다. 기관 간 직접 거래로 제 3자에 대한 거래 수수료를 줄이고 거래 시간을 단축한다. 이미 일본에서는 61개의 은행으로 구성된 컨소시엄이 블록체인 기반 어플리케이션.. 2022. 2. 14.
공개 범위에 따른 블록체인(프라이빗) 프라이빗 블록체인이란 폐쇄형 블록체인으로 퍼블릭 블록체인에 상대적인 개념이다. 프라이빗 블록체인은 서비스 제공자의 승인을 받아야 참여가 가능하다. 그 과정에서 신원이 모두 밝혀져서 익명성도 없고 시스템 전체를 관리하는 중앙 관리 주체가 존재한다. 이 주체가 참가자의 범위를 결정 한다. 주로 기업에서 활용한다. 미리 참가자를 제한하고 신뢰 할 수 있는 참가자끼리 거래를 승인하기 때문에 합의 알고리즘이 퍼블릭 블록체인에 비해 간단하여 네트워크 운영에 참여한 보상이 필요 없고 정보의 외부 유출을 원치 않으며 처리 속도를 중요시 한다. 고도의 보안을 필요로 하는 정부에서도 이러한 형태의 블록체인 도입을 고려중이다. 특징 프라이빗 블록체인에 참여하려면 반드시 권위 있는 조직 승인이 필요하다. 운영 주체가 명확하고.. 2022. 2. 14.
공개 범위에 따른 블록체인(퍼블릭) 블록 체인은 활용 되는 목적, 공개 범위에 따라 다양한 방법으로 네트워크를 구축하며, 그 종류는 현재 퍼블릭, 프라이빗, 컨소시엄, 이 있다. 퍼블릭 블록체인 퍼블릭 블록체인이란 누구든지 자유롭게 참여 가능한 개방형 네트워크를 의미한다. 트랜잭션 내역이 모두에게 공개되어 네트워크에 참여한 모든 노드가 이를 검증하고 거래를 승인하기 때문에 처리 속도가 느리기도 하다. 또한 특정 조직의 승인 없이 누구든지 다양한 장비를 이용하여 블록체인 네트워크에 참여 할 수 있다. 특징 퍼블릭 네트워크에 참여하는 개별 컴퓨터를 노드라고 부른다. 각 노드들은 블록 체인에 저장된 데이터를 복사, 저장하고 해시 연산을 통해 새로운 블록 생성에 참여 가능하다. 또한 블록체인 네트워크에 연결하지 않고 접속을 차단함으로써 자유롭게 .. 2022. 2. 14.
블록 체인이란 블록 체인의 역사 블록체인은 사이버 펑크 운동에 뿌리두고 있으며 사이버펑크는 중앙집권화된 권력에 반하여 탈 중앙화 시스템을 만드려는 운동이다 2009년 1월 3일 사토시 나카모토는 블록체인 기술을 적용한 최초의 암호화폐인 비트코인(bitcoin)을 개발하고 C++ 언어로 작성한 소스 코드를 배포했다. 블록 체인이란 무엇일까 (블록 + 체인) 블록 체인 기술의 핵심은 인터넷 상에 "모든 사람"과 동일한 데이터를 가진다. 라는 것이다. 1. 누구나 데이터를 추가 할 수 있고 2. 데이터는 한 번 추가되면 위변조가 불가능하며, 3. 개인이나 단체가 데이터를 관리 하는 것이 아닌 블록 체인의 모든 사람이 함께 관리한다. 블록 이란? 데이터를 저장하는 공간이라 말 할 수 있다. 자산에 대한 정보, 개인 정보, 등.. 2022. 2. 14.
If with a Twist variable expression : if-else 안에서 사용가능하고 안에서만 적용됌 package main import ( "fmt" ) func canIDrink(age int) bool { if koreanAge := age + 2; koreanAge 2022. 2. 13.
for, range, ...args loop range : array에 loop 를 적용 할 수 있게 해줌, for 안에서만 사용 가능하다. package main import ( "fmt" ) func supperAdd(numbers ...int) int { for number := range numbers { fmt.Println(number) } return 1 } func main() { supperAdd(1, 2, 3, 4, 5) } 0 1 2 3 4 range는 index를 주기 때문에 다음과 같이 작성하면 1 2 3 4 5 6 이 나온다 package main import ( "fmt" ) func supperAdd(numbers ...int) int { for index, number := range numbers { fmt.. 2022. 2. 13.