가상화폐 채굴에 대한 기본개념이 이해가 안되네요.

   조회 4077   추천 0    

이쪽 분야에 대해서 전혀 모르는 문외한은 아닙니다. 

그런데 개인적으로 채굴에 대한 개념이 정리가 안되네요.

보상적인 측면은 너무 쉬운 이야기라 할겠는데...

거래내역증빙 측면에서 블럭을 형성한다? 이것도 어느정도 이해를...

그런데 그 과정에서 왜 그렇게 많은 컴퓨팅 파워가 필요하며 경쟁을 통해 특정 마이닝 풀에만 보상을 한다는 부분은 모르겠네요.


내부 로직은 가상화폐의 설계자 수준에서 결정할 문제이긴 하지만 이부분에서 대한 설명은 찾을 수가 없어서 질문 드립니다.


도움되는 문서나 웹사이트도 괜찮고...

머리속에서 정리가 되신분은 간단한 설명 부탁 드립니다.


짧은글 일수록 신중하게.
isaiah 2018-01
대량의 컴퓨팅 파워가 필요한 부분은 프로그램 자체의 내적인 필요성이 아니라.
그 외적으로 비트코인을 구성하는 디자인의 요구로 인해서 만들어 진것으로 알고 있습니다.

시간이 지날수록 많은 전력과 컴퓨팅 리소스를 요구함으로서 순간적인 관심으로 인해서 비트코인 산출량이 늘어 가치 폭락을 하거나 하는 일을 막고
 꾸준히 가치를 유지하면서 일정하게 노드 유지를 위한 메리트를 재공할 수 있도록 완만한 곡선을 그리면서 비트코인 산출을 위해서 소비되는 자원량이 증가하도록 만든것으로 알고 있습니다.

 경쟁을 통해 특정 마이닝 풀에만 보상을 한다기 보다 블럭 생산할 권리를 획득..
 그러니까 조건에 맞는 해시를 발견한 노드가 보상을 받아 가는 건데요.
     
인디고 2018-01
답변 감사드립니다.
최초 개발자의 디자인적인 측면이 강하네요.
경쟁은 일상에도 있는 일이라 이해가 되는데 그렇게 되면 일을 하고도 선착순 혹은 상대적으로 길지않은 답을 낸 풀은 헛고생을 한것이라...

이러한 과정이 왜 필요한지가 계속 고민입니다.
chis 2018-01
난이도부분에 대해서 알고 싶으신거같네요.
경쟁자가 없다면 (=난이도가 낮다면) 많은 컴퓨팅 파워가 필요한건 아닙니다.
비트코인을 가지고 설명하자면 비트코인은 블럭타임이 10분입니다.
10분동안의 거래장부를 모아다가 암호화를 시작해서 블럭을 만들려고 하죠..
근데 만약에 1분만에 블럭이 만들어진다면 다른 노드들은 9분동안은 할게 없거나
아무런 의미도 없는 (이미 블럭보상받을 노드는 나왔기에 보상받을 가능성 제로)
노가다를 해야하는 문제가 생기는거죠.
그래서 블럭타임에 맞춰서 블럭이 완성되게끔 난이도를 조정합니다..
난이도는 별거 아니에요. 원래 데이타가 한글자만 틀려져도 그것을 암호화한 코드는 완전 달라지게 됩니다.
그래서 암호화된 코드가 특정조건에 맞을때까지 (예:앞자리부터 0이 20번 연속으로 나올것) 무한반복하는거죠..
이러한 이유로 엄청난 컴퓨팅 파워가 필요하게 되는겁니다..조건에 맞는 코드가 나올때까지 무한단순노가다해야하니까요.
     
송주환 2018-01
제가 알기로는 블록이 생성되고, 운 좋게 다음 해시가 10분 이내에 발견된다면 그대로 채굴이 이루어지는 것으로 알고 있습니다.
비트코인의 블록 타임이 10분인 것은 스테일 블록(체인에서 누락되는 정당한 블록)이 발생할 가능성을 줄이기 위해 타협한 적당한 시간인 셈인데, 이것은 목표치가 될 수 있을지언정, 마이닝 작업을 제어할 기준은 되지 못합니다.

평균 블록 생성 시간이 10분에 미달한다면 2016블록마다 진행되는 난이도 조절 시기에 적당한 난이도로 조정이 이루어지겠지요..
     
인디고 2018-01
설명 감사드립니다.
난이도 조절의 방법에 대해서는 이해를 하고 있었는데...
이유는 적어주신 내용으로 알게되었습니다.
컴퓨팅 파워가 증가하면서 시간에 맞추어 보상을 주기위한 방안 정도가 되겠네요.
사실 왜 그렇게 자원의 낭비를 해야 하는지에 대해서는 납득이 되지 않지만...방법적인 측면에서는 이해했습니다.^^
          
