일단 51% 공격이 가장 유용한데

가정이 어쩌면 가장 위험한 상황

자신의 데이터 무결성이 깨진걸 51% 이상의 연산력으로 조져야 가능한데

한번의 이익을 위해 수 많은 손실과 쌓아온 명예(?)를 날리겠느냐


데이터 조작이 목적이라면 이익이 그 시스템을 유지하는데서 나오는게 아니니까

충분히 이유가 생기는거 아닐려나?


그리고 우월한 연산량인지 아니면 노드수 인지 모르겠지만

국가에서 블록체인으로 한다고 하면 노드수 별로 어마어마한(?) 데이터 양을 가지고 있어야 하고

(비트 코인이야 거래별로 니까 크지만, 국가에서 문서 관리하면 머.. 몇기가 안될수도?)

노드별로 관리해야 하는 중복 데이터 용량이라는 관점에서 옳지 않고

분산 저장으로 위험이 준다고 하지만, 아주 극단적인 경우로

네트워크 데이터가 대량으로 손실되었고 (1차 공격, 네트워크 노드들을 차단)

그 틈을 타서 새로운 분기를 만들어 내고

기존 사용자들이 접속을 못하게 하는 상황에서(혹은 독립 네트워크 내에서)

새로운 데이터로 갈아 엎은 다음에

기존 사용자들이 데이터를 업데이트 하거나

신규 유저들로 하여 과반수를 넘기게 하면..

자료 조작이 가능해지는거 아닐려나?


