traders_free custom_top_html:no
default debug random = 0 / type = READ / detected = READ

경쟁적 합의 알고리즘에는 pow(Proof Of Work)와 pos(proof of stake)가 있습니다.

 

이들은 마치 100m 경주를 이어달리기 하는 것과 유사합니다.

일등을 하는 사람(노드)가 블럭을 생성합니다.

 

블럭이 생성된 후 다음 블럭을 찾으므로, 이어달리기를 무한 반복합니다.

비트코인의 경우 10분이고, 이더리움은 약 10초(?) 정도의 경주를 무한 반복하죠..

 

이들 경주자의 뛰는 능력은 pow의 경우 초당 해시 계산능력, 즉 계산능력에 비례하고, pos의 경우 지분에 비례합니다.

즉, 해시 계산능력인 월등하거나 지분이 많으면 경주에서 일등하기 쉽겠죠.

 

하지만, 해시능력이나 지분이 가장 많다고 경주에서 항상 일등을 하는 것은 아닙니다.

 

가장 작은 경주 능력을 가진 경주자도 일등을 하도록 만들었습니다.

(블럭 생성하는 노드가 랜덤하게 선정되도록 하기 위함입니다.)

 

예를 들면, pow 경주자는 모래주머니를 발에 차고 뜁니다.

 

pow의 경우는 거의 완전한 난수성을 가진 난수발생기인 해시함수를 사용합니다.

이 해시함수가 일종의 모래주머니 역할을 하고 이 때문에 경주할 때마다 모래주머니의 무게가 달라집니다. 물론 다음 주자가 이어 달리기를 할 때마다 모래 주머니의 무게가 달라집니다.

즉, 경주 능력이 제일 작은 선수도 해시함수의 거의 완전한 랜덤성에 의해서 '자신의 해시능력/전체 네트워크의 해시능력'의 비율로 일등을 할 가능성이 있습니다.

 

이제 pos의 경우는 특정 시간 후에 누가 가장 큰 수를 가졌는가를 겨루는 이어달리는 경주 같습니다.

이때 숫자는 지분 * 시간으로 정해지는 coinage로 정해집니다. (coinage의 공식은 각 코인마다 조금씩 다릅니다.)

 

지분은 전체 코인 수 중에서 지갑에 들어있는 코인의 수이고, 시간은 계속 증가를 합니다.

만일 coinage가 제일 큰 지갑이 블럭을 생성하면, 이 지갑은 시간이 제로로 세팅이 되어서 coinage는 다시 제로부터 시작을 합니다.

따라서 지분을 적게 가져도 오래 기다리면 결국에는 coinage가 가장 많아져서 지분이 가장 적은 지갑도 블럭을 생성할 수 있습니다.

 

이와 같은 경쟁적 합의 알고리즘의 네트워크 보안은 1) pow의 기계값 + 전기료, 2) pos의 지분 (이것을 '비용'이라고 하자)에 의해서 유지됩니다.

그 외에 누가 블럭을 생성할지를 랜덤하게 결정하는데 이것도 일정 부분 네트워크 보안에 기여를 합니다.

 

하지만, 이 랜덤성의 중요성은 '비용'보다 보안에 취약합니다.

즉, 해시능력 또는 지분의 51%를 가진자가 모든 것을 할 수 있습니다. (마치 주식회사의 주식과 비슷함.. )

이 경우 랜덤성이 거의 필요가 없습니다. 

이를 51%공격이라고 하죠..

 

----

그러면 비경쟁적 합의 알고리즘은 무엇일까요?

 

마치 '가위바위보' 게임과 비슷합니다.

대부분의 노드들이 모여서 가위바위보 게임을 일정한 시간(예로 10초)마다 계속하게 됩니다.

전체 노드가 모일 필요는 없고 다수의 노드가 모여서 게임을 하면 됩니다.

 

예로 매 10초마다 게임을 하게 된다면, 당시 게임에서 이긴 노드가 합의 알고리즘을 각각 만들게 됩니다.

 

