|
(광고) 단통법 시대의 인터넷가입 가이드(ver2.0) (234) |
백메가 |
2015-12 |
1686615 |
25 |
2015-12
1686615
1 백메가
|
|
[필독] 처음 오시는 분을 위한 안내 (734) |
정은준1 |
2014-05 |
5152124 |
0 |
2014-05
5152124
1 정은준1
|
79719 |
전압센서 관련 (6) |
박남규 |
2015-08 |
4103 |
0 |
2015-08
4103
1 박남규
|
79718 |
모니터3개 연결후 재부팅 누르면 부팅이 안됩니다. (2) |
으라차차차 |
2018-01 |
4103 |
0 |
2018-01
4103
1 으라차차차
|
79717 |
용산에 lcd 수리업체 추천좀 부탁드려요 (4) |
Nikon |
2017-05 |
4103 |
1 |
2017-05
4103
1 Nikon
|
79716 |
아래 ni-cd 전지2 (11) |
Won낙연 |
2017-10 |
4103 |
0 |
2017-10
4103
1 Won낙연
|
79715 |
DELL 정품파트를 HP에 설치하면 문제가 되나요? (7) |
테돌아이 |
2015-08 |
4103 |
0 |
2015-08
4103
1 테돌아이
|
79714 |
idrac6 enterprise 에서 virtual console 기능을 사용하려고 합니다. (4) |
제로콜라 |
2014-08 |
4103 |
0 |
2014-08
4103
1 제로콜라
|
79713 |
X8DTL-i 메모리 문의 (7) |
띠껑 |
2016-07 |
4103 |
0 |
2016-07
4103
1 띠껑
|
79712 |
네트워크 컨트롤러의 스펙에 대해서 궁금합니다. (3) |
그사람 |
2014-08 |
4103 |
0 |
2014-08
4103
1 그사람
|
79711 |
T story 쓰시는분 있나요? 다른곳과 비교해서 어떤 장점이 있을까요? (4) |
가람이당1 |
2017-02 |
4103 |
0 |
2017-02
4103
1 가람이당1
|
79710 |
혹시 안드로이드나 IOS를 잘하시는분 계실까요? (8) |
김유중 |
2015-08 |
4104 |
0 |
2015-08
4104
1 김유중
|
79709 |
파이프랜치 대용할만한것 혹시 있나요? (7) |
나나나나나 |
2018-07 |
4104 |
0 |
2018-07
4104
1 나나나나나
|
79708 |
M4-0.7 x 6mm 스크류는 어디서 구할 수 있을까요? |
천외천oo노… |
2014-10 |
4104 |
0 |
2014-10
4104
1 천외천oo노…
|
79707 |
Z800 gtx960 사용을 못 할까요? (6) |
와나 |
2017-06 |
4104 |
1 |
2017-06
4104
1 와나
|
79706 |
sata케이블 부드럽게 굽어지는것과 하드에꽂는부분이 작으면서 꺾인게 있을까요? (6) |
김건우 |
2018-03 |
4104 |
0 |
2018-03
4104
1 김건우
|
79705 |
슈퍼마이크로 보드 쿨링팬 회전 문제 질문드립니다. (4) |
황유식 |
2014-04 |
4104 |
0 |
2014-04
4104
1 황유식
|
79704 |
Z620 2nd 라이저 슬롯 지지대 구매관련 (4) |
꿀벌l최인혁 |
2016-12 |
4104 |
0 |
2016-12
4104
1 꿀벌l최인혁
|
79703 |
엔비디아 테슬라 전용 케이블? (3) |
GPGPU |
2021-03 |
4104 |
0 |
2021-03
4104
1 GPGPU
|
79702 |
윈도우서버2008 문의입니다. (3) |
gen81 |
2017-10 |
4104 |
0 |
2017-10
4104
1 gen81
|
79701 |
뜬금없는 소리긴 하지만. 유사상황시 인터넷에 접속할 방법은 아주 없는건가요? (10) |
루벤 |
2017-10 |
4104 |
0 |
2017-10
4104
1 루벤
|
79700 |
부트스트랩 nav 질문 |
컴박 |
2016-11 |
4104 |
0 |
2016-11
4104
1 컴박
|
그 외적으로 비트코인을 구성하는 디자인의 요구로 인해서 만들어 진것으로 알고 있습니다.
시간이 지날수록 많은 전력과 컴퓨팅 리소스를 요구함으로서 순간적인 관심으로 인해서 비트코인 산출량이 늘어 가치 폭락을 하거나 하는 일을 막고
꾸준히 가치를 유지하면서 일정하게 노드 유지를 위한 메리트를 재공할 수 있도록 완만한 곡선을 그리면서 비트코인 산출을 위해서 소비되는 자원량이 증가하도록 만든것으로 알고 있습니다.
경쟁을 통해 특정 마이닝 풀에만 보상을 한다기 보다 블럭 생산할 권리를 획득..
그러니까 조건에 맞는 해시를 발견한 노드가 보상을 받아 가는 건데요.
최초 개발자의 디자인적인 측면이 강하네요.
경쟁은 일상에도 있는 일이라 이해가 되는데 그렇게 되면 일을 하고도 선착순 혹은 상대적으로 길지않은 답을 낸 풀은 헛고생을 한것이라...
이러한 과정이 왜 필요한지가 계속 고민입니다.
경쟁자가 없다면 (=난이도가 낮다면) 많은 컴퓨팅 파워가 필요한건 아닙니다.
비트코인을 가지고 설명하자면 비트코인은 블럭타임이 10분입니다.
10분동안의 거래장부를 모아다가 암호화를 시작해서 블럭을 만들려고 하죠..
근데 만약에 1분만에 블럭이 만들어진다면 다른 노드들은 9분동안은 할게 없거나
아무런 의미도 없는 (이미 블럭보상받을 노드는 나왔기에 보상받을 가능성 제로)
노가다를 해야하는 문제가 생기는거죠.
그래서 블럭타임에 맞춰서 블럭이 완성되게끔 난이도를 조정합니다..
난이도는 별거 아니에요. 원래 데이타가 한글자만 틀려져도 그것을 암호화한 코드는 완전 달라지게 됩니다.
그래서 암호화된 코드가 특정조건에 맞을때까지 (예:앞자리부터 0이 20번 연속으로 나올것) 무한반복하는거죠..
이러한 이유로 엄청난 컴퓨팅 파워가 필요하게 되는겁니다..조건에 맞는 코드가 나올때까지 무한단순노가다해야하니까요.
비트코인의 블록 타임이 10분인 것은 스테일 블록(체인에서 누락되는 정당한 블록)이 발생할 가능성을 줄이기 위해 타협한 적당한 시간인 셈인데, 이것은 목표치가 될 수 있을지언정, 마이닝 작업을 제어할 기준은 되지 못합니다.
평균 블록 생성 시간이 10분에 미달한다면 2016블록마다 진행되는 난이도 조절 시기에 적당한 난이도로 조정이 이루어지겠지요..
난이도 조절의 방법에 대해서는 이해를 하고 있었는데...
이유는 적어주신 내용으로 알게되었습니다.
컴퓨팅 파워가 증가하면서 시간에 맞추어 보상을 주기위한 방안 정도가 되겠네요.
사실 왜 그렇게 자원의 낭비를 해야 하는지에 대해서는 납득이 되지 않지만...방법적인 측면에서는 이해했습니다.^^
이런 '자원의 낭비'가 공격을 막는 장벽 역할을 하기 때문입니다. 필요로 하는 컴퓨팅 파워가 높아질수록, 해시 장벽을 돌파해서 부정한 거래가 블록체인에 포함될 가능성이 낮아지니까요.
비트코인에서 사용하고 있는 PoW(Proof of Work)알고리즘은 확률적인 합의 알고리즘입니다.
비트코인에서 정당한 체인은 '길이가 더 긴 체인'으로 정의됩니다. 내용이야 어쨌건 블록의 길이가 더 긴 체인이 올바른 체인인 셈이죠.
검증 네트워크에 참가하는 노드들이 올바른 검증 작업을 수행한다면, 공격자가 자신의 해시 파워를 이용하여 날조된 트랜잭션을 포함한다고 한들, 다른 노드들이 그것을 거부할 것이고, 자신이 만들어낸 블록은 결국 메인 체인에 편입되지 못한다는 결론이 나옵니다. 보유 해시 파워가 51%에 도달하기 전까지는요.
아네 그런 측면은 생각을 못했습니다.
51%를 소유나 거래의 면에서만 보았는데 채굴에서도 적용되네요.
하지만 그런 용도로 사용하기에는 중앙에 서버를 둔 형태보다 훨씬 많은 자원을 낭비하게 되는 결과는 가져오게 되겠네요.
그래도 워낙 강력하니 장점을 가지고 있을듯 합니다.
그렇기 때문에 블록 체인 알고리즘이 국내에 들어올 때 분산 원장이라는 이름으로 들어온 것이며, 사토시는 특정 주체에 의해 통제되지 않는 탈중앙화된 화폐 시스템을 만드려고 했습니다. 적어도 그랬던 것으로 보입니다.
현실은 이상과 동떨어지기는 했지만 말이죠.
-Version(4Bytes) - 현재는 0x02
-이전 블록의 해시 데이터 (32Bytes)
-Munkle Root (32Bytes)
-Timestamp(4Bytes)
-nBits(난이도)(4Bytes)
-Nounce(4Bytes)
여기서 Nounce와 nBits 그리고 Body의 Comment(100Bytes) 값을 변경하여 nBits의 목표(nBits의 값 만큼의 0이 선두에 오는 해시)에 맞는 해시를 찾는 것이 채굴 작업입니다.
Body에 들어간 거래들은 Script라는 비트코인 블록체인 내부에서 쓰이는 특별한 언어에 의해 검증작업이 이루어지며(채굴자가 검증을 수행해야 하며)
채굴자가 이 검증 작업을 무시하고 마이닝을 진행하여, 수학적으로 조금이나마 더 빠르게 블록을 만들어 낼 수 있지만 채굴에 들어가는 전체 노력과 비교하면 아주 미미하기 때문에 채굴자가 검증 작업을 진행하지 않아서 다른 노드로부터 블록이 거절될 위험성을 감수하고 검증을 무시하거나, 거짓 정보를 삽입할 이유가 없습니다.
채굴자는 Body에 Coinbase로부터 주어지는 비트코인(현재는 12.5BTC)을 자신의 지갑으로 보내도록 하는 트랙잭션을 포함하여 마이닝을 진행하며, 그렇기 때문에 채굴에 성공한 채굴자는 12.5BTC의 보상을 얻을 수 있고, 그것이 해시 파워를 유지하는 원동력이 됩니다.
그렇다면 결국 강력한 파워를 가진 마이닝풀이 절대적으로 유리할것이고 뒤늦게 뛰어든 사람들은 헛일만 하게 되는걸까요?
계속 성공을 못한다면...
하나의 풀에 계속 사람이 모이면 결국 수익성을 악화되겠죠.
경제 전체로 본다면 채굴에 실패한 사람을 포함할 경우 결국 사회적 효용은 마이너스가 아닐런지??
마이닝 없이도 운영가능한 가상화폐도 있고 마이닝 방법도 제각각이라...조금 더 공부를 해야할듯 합니다.
프로그래밍은 아니고 개념적 설계 정도입니다.
논문, 서적, 인터넷으로 구할수 있는 정보들은 어느 정도 이해를 했고,
적용가능성에 대한 설계도 진행을 했는데...
이상하게 채굴로 인해 낭비되는 자원해 대해서는 스스로 납득이 안되니 진도가 나가지 않네요.
채굴하시는 분들에게 문의를 해도 이런 부분에 대해서 전혀 생각을 안하고 계신다는...ㅠ
그래도 이곳에는 나름 이해의 폭이 넓으신 분들이 많은것 같습니다.^^
하지만 검증이 필요하기에 PoW도 포기하기는 그렇고...복잡하네요.^^