[링크 : https://homoefficio.github.io/2017/11/19/블록체인-한-번에-이해하기/]

'이론 관련 > 암호화통화' 카테고리의 다른 글

이더리움 DAG?  (2) 2018.02.01
비트코인 단위 MH/s  (0) 2018.01.14
비트코인 프로토콜  (0) 2018.01.13
비트코인 구조 채굴 등  (0) 2018.01.12
비트코인 테스트 넷?  (0) 2018.01.11
Posted by 구차니

비트코인 단위로 MH/s 라는게 자주 보이는데

M은 말그대로 Mega Hash/Second

초당 몇 백만번 해시하냐 인데


DE2-115에서 80MH/s 가 기록되었는데

시리얼로 4800bps로 하는데.. 그게 어떻게 가능하지?

한번 계산할 내용을 주면

알아서 반복 계산하고 결과를 주거나 fail을 리턴하거나 하는 식으로 통신 내용을 줄인건가?


[링크 : https://automationrhapsody.com/md5-sha-1-sha-256-sha-512-speed-performance/]

[링크 : http://bithumb.cafe/archives/5214]

'이론 관련 > 암호화통화' 카테고리의 다른 글

이더리움 DAG?  (2) 2018.02.01
블록체인 관련  (0) 2018.01.15
비트코인 프로토콜  (0) 2018.01.13
비트코인 구조 채굴 등  (0) 2018.01.12
비트코인 테스트 넷?  (0) 2018.01.11
Posted by 구차니

supernova.cc였나 여기는 stratum 프로토콜인거 같고

구형은 getwork인지 getblocktemplate인지 모르겠다.

함수 이름이야 getwork 이긴 하고 json을 쓰긴하는데

예제 찾아서 일단 어떻게 돌아가나 확인이나 해봐야지


[링크 : https://en.bitcoin.it/wiki/Stratum_mining_protocol]

[링크 : https://en.bitcoin.it/wiki/Getwork]

[링크 : https://en.bitcoin.it/wiki/Getblocktemplate]

'이론 관련 > 암호화통화' 카테고리의 다른 글

블록체인 관련  (0) 2018.01.15
비트코인 단위 MH/s  (0) 2018.01.14
비트코인 구조 채굴 등  (0) 2018.01.12
비트코인 테스트 넷?  (0) 2018.01.11
비트코인과 지갑 그리고 cgminer  (0) 2018.01.10
Posted by 구차니

잘 해설된거 같은 내용이 있어서 덥썩!


SHA-256 해시를 이용해서 돈을 버는건데

채굴자의 지갑을 생성 후

채굴을 성공하게 되면 CoinBase 라는 기본 이름의 주인없는 돈이 생기고

블록체인대열에 포함된 주인없는 돈은 채굴자의 지갑에 존재하는 것으로 인정된다.. 인가?


[링크 : https://blog.iwanhae.ga/introduction_of_bitcoin/]



그런데 보면서 드는 의문...

난이도를 위해서 해시된 값을 순서대로 정렬해서 채굴하는 것 까지는 좋은데...

만약에 이 비트코인이 채굴이 완료되면

SHA-256 해시 공간에서 몇 %가 해석이 되는지 의문이고

다르게 보면 SHA-256 딕셔너리가 생성됨으로서 

SHA-256에 대한 무력화를 간접적으로 시도하게 되는게 아닐까?


BTC은 채굴난이도가 높아질수록 보상으로 떨어지는 금액이 줄어드는데

반대로 생각하면 전체 비트 코인의 갯수와는 별개로 

sha-256 해시에 대한 숫자는 더 많이 해독이 가능하다 라고 보면 되는건가?


Thus the total number of bitcoins in existence can never exceed 20,999,839.77085749 and counting.

[링크 : https://en.bitcoin.it/wiki/Help:FAQ]

'이론 관련 > 암호화통화' 카테고리의 다른 글

블록체인 관련  (0) 2018.01.15
비트코인 단위 MH/s  (0) 2018.01.14
비트코인 프로토콜  (0) 2018.01.13
비트코인 테스트 넷?  (0) 2018.01.11
비트코인과 지갑 그리고 cgminer  (0) 2018.01.10
Posted by 구차니

라즈베리 + de0용 채굴 툴이 되는지

한번 이걸로 테스트 해보면 되려나?



수퍼노바 Suprnova 비트코인골드 채굴 서버 설정


STRATUM: stratum+tcp://btg.suprnova.cc

PORT: 8861

Username: Weblogin.Worker

Password: Worker Password


[링크 : http://www.cryptocoin.kr/entry/비트코인골드-BTG-수퍼노바에서-테스트넷-채굴-연습-하기]

[링크 : http://www.csharpstudy.com/bitcoin/article/5-비트코인-네트워크]


'이론 관련 > 암호화통화' 카테고리의 다른 글

블록체인 관련  (0) 2018.01.15
비트코인 단위 MH/s  (0) 2018.01.14
비트코인 프로토콜  (0) 2018.01.13
비트코인 구조 채굴 등  (0) 2018.01.12
비트코인과 지갑 그리고 cgminer  (0) 2018.01.10
Posted by 구차니
이론 관련/전기 전자2018. 1. 10. 20:53

포토 커플러랑 비슷한거 같긴한데 용어가 다를뿐인가?

아무튼 FPGA와 라즈베리 같은게 통신할때 전기적으로 충격을 먹을수 있으니

시리얼 라인에 opto-isolator나 저항을 달아 주라는데.. 흐음...

비싸 ㅠㅠ


[링크 : https://github.com/kramble/DE0-Nano-BitCoin-Miner/blob/master/FpgaminerOnPi.txt]

[링크 : https://forum.arduino.cc/index.php?topic=57125.0]

[링크 : https://softsolder.com/2010/01/13/arduino-serial-optical-isolator/]

[링크 : http://www.devicemart.co.kr/6301]

Posted by 구차니

fpga로 해보려던게 무산되서 좀 허망하긴 한데

(Cyclone IV로 구현된게 있고 18MH/s 정도 나온다는데, 

멀티코어 처럼 해보려고 했지만 남은 로직이 부족해서 불가능 ㅠㅠ)

이런저런 공부용으로는 좋아 보여서 일단 버리진 않고 있는중


라즈베리2와 de0-nano를 이용해서(시리얼로) 채굴을 해보려는데

채굴하려면 계좌가 필요하지 않나? 싶어서 찾다보니 비트코인 지갑이 그런 역활인 것 같고

bitcoin core라는 녀석을 깔아보니 무슨 블록 다 받아온다고 하루 내내 받아서 120GB정도 받아야

쓸 수 있도록 준비가 되는 것으로 보인다.

다르게 보면 전세계 모든 비트코인 거래 정보가 내 컴퓨터로 오는건가? 싶긴한데


이런 이유로 사람들이 온라인 지갑을 쓰는게 아닌가 생각된다.

bitcoin core는

PC만 가능하고, 온라인에서 사용불가

머.. 지갑 코드만 복사하면 다른데서 조회도 가능할지 모르겠지만 어떨지는 좀 더 찾아 봐야 할 듯.


아무튼 온라인 지갑에서 거래소와 환전소 역활을 하고

그 과정에서 이체 수수료로 이 생태계가 유지 가능할까? 라는 의문이 들긴 한다.


그리고 채굴은 여러가지 채굴 프로그램이 있지만

gpu 연동하는 cgminer가 가장 유명한거 같은데

fpga로 구현된게 cgminer랑 연동되서 되는진 모르겠고

cgminer 옵션중에 USB 타입의 ASCI-USB UART 식으로 구현된 녀석을 연동하거나 GPU 쓰는게

기본인것으로 보이지만.. fgpa는 특수 타입이니.. 존재할지 모르겠네?


라즈베리 꺼는 워낙 오래되서 지금 작동할지도 모르겠고

stratum 프록시 쓴다는데 링크도 보면 btcgulid라고 없어진 링크고..



---

온라인 비트코인 지갑

[링크 : https://steemit.com/kr/@maa/3yjimv]


cgminer를 이용해서 GPU 채굴하기

[링크 : https://toughnickel.com/personal-finance/How-to-Mine-Bitcoins-With-a-GPU-Using-CGMiner]


비트코인 코어(지갑 클라이언트) 설명

[링크 : http://thecoin.kr/lecture/1297]


cgminer는 아닌듯..  stratum PROXY server는 멀까...

[링크 : https://bitcointalk.org/index.php?topic=9047.940]

[링크 : https://github.com/kramble/DE0-Nano-BitCoin-Miner]


검색하다보니.. cgminer를 개조해서 4800bps에 돌아가게 했다 이런 느낌인데.. cgminer인건 맞는건가?

I cannot test it myself as my rig only runs at 4800 baud (AHEM, well I did hack the cgminer source to run at 4800, and it sort of worked, but required a change to the icarus detection algorithm to send the work packet twice as the first was ignored. This may be due to the use of a physical serial port on the raspberry pi rather than USB or may be a fault in my version of the fpgaminer code. Feedback would be appreciated as to whether the Mojo works with cgminer 3.1.1) 

[링크 : https://github.com/kramble/DE0-Nano-BitCoin-Miner/tree/master/Mojo_LX9]


얘가 cgminer 인가..? 1년 전에 업데이트가 일단 멈춤

[링크 : https://github.com/ckolivas/cgminer]


+

2018.01.11

[링크 : https://blog.naver.com/kang154123/221001176251]

[링크 : http://mtravel.tistory.com/94]


'이론 관련 > 암호화통화' 카테고리의 다른 글

블록체인 관련  (0) 2018.01.15
비트코인 단위 MH/s  (0) 2018.01.14
비트코인 프로토콜  (0) 2018.01.13
비트코인 구조 채굴 등  (0) 2018.01.12
비트코인 테스트 넷?  (0) 2018.01.11
Posted by 구차니

'이론 관련 > 전기 전자' 카테고리의 다른 글

PLL 구조와 Frequency Divider / Multiplier  (0) 2018.02.01
opto-isolator  (0) 2018.01.10
아날로그 해상도 화면비  (0) 2017.10.30
오실로스코프 대역폭과 샘플링  (0) 2017.09.28
RMS - Root Mean Square  (0) 2017.09.28
Posted by 구차니

아이폰이나 아이패드에서 DFU 어쩌구 하길래 들어본적은 있는데

먼가해서 찾아본 건 아니고..


부트로더 관련해서 보다 보니(tivaware bootloader)

Three update protocols are utilized. On UART, SSI, I2C, and CAN, a custom protocol is used to communicate with the download utility to transfer the firmware image and program it into flash. When using Ethernet or USB DFU, however, different protocols are employed. On Ethernet the standard bootstrap protocol (BOOTP) is used and for USB DFU, updates are performed via the standard Device Firmware Upgrade (DFU) class. 

이런게 보여서 검색해보니..


USB HID class 처럼 

USB DFU class가 존재하는 표준으로 제공되는 클래스 이다.

[링크 : https://cscott.net/usb_dev/data/devclass/usbdfu10.pdf]


USB Device Firmware Upgrade (DFU) is an official USB device class specification of the USB Implementers Forum.

It specifies a vendor and device independent way of updating the firmware of a USB device. The idea is to have only one vendor-independent firmware update tool as part of the operating system, which can then (given a particular firmware image) be downloaded into the device. 

[링크 : http://wiki.openmoko.org/wiki/USB_DFU_-_The_USB_Device_Firmware_Upgrade_standard]


+

[링크 : http://www.usb.org/developers]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

I2c smbus slave interrupt  (0) 2018.04.24
haze / defog  (0) 2018.03.19
불 대수(bool algebra)  (0) 2017.12.20
a-gps  (0) 2017.09.01
GPS DOP  (0) 2017.06.14
Posted by 구차니

대학교 1학년때 였나 2학년 전공가서 였나..

컴퓨터 구조 시간에 불 대수를 배웠는데

카르노 맵과 드모르간 법칙등이 이해가 안갔는데 이제야 차분히 보니 이해가 되네..

그때 공부를 제대로 했으면 FPGA를 다뤘을려나...


아무튼 OR는 논리합(logical disjunction) - 논리적 괴리/이접

AND는 논리곱(logical conjunction) - 논리접 결합/접속

이라는데 솔찍히 A+B 라고 논리합을 OR 표기하다 보니 거기서 혼동이 온듯..


논리표는 지긋지긋 하게들 봤을테고(?)

다시 한번 적자면 아래와 같고, 특이한 것은 바로 같은 입력 일때와 다른 입력일때의 차이이다.

A+B=R (OR)

 AxB=R (AND)

F+F=F

T+F=T

F+T=T

T+T=T

FxF=F

TxF=F

FxT=F

TxT=T


그리고 논리에서 T는 1로 치환되니

A+B=R (OR)

 AxB=R (AND)

F+F=F

1+F=T

F+1=T

T+T=T

FxF=F

1xF=F 는 곧 1xA=A

Fx1=F 는 곧 Ax1=A

TxT=T

(1+A)=1

(1A)=A

로 유도가 된다.


그리고 A+A'=T 이고 1이 되니 

(A+A')B는

(1)B

1xB = B 가 된다.


X+XY = X(1+Y) = X*1= X 로 유도


드모르간 법칙은 (X+Y)'= X'Y' 인데

(X+Y)'=R 

F+F=F가 F' = T

T+F=T가 T' = F

F+T=T가 T' = F

T+T=T가 T' = F

가 되고

AxB=R

FxF=F

TxF=F

FxT=F

TxT=T

와 비슷하게 TxT=T 인걸 뒤집으면 되니

A'xB'=R

F'xF'=TxT=T

T'xF'=FxT=F

F'xT'=TxF=F

T'xT'=FxF=F


유도는 좀 똥같은데

아무튼 (A+B)' = A'B' 라는 결론이 도출된다.

[링크 : http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788935304394]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

haze / defog  (0) 2018.03.19
USB class - DFU(Device Firmware Upgrade)  (0) 2017.12.26
a-gps  (0) 2017.09.01
GPS DOP  (0) 2017.06.14
DDR3 ZQ calibration  (0) 2017.04.27
Posted by 구차니