블록체인에 대해서 알아보기
블록체인의 블록은 무엇을 말하는 걸까요?
해시 알고리즘은 쉽게 지문을 디지털 문서에 적용한 것이라고 볼 수 있습니다. SHA는 안전한 해시 알고리즘의 약자이며 256은 메모리를 차지하는 비트의 수입니다.
불변 원장은 변경할 수 없는 기록입니다. 데이터가 변경되지 않았다는 증거가 필요하며 디지털 데이터를 신뢰할 수 있는 유일한 방법입니다.
분산 P2P 네트워크는 동일한 네트워크에 참여한 모든 노드가 무결성을 확보하고 유지합니다.
채굴에 대해 알아보기 앞어 논스(Nonce)에 대해 알아볼 것입니다.
논스와 채굴의 관계 및 채굴 방법에 대해 알아봅니다.
비잔틴 장애 허용에 대해 알아볼 것입니다. 이는 블록체인뿐만 아니라 모든 형태의 탈중앙화 시스템에서도 아주 중요한 특징입니다
합의 프로토콜은 분산 네트워크 참가자 간의 합의를 달성하는데 사용되는 프로세스로 이러한 블록체인을 위한 합의 프로토콜은 2가지 문제를 해결해야 한다.
블록체인 데모를 통한 블록체인의 이해
블록체인에 대해 배운 중간 정리
블록체인을 만들기 위한 준비
블록체인을 만들기위한 준비 1. Flask 다운로드 2. Postman 다운로드
블록체인을 만들기 위한 라이브러리와 클래스 정의 및 함수 호출 방법에 대해 알아봅니다.
작업 증명은 채굴자들이 새로운 블록을 채굴하기 위해 찾아내야 하는 데이터 또는 숫자를 뜻합니다. 따라서 채굴자들이 해결해야 하는 문제를 정의할 것입니다.
블록을 입력값으로 갖고 해당 블록에 대한 SHA256 암호화 해시를 그 결과로 반환합니다.Json 라이브러리의 dumps 함수를 이용해 블록의 딕셔너리를 문자열로 변경 합니다.이전 블록의 해시가 동일한지를 파악하는 것이기 때문에 이전 블록 변수 또는 초기화해야 합니다.
어떤 URL이 함수를 작동시켜야 하는지 알려줍니다.http://127.0.0.1:5000/mine_block에서 새 블록 채굴 요청을 보낼 수 있습니다.참고https://flask.palletsprojects.com/en/2.2.x/quickstart
새 블록을 얻고자 하므로 블록을 얻기 위한 get 메서드를 사용합니다.블록을 채굴하기 위한 mine_block이라는 새로운 함수를 정의합니다.작업 증명 문제를 해결하기 위해 이전 증명을 얻습니다.증명을 통해 이전 해시 값을 얻은 후 create block 함수를 호출합
Flask를 이용하여 앱을 실행해보고 Postman으로 요청을 할 것 입니다.mine_block을 통해 채굴하고 get_chain을 요청할 것입니다.앱을 실행하기 위해 아래 코드를 추가해 줍니다.네트워크 사용자를 신뢰할 경우 호스트를 0.0.0.0으로 추가하여 서버를
암호화폐의 세계에는 중요한 3가지 층이 있습니다.기술프로토콜과 코인토큰기술층에는 블록체인이 있습니다. 이전에 자세하게 다뤘었고 원리를 알고있을 것 입니다.프로토콜에는 비트코인과 같은 것이 있는데 단순한 코인이 아니라는 것을 이해하는 것이 매우 중요합니다. 프로토콜은 네
정부의 중앙은행이 자체 통화 정책과 자체 금융 시스템이 있는 것처럼 비트코인도 통화 정책이 있습니다.비트코인의 통화 정책에는 크게 두 부분이 있습니다.반감기블록 빈도이 원칙에 따르면 시스템에 출시되는 비트코인의 수가 4년마다(210,000블록에 달할때 마다) 절반으로
채굴 난이도는 어떻게 산출되고 어떻게 조정될까요 ?난이도는 2,016블록마다 조정됩니다. 이상적으로 모든 블록은 10분마다 하나씩 생성됩니다. 이렇게 계산하면 2주만에 총 2,016개 블록이 생성되고 2주에 한 번씩 난이도가 조정됩니다.의도적으로 너무 빠르게 블록이 채
채굴자 네트워크에서 채굴자들은 암호화 퍼즐을 풀기 위해 경쟁하게되고 언젠가는 보상을 받을 수 있습니다. 그러나 규모가 크가 채굴기를 갖춘 광산도 참여하게 된다면 개인이 골든 논스를 찾을 확률은 거의 없다고 볼 수 있어 불공평한 경쟁이될 것입니다.이러한 산업 수준 광산이
트랜잭션은 모든 노드와 모든 채굴자에 연결되어있는 멤풀(mempool) 또는 메모리 풀(memory pool)에서 발생합니다. 하지만 이것들은 전부 블록 내부에 포함되기 전에 저장되는 미확인 트랜잭션입니다. 블록은 10분 간격으로 추가되지만 트랜잭션은 비트코인을 보내거
채굴자들이 해시 암호문을 해독할 때 사용하는 하드웨어 중 CPU, GPU, ASIC에 대해 알아봅니다.컴퓨터의 연산이 이루어지는 핵심 공간입니다. 여러 일을 처리하기 위해 다재다능해야하며 한 분야에 특화되지 않고 정교한 일을 할 수 있지만, 보통 일반적인 일을 합니다.
분산 P2P 네트워크에서 멤풀의 작동 원리에 대해 살펴보겠습니다.노드라고 불리는 네트워크 내 참여자들이 이용하는 컴퓨터를 노드라고 하며 이들은 채굴자가 아니라 해당 네트워크에서 거래하고 서로에게 비트코인 또는 다른 암호화폐를 보내는 등의 활동을 하는 사람들 입니다.이들
고아블록(orphan block)은 두 개의 블록이 동시에 승인되었을 때 메인체인으로 연결되지 못해 따로 떨어져 존재하는 블록을 말합니다. 스테일블록(stale block)이라고도 하며 고아블록 중에서 첫번째 블록을 엉클블록(uncle block)이라고 합니다.고아 블
51%의 공격은 가상의 공격이긴 하지만 실제로 일어날 가능성도 있습니다. 이 공격이 가져올 수 있는 결과 때문에 블록체인 참여자들이나 채굴자들은 이를 두려워하고 또 자주 언급합니다. 51%의 공격인 것과 51%의 공격이 아닌 것에 대해 알아볼 것입니다. 51% 공격
현재 대상을 얻는 방법과 어떻게 블록에 저장하는지에 관해 알아볼 것입니다. 대상과 연결된 난이도는 현재 대상을 최대 대상으로 나눈 것입니다. 대상(Target) 저장 - 현재 대상 현재 대상의 경우 Bits라고 부르는 필드에 저장 됩니다. https://www.
앞으로 배울 내용에 대해서 간략하게 정리해보겠습니다.이더리움이란 무엇인가?스마트 계약이란 무엇인가?탈중앙화 애플리케이션(Dapps)이더리움 가상 머신과 가스탈중앙화된 자율조직(DAOS)DAO 공격소프트 포크와 하드포크초기 코인 공개(ICOs)ICO 사례블록체인 스타트업
비트코인 사용을 시작한 후에 다음과 같은 트랜잭션을 받았습니다.이 모든 것은 블로겣인에서 일어나는 각각의 트랜잭션입니다.모든 트랜잭션으로 비트코인을 받는데 이런 것을 비트코인에서는 UTXO라고 부릅니다.즉, 미사용 트랜잭션 출력값이라는 뜻입니다.여기서 비트코인과 은행
트랜잭션의 기초를 예시를 통해 이해할 수 있었습니다.이제 지갑의 관점에서 전부 하나로 모아 어떤 원리인지 좀 더 넓게 확인할 수 있습니다.이를 통해 블록체인에서의 트랜잭션 원리가 은행 시스템과 어떻게 다른지 알 수 있을 것입니다.블록체인에는 잔고가 아니라 UTXO를 계
블록체인과 전체 트랜잭션을 보면 누가 누구에게 보냈는지 확실하게 알 수 있습니다. 그렇다면, 블록체인이 어떻게 프라이버시를 보장하는지 알아봅시다.암호화폐를 시작하면 개인 키가 할당되는데 이는 고유 식별자로 은행 계좌의 비밀번호 같은 것으로 누구에게도 알려서는 안됩니다.
super data science에서 서명, 개인키, 공개 키 원리의 데모를 진행할 것입니다.데이터를 넣어 개인 키와 공개 키를 생성할 수 있습니다. 길이 상관없이 고정된 16진수를 얻습니다. 메시지나 트랜잭셩 생성 시 개인 키로 서명하고 공개 키를 사용해 검증을 합니
비트코인에는 1MB의 사이즈 제한이 있습니다. 많은 트랜잭션을 포함할 수 없고, 네트워크상에서 대역폭 문제를 많이 겪게 되며 트랜잭션을 포함하기 위해 오래 기다려야 할 것입니다. 반면에 네트워크가 느려지는데 전체 원장이 네트워크에 공유되야 하기 때문에 오래걸릴 것입니다
공개 키와 비트코인 주소의 차이점을 알아보겠습니다.개인 키와 메시지를 이용해 서명을 생성하고 공개 키, 메시지, 서명을 검증 함수에 넣어 예, 아니오 응답을 얻을 수 있습니다.비트코인 주소는 공개 키에서 SHA256 해시 함수를 적용해서 얻을 수 있습니다. 공개 키에서
프라이버시를 위해 개인 키를 만들어 키마다 공개 키와 주소를 따로 생성했습니다.그리고 개인 키나 공개키 또는 주소를 특정 항목별로 사용합니다.이보다 더한 프라이버시를 원할 때 매번 새로운 개인 키를 생성해서 새로운 주소를 얻을 수도 있습니다. 하지만 이들을 일일이 관리
세 개의 파일을 새로 만들어 포트를 5001, 5002, 5003으로 설정하여 테스트를 진행합니다.
hadcoin.py node.json transaction.jsaon
이더리움은 몇 년 동안 진행된 프로젝트이며 세상을 대대적으로 변화시키고 있습니다.이더리움이 어떻게 만들어지게 됐는지, 그리고 이더리움의 바탕에 있는 개념이 무엇인지를 알아보겠습니다.그 후 스마트 계약, 블록체인 프로젝트 그리고 ICO에 관해서 공부하고 이더리움이 어떻게