블럭체인 2022. 11. 14. 14:57
반응형

해쉬(Hash)
- 대수학 또는 암호학에서 말하는 의미
- 즉, 임의의 길이의 메시지를 입력하여 중첩이 않되는 정해진 길이값

해쉬율(Hash rate)
- 초당 해쉬값 계산횟수를 의미. 즉, 해쉬속도를 의미함
- 해쉬율이 높다는 것은 채굴이 빠르다를 의미하고, 낮다는 것은 채굴이 느리다를 의미
- 주의할점은 해쉬율이 높다 --> 빠르다 --> 채굴이 빠르다 --> 채굴량 증가 를 의미하지만, 
      반대로 해쉬율이 높아지면 --> 채굴 난이도 상승(블럭체인 내부 디자인) --> 경쟁이 치열해짐

채굴난이도(Mining Difficulty)
- 채굴 속도가 빨라지면, 암호 문제(hash값 찾기)의 난이도도 자동으로 높아짐
- 채굴 난이도는 2016개의 블록이 생성되는 시점인 2주마다 조절됨
https://btc.com/stats/diff

 

Difficulty - BTC.com

 

btc.com


해쉬파워(Hash power)
- 블록 체인 네트워크에서 채굴자들이 가지고 있는 채굴 POWER를 의미, 즉, 채굴자들 채굴기 POWER
- 현재, 이더리움이 POW에서 POS방식 전환으로 인해 채굴이 종료(?)되면서 이로인한 이더리움 해쉬 파워가 남아 돌게 되고, 채산성(경제성)이 급격이 나빠짐.

반응형
posted by choiwonwoo
:
블럭체인 2022. 1. 26. 16:48
반응형

# 초기에는 '코인(암호화폐) vs 토큰(Token)'는 구분이 나에게 힘들었습니다.

그래서, 해당 내용을 정리한 메모내용이 발견(?)되어 기록으로 남기고자 합니다.

[차이 설명]
1. 기술적으로 독자적인 블럭체인 메인넷(네트워크)을 가지고 있으면 "코인", 없으면 "토큰"

2. 독자적인 메인넷 코인은 채굴(mining)되어 생산되고, 토큰은 미리 발행되어 뿌려짐

3. 토큰 발행을 ICO라고 하는데, 이더리움 메인넷을 기반으로 하는 경우는 전세계 표준인 

      ERC-20(Ethereum Request for Comment)을 기반으로 함
     이 기준을 준수한다는 것은 DAPP(Decentralized Application, 탈중앙화 응용 프로그램)에서 사용할 수 있는

        토큰을  의미하게 됨

4. 블럭체인 메인넷 코인: BTC, ETH, EOS, TRX, QTUM, STEEM, NEM등

5. 메인넷의 존재는 자체적인 생태계(예:독자적인 사업성), 기술력 그리고 자본력을 의미함
그래서, 처음부터 코인으로 존재하기는 어렵고, 처음에는 토큰에서 코인으로 진화(?)함


6. 진화: 토큰에서 코인으로
1) 기존 메인넷을 기반으로 토큰 제작(DApp을 활용해 개발)과  ICO를 진행(White paper 발행)
2) 블럭체인 네트워크 개발, 그리고 테스트넷 진행(Coin으로 발전할수 있는지 테스트 하는 것)
3) 테스트넷이 성공하면, 메인넷을 출시: 독자적인 생태계와 독립적인 지갑을 생성이 가능
4) 메인넷성공하면, 토큰에서 코인으로 전환됨.

반응형
posted by choiwonwoo
:
블럭체인 2022. 1. 26. 15:41
반응형

초기에 생각보다 개념 정리가 힘들었서, 어느 노트에 정리할려고 모았던 자료를 기반으로 내용을 정리하였습니다.

(* 혹시 비슷한 글이 보인다면, 넓은 마음으로 이해 부탁드립니다.)

 

1. 채굴(mining)이란?

- 블럭체인(Blockchain)의 핵심인 노드(node)를 생성하는데 기여하고, 그 보상으로 암호화폐(예: 비트코인, 이더리음등)을 얻는 것을 의미함. 

- 노드(node)의 역활은 거래내역을 담고 있고, 이거래 내역은 신뢰성을 담보함. (*노드 역할/상태에 따라 다양한 종류 있음)

- 기술적인 분류: POW(작업증명), POS(지분증명), DPOS(위임지분증명)

 

2. 채굴 방법

1) CPU: POW

- 현재는 채산성이 거의 없음

2) GPU: POW

- 그래픽 카드의 가격이 이슈임

3) ASIC: POW

- ASIC 정의: 특정한 목적을위해 설계된 주문형 반도체 의미

- 코인 채굴을 위해서 설계된 장비를 의미

- 다양한 종류의 ASIC장비가 생산되나, 한국에서는 구하기 어려움

- 예: 비트코인, 라이트코인, 제트 캐시, 시아 코인, 도지 코인, 카데나 등

4) Hard-disk: POW

- IPFS 기반
- 많은 하드디스크와 노동력 필요
- 비추

5) Staking: POS

- 채굴(mining)이라고 말할수 있는지 모르겠음. 하지만, 코인을 얻게 된다는 부분은 같기 때문에 정리함