송주환 2018-01
악의적인 공격자를 상정하면 간단히 이해할 수 있습니다.
이런 '자원의 낭비'가 공격을 막는 장벽 역할을 하기 때문입니다. 필요로 하는 컴퓨팅 파워가 높아질수록, 해시 장벽을 돌파해서 부정한 거래가 블록체인에 포함될 가능성이 낮아지니까요.

비트코인에서 사용하고 있는 PoW(Proof of Work)알고리즘은 확률적인 합의 알고리즘입니다.
비트코인에서 정당한 체인은 '길이가 더 긴 체인'으로 정의됩니다. 내용이야 어쨌건 블록의 길이가 더 긴 체인이 올바른 체인인 셈이죠.

검증 네트워크에 참가하는 노드들이 올바른 검증 작업을 수행한다면, 공격자가 자신의 해시 파워를 이용하여 날조된 트랜잭션을 포함한다고 한들, 다른 노드들이 그것을 거부할 것이고, 자신이 만들어낸 블록은 결국 메인 체인에 편입되지 못한다는 결론이 나옵니다. 보유 해시 파워가 51%에 도달하기 전까지는요.
               
인디고 2018-01
아래 답글을 다는동안 올려주셨네요.^^
아네 그런 측면은 생각을 못했습니다.
51%를 소유나 거래의 면에서만 보았는데 채굴에서도 적용되네요.
하지만 그런 용도로 사용하기에는 중앙에 서버를 둔 형태보다 훨씬 많은 자원을 낭비하게 되는 결과는 가져오게 되겠네요.
그래도 워낙 강력하니 장점을 가지고 있을듯 합니다.
                    
송주환 2018-01
누구나 전체 거래 내역을 볼 수 있고, 검증할 수 있습니다. 완전히 공개된 투명 장부인 셈이죠.
그렇기 때문에 블록 체인 알고리즘이 국내에 들어올 때 분산 원장이라는 이름으로 들어온 것이며, 사토시는 특정 주체에 의해 통제되지 않는 탈중앙화된 화폐 시스템을 만드려고 했습니다. 적어도 그랬던 것으로 보입니다.

현실은 이상과 동떨어지기는 했지만 말이죠.
송주환 2018-01
비트코인을 기준으로 블록체인의 헤더는 다음과 같은 구조로 이루어집니다.
-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의 보상을 얻을 수 있고, 그것이 해시 파워를 유지하는 원동력이 됩니다.
     
인디고 2018-01
설명 감사합니다.
그렇다면 결국 강력한 파워를 가진 마이닝풀이 절대적으로 유리할것이고 뒤늦게 뛰어든 사람들은 헛일만 하게 되는걸까요?
계속 성공을 못한다면...
하나의 풀에 계속 사람이 모이면 결국 수익성을 악화되겠죠.
경제 전체로 본다면 채굴에 실패한 사람을 포함할 경우 결국 사회적 효용은 마이너스가 아닐런지??
마이닝 없이도 운영가능한 가상화폐도 있고 마이닝 방법도 제각각이라...조금 더 공부를 해야할듯 합니다.
인디고 2018-01
개인적으로 다른 분야에 블럭체인 기술을 접목하기 위한 연구(논문)을 진행중입니다.
프로그래밍은 아니고 개념적 설계 정도입니다.
논문, 서적, 인터넷으로 구할수 있는 정보들은 어느 정도 이해를 했고,
적용가능성에 대한 설계도 진행을 했는데...

이상하게 채굴로 인해 낭비되는 자원해 대해서는 스스로 납득이 안되니 진도가 나가지 않네요.
채굴하시는 분들에게 문의를 해도 이런 부분에 대해서 전혀 생각을 안하고 계신다는...ㅠ

그래도 이곳에는 나름 이해의 폭이 넓으신 분들이 많은것 같습니다.^^
     
chis 2018-01
채굴방식이 pow만 있는건 아닙니다..pos방식은 자원낭비가 많이 줄어듭니다.
          
인디고 2018-01
지금 하고 있는 연구는 PoS가  더 적합할수도 있을것 같습니다.
하지만 검증이 필요하기에 PoW도 포기하기는 그렇고...복잡하네요.^^


QnA
제목Page 1724/5709
2015-12   1686615   백메가
2014-05   5152124   정은준1
2015-08   4103   박남규
2018-01   4103   으라차차차
2017-05   4103   Nikon
2017-10   4103   Won낙연
2015-08   4103   테돌아이
2014-08   4103   제로콜라
2016-07   4103   띠껑
2014-08   4103   그사람
2017-02   4103   가람이당1
2015-08   4104   김유중
2018-07   4104   나나나나나
2014-10   4104   천외천oo노…
2017-06   4104   와나
2018-03   4104   김건우
2014-04   4104   황유식
2016-12   4104   꿀벌l최인혁
2021-03   4104   GPGPU
2017-10   4104   gen81
2017-10   4104   루벤
2016-11   4104   컴박