제가 처음 비트코인의 pow 합의 알고리즘을 보고, 참 힘들게 게임을 한다고 생각했습니다.

 

그 당시 제 생각에는 비트코인의 pow 알고리즘은 어차피 다음 블럭 생성을 랜덤하게 하려는 게임인 것같이 보였는데,

왜 저렇게 전기를 많이 쓰고 해야 하나라는 생각이 처음 들었죠

 

하지만, 다수의 계정을 이용한 시빌 공격 때문에 랜덤하게 블럭을 생성하는 것만으로는 해킹을 막을 수 없다는 것을 나중에 알았죠.

 

비트코인의 pow 합의 알고리즘을 처음 이해했을 때, 제게 든 첫번째 생각은 노드들이 모여서 가위바위보를 하면 될 텐데 왜 저렇게 돈을 많이 들이면서 합의를 할까라는 것이었습니다.

 

어차피 '안전'하게 합의만 하면 될텐데...

(당시에는 '안전'은 '랜덤성', 즉 다음 블럭을 누가 생성할지 전혀 모르게 하는 것이라고 생각했죠)

 

그래서, 제가 처음 만든 합의 알고리즘의 제목이 'Proof of Randomness' 였습니다.

http://www.ddengle.com/bitcoindeveloper/889821 

 

물론 pow는 앞에서 언급한 '비용'이 네트워크 보안을 강화하죠..

 

하지만 pow 알고리즘은 비트코인 이전에 도스 또는 디도스 공격을 방어하기 위해서 공격자 pc에게 일정량의 계산을 시킴으로서 도스 공격을 완화시키기 위해서 만든 알고리즘이었죠.

 

이것이 비트코인의 합의 알고리즘으로 쓰인 이유는 그냥 사토시가 합의 알고리즘에 쓸 것을 찾다가 이미 잘 알려진 pow를 선택한 것이 아닌가라는 생각도 했습니다.

 

비경쟁적 합의 알고리즘의 장점은

1) 유효한 블럭체인이 두개 이상이 동시에 존재하는 포크가 생길 가능성이 거의 없습니다. (이것은 굉장한 이점입니다. 포크가 발생하면, 어느 블럭체인을 선택할지에 대한 투표 등을 해야 하는 경우가 발생합니다.)

2) 일정시간마다 컨펌이 이루어집니다.

 이에 반해서 경쟁적 합의 알고리즘은 평균적인 일정시간마다 컨펌이 이루어지도록 난이도를 조정하죠..

3) 경쟁을 하지 않으므로 컴퓨팅 능력을 많이 사용하지 않습니다. 정해진 규칙에 따라서 베팅이 이루어집니다.

4) 컨펌시간을 거의 네트워크의 지연시간(약 2초)로 줄일 수 있습니다. 가위바위보 게임만 하므로, 경쟁을 하는 시간이 필요가 없죠..

5) pow의 경우, 네트워크가 1TH라고 하면 1Tera번의 블럭을 생성해서 그 중 마지막 하나의 블럭이 유효한 블럭이 되는 것입니다.

(엄청난 비능률이죠.., 즉 1Tera번 블럭을 계산하고 그 중에서 마지막 하나를 선택하고 이전의 모든 계산은 버리는 것입니다.)

 

하지만, 이런 비경쟁적 합의 알고리즘도 '비용'문제를 생각하지 않으면, 해킹에 매우 취약합니다.

 

따라서 비경쟁적 합의 알고리즘도 pos를 기반으로 만들게 됩니다. 

해커가 '비용'을 지불하도록 하지 않으면, 다수계정에 의한 시빌 공격에 아주 취약합니다.

 

--

경쟁적 합의 알고리즘은 각자 알아서 경쟁을 하는 것입니다.

구체적으로 말하면, 제일 처음 유효한 블럭을 만든 노드가 그 블럭을 네트워크에 전파를 하면, 다른 노드들이 자체적으로 검증을 해서 맞으면 이 노드들은 다음 블럭을 찾게 됩니다.

즉 블럭을 전파받은 노드는 만약 그 블럭이 유효하다면, 다음에 다른 블럭에 도착해도 이를 무시합니다.

이 때문에 블럭체인이 두개 이상이 유효한 포크가 생길 수가 있습니다.

네트워크에 특정 문제가 있을 때 vote(투표)를 한다고 사토시의 논문에 나옵니다.

원칙은 1cpu, 1vote라고 나오죠..

 

(급하게 쓴 글이라서,, 좀.. 산만합니다. 그리고 저는 이쪽에 전문가가 아니기 때문에 다소 틀린 내용이 있을 수 있습니다.)

 

 

10

loum님의 서명

 

 
 
 
댓글 2
  • 아주쉽게 설명을 해주셨네요.
    (여기서 해시계산능력을 다른것으로 바꾸어도 되겠지요?...최저비용을 계산해내는 문제로 말입니다.)

    여기서 랜덤성은 정답을 풀어낸 노드들중에서 랜덤하게 선택한다는 것이죠?
  • ?
    @신피질

    '해시계산능력'는 블럭을 만드는 초당 계산능력을 말합니다.

    에로 해시계산 능력이 1MH/s이라면 1초에 10^6번의 블럭을 생성할 수 있는 계산능력을 가진 것을 말합니다.

    이체 가능 컨펌이라고 있죠..
    비트코인은 6컨펌이 지나면 블럭체인을 바꿀 수가 없습니다.

    따라서, 해커가 6번 연속으로 블럭을 만들면 해킹에 성공한 것입니다.
    이를 방지하기 위해서 블럭을 누가 만드는지 모르게, 즉 다음 블럭을 만들 노드를 완전 랜던하게 선택하는 것이 네트워크 보안에 필요합니다.
    이 때문에 다음 블럭을 만드는 노드가 최대한 랜덤하게 선택되도록 해야 합니다.

default debug random = 0 / type = READ / detected = READ

List of Articles
번호 제목 추천 수 조회 수 글쓴이 날짜
6161 곡스의 빗코가 도난당한게 맞나 봅니다.. 기사가 떴네요 ... http://sbscnbc.sbs.co.kr/read.jsp?pmArticleId=10000636519 5 0 957
포이콜로
2014.03.03
6160 최근에 상승 쪽으로 욕심부려서 투자하는 사람들이 굉장히 많았습니다. [01월 19일  "투자 인사이트" 입니다]   투자 쉽게 하자! 안녕하세요 에임리치 김피비 입니다.   ----------------   [쉽게 읽는 한 줄 뉴스]     -미 증시 3대 지수 하락 마감   -불라드 연은 총재 "금리 최소 5%는 ... file 0 114
에임리치
2023.01.19
6159 서버를 5배 늘렸다더니,   요청 처리중 Processing your request 잠시만 기다려주세요. Please wait 47 seconds. 일시적으로 과다한 요청이 접수되었습니다. 잠시만 기다려 주십시오. 이 과정은 자동으로 진행되며, 약 47초 정도 소요됩니다.... 3 0 1389
spas
2017.12.08
6158 폴로에서 비트렉스로 USDT 보내보신분?? *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 6 0 2574
이이와이
2017.08.10
6157 루머 아니었나요? ㅋ   ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에.   비트코인 암호화화폐 커뮤니티 땡글~ 땡글~ -------------------------------------     반등없이 ... 3 0 4438
채굴가즈아
2017.09.09
6156 [비트코인/분석] 시루시루 상승? U자형 라운드형태 Pattern     - 비트코인         < 크게보기 >     2달간의 보합세가 지겹게 진행되고 있습니다 2달간 보합세가 진행되는 동안, 전체적인 가상자산 시장의 거래량이 바닥을 유지하며 어떠한 방향성도 보여주지 않고 있습니다 ... file 0 187
EUNSA
2020.07.01
6155 치킨 백만원 돌파!! 감사합니다 ㅎㅎ   어디까지 갈지 궁금하네요                     ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에.   비트코인 암호화화폐 커뮤니티 땡... 13 0 1768
어쩌라능
2017.11.11
6154 주말이라고 잠깐 자리를 비웠더니 아주 오늘 아주 난리네요    하한선없다는게 실감되네요 하락장이 ㄷㄷㄷ합니다   거기에 빗썸 xxx들도 체감되네요    먼 로그인을 ㅋㅋㅋ 해커들 싹 터는중입니다   어차피 가입만 해두었는데 이건 심하네요 file 0 1818
아세르
2017.07.15
6153 빗x 포트 번호 알려주네요 ㅋ 해킹 취약점 다 드러내네요 ㅋㅋㅋ 4 file 0 1354
어시스턴스
2018.03.14
6152 코인시장 이슈따라가나       오늘 오르는 줄 알았는데 다시 떨어지는 것 같네요. 아까 나왔어야 하나 싶기도 하고, 지난주 이슈들을 돌아봤을 때는 사실 안 좋은 게 많았거든요. 아무래도 그런 영향을 받는 걸까요?   페이스북 암호화폐 리... 3 file 0 632
코인아저씨
2019.07.29
6151 도기.. 드뎌 이번턴 바닥을 확인한게 아닐까요?? 지구의 핵을 뚫을듯이 내리박더니,... 상당한 기세로 오르기운이 보입니다... 이대로 한 90까지 가주면 좋겠네요.. 2 0 1175
꿀맨
2014.10.22
6150 거래소간 코인 이체에 관한 문의 빗썸에 있는 비트코인을 업비트로 옮기는데 시간이 굉장히 많이 걸리더라구요. (12시간 넘게 걸렸던거 같습니다.)   비트코인만 이렇게 시간이 많이 걸리는건가요?   아니면 이체하는데 시간이 빠른 코인이 따로 있나... 10 0 1264
코인서퍼
2017.12.15
6149 코빗 비트코인 거래시 최소 단위가 얼마인가요? 0.01BTC인지 그 이하도 거래되는지 알고 싶습니다. 14 0 5620
lockpick
2013.12.10
6148 라이트코인 차트 As BTC continues its rally, LTC has floundered for days since the failed #3 pump, seemingly for lack of sufficient buy volume, despite the bullishness in BTC, which it usually tracks closely. But the ... 2 file 0 620
비트코인박사
2014.01.06
6147 BTSX의 market peg 질문 @조제리님께 드리는 질문이지만, 다른 분들도 같이 봐주셨으면 좋겠습니다. Market peg 위키를 읽어보았습니다. 대강 한 번 읽어봤기 때문에, 정확한 뜻을 다 캐치했다고 생각하지는 않습니다. 그래서 질문드립니다. ... 12 0 3075
drjoon
2014.10.27
6146 이번 주말의 승자는 누가될까요 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 18 0 2506
에러보이
2017.09.02
6145 빗썸 비트코인 다이아 .       빗썸 비트코인 다이아 도대체 언제 지급하는지 정보 아시는분 있나요? 스냅샷진행(17년11월24일 18시 20분경)하고 비트코인다이아 지급하기로 결정했다고 공지 올린지도 한참 지났는데, 도대체 이놈의 빗썸은 ... 3 0 2270
주식종결자
2018.01.24
6144 DAO 토큰보유방법 ?? 제가알고있는 방법으로는 DAO 구매하는 방법이 빗썸(원화입금) 비트코인구매후 ->  poloniex (이더리움으로 교환) ->  미스트 에서 DAO대표주소로 보내면 자동으로 DAO구매  이렇게 하여 보유하고 있는데요 제가 2단... 4 0 3152
디자이너
2016.05.10
6143 비트코인 송금 되시는분? 2시간째 비트코인 컨펌되는 송금을 못봤네요..혹시 송금 해보신분 계신가요? 3 0 2749
백곰
2014.11.05
6142 비트 천 실화인가요?       으악 내손... 팔지말라고했을때 팔지말걸 ㅠㅠ                   ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에 적어주세요.   비트코인 암호화... 7 file 0 2260
메르시
2019.05.27
목록
Board Pagination Prev 1 ... 852 853 854 855 856 857 858 859 860 861 ... 1165 Next
/ 1165
default debug random = 0 / type = READ / detected = READ