- 의미: ‘스테이킹’은 보유한 코인을 일정기간 묶어두는(락업) 대신, 이자로 신규 코인을 받는 채굴 방식으로 가상자산 직접 투자보다 리스크가 적으면서 시중금리보다 높은 이자를 받을 수 있어 인기가 높다
출처 : 소비자가 만드는 신문(http://www.consumernews.co.kr)

- 자신의 코인을 락업하고 특정한 간격마다 블록을 생성하기 위해 프로토콜(POS)에 의해 임의로 선택되는 검증자가 포함될때, 더 많은 수량을 스테이킹한 참여자가 다음 블록 검증자로 선택될 확률이 더 높다.(자본주의 프로토콜)

- 스테이킹은 ASIC등과 같이 특화된 마이닝 하드웨어에 의존하지 않고 블록을 생성할 수 있음
    그래서, ASIC 마이닝에는 하드웨어와 같은 상당한 투자가 필요하지만,
         스테이킹은 암호화폐에 직접 투자를 하게 된다. 
              이 투자를 바탕으로 연산 작업을 통해 다음 블록을 위해 경쟁하는 대신
                       자신이 스테이킹한 코인의 수에 따라 지분 증명 검증자가 선택됩니다.

- 돈을 맞기고, 이자를 방식이라고 보면됨(예금과 비슷)

- 종류: 에이다, 폴카닷, 이더리움, 이오스, 테조스, 바이낸스 코인, 트론 등

반응형
posted by choiwonwoo
:
블럭체인 2021. 12. 19. 06:13
반응형

몇몇 분들이 Bitcoin 빌드시에 윈도우 상에서 qt 라이브러리도 포함해서 빌드시 에러에 대해서 문의 하신 분이 있어 제가 작업했던 부분을 공유 드리고자 합니다.

 

[작업내용]

Windows상의 Bitcoin 소스를 빌드하고자 할때, qt 라이브러리는 "static"이어야 합니다.

그래서, https://choiwonwoo.tistory.com/category/MINERVA/C_CPP에 나와 있는 방법으로 qt를 설치하여 사용하면 않됩니다. 그 이유는 "dynamic"이기 때문입니다.

 

[static qt library]

https://bitcoin.forum/t/building-bitcoin-core-with-visual-studio/39

 

Building Bitcoin Core with Visual Studio

Introduction Solution and project files to build the Bitcoin Core applications msbuild or Visual Studio can be found in the build_msvc directory. The build has been tested with Visual Studio 2019 (building with earlier versions of Visual Studio should not

bitcoin.forum

위의 페이지에서 QT에 관련된 부분은 아래와 같습니다. 

'here'로 된 부분을 선택하면,

아래와 같이 직접 qt 라이브러리를 직접 build하여 static library를 얻는 방법에 대해서 설명하고 있습니다.

https://github.com/sipsorcery/qt_win_binary

 

GitHub - sipsorcery/qt_win_binary: This repository contains static builds of Qt for Windows that are compatible with Bitcoin Cor

This repository contains static builds of Qt for Windows that are compatible with Bitcoin Core. - GitHub - sipsorcery/qt_win_binary: This repository contains static builds of Qt for Windows that ar...

github.com

위 방법을 통해서 얻게된 static qt library를 bitcoin build시에 설정해서 하시면 됩니다.

 

감사합니다.

반응형
posted by choiwonwoo
:
블럭체인 2021. 11. 23. 12:22
반응형

작년부터 작업했던 비트코인 소스에 대한 분석 작업을 정리하여 올리고자 합니다.

서비스 구성에 대한 부분은 리눅스로 구축을 하였지만, 소스에 대한 분석 리눅스 환경보다는 개인적으로 Visual studio에서 하는것이 역시 생산성이 높은 듯하다.

 

첫번째 작업은 역시 소스의 다운로드와 컴파일이다.

 

1) git clone https://github.com/bitcoin/bitcoin.git

 

GitHub - bitcoin/bitcoin: Bitcoin Core integration/staging tree

Bitcoin Core integration/staging tree. Contribute to bitcoin/bitcoin development by creating an account on GitHub.

github.com

 

2) https://bitcoin.forum/t/building-bitcoin-core-with-visual-studio/39

빌드 과정

추가적으로 vcpkg와 qt를 버젼에 맞게 구성해놓으면 아래와 같이 정상적으로 빌드가 됩니다.

디버그 버젼: bitcoin\build_msvc>msbuild /m bitcoin.sln /p:Platform=x64 /p:Configuration=Debug /t:build

 

빌드화면
실행파일

[중요바이너리 설명]

1. Bitcoin Core Wallet - Located at \local\bitcoin-qt.exe. Bitcoin Core Wallet is a combination of full Bitcoin peer and wallet frontend.

2. Bitcoin Core Daemon - Located at \local\bitcoind.exe. Bitcoin Core Daemon is the Bitcoin peer, which you can interact with through RPCs to port 8332 (or 18332 for testnet).

3. Bitcoin CLI (Command Line Interface) - Located at \local\bitcoin-cli.exe. Bitcoin CLI allows you to send RPC commands to Bitcoin Daemon (bitcoind).

4. Bitcoin Transaction - Located at \local\bitcoin-tx.exe. Bitcoin Transaction allows you to create and update Bitcoin transactions.

반응형
posted by choiwonwoo
: