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

(내용 일부를 이해하기 좀 쉽게 고쳤습니다. )

----------

 

이더리움의 캐스퍼 알고리즘을 조금 읽어보았다.

 

https://github.com/ethereum/economic-modeling/tree/master/casper

 

pos의 가장 큰 문제점이 'Nothing at stake'라는 문제라는 것입니다.

 

'Nothing at stake'는 유효한 블럭체인이 두개 이상이 존재하는 포크(fork) 상황에서 어느 블럭체인이 유효한지를 validator가 투표(vote)를 하는데,
validator가 모든 블럭체인에 투표를 하는 것이 보상을 받을 확률을 높이기 때문에, 모든 블럭체인에 투표를 해서 유효한 하나의 블럭체인을 결정하지 못하는 상황이발생하는 것을 말합니다.

 

validator는 일반 노드와 달리, 일정한 코인을 출금할 수 없게 deposit 하고 포크상황에서 vote를 하는 노드입니다.

 

참조: https://docs.google.com/viewer?url=http://tendermint.com/docs/tendermint.pdf 

 

'Nothing at stake'를 해결하기 위해서, Tendermint 코인은 'shashing' 알고리즘으로 validator가 두개의 블럭체인 이상에서 투표를 하면 deposit한 코인을 빼앗는 방법을 사용합니다.

 

이더리움의 캐스퍼 알고리즘은 consensus-by-bet이라는 방법으로 정답을 맞춘( 다음 블럭체인에 투표한) validator에게 보상을 주고, 틀린 validator에게서 예금(deposit)한 코인을 빼앗는 방법을 사용합니다.


---

여기서 생각해볼 것은 현재의 pow, pos 알고리즘의 동작 방법입니다.

 

이들은 어떤 조건(pow은 target)값 이상일 때 블럭을 생성하여 네트워크에 블럭을 전파(broadcast)하고, 다른 노드는 이 블럭을 검증하여 검증을 통과하면 다음 블럭을 찾는 경쟁 합의 알고리즘 때문에 발생하는 문제입니다.


이런 pow, pos의 블럭찾기 경쟁은 노드가 전파된 블럭의 검증을 만족하면, 노드가 바로 다음 블럭을 찾는 방법을 사용하기 때문에 이를 '단독 결정'이라고 정하겠습니다.


포크가 발생하는 주원인은 "블럭을 전파받은 노드가 이 블럭을 검증하여 검증을 통과하면, 이 노드가 바로 다음 블럭을 찾는 단독 결정 알고리즘" 때문에 발생합니다.

 

즉, 각각의 노드가 독자적으로 판단하여 일정 조건을 충족하기만 하면, 무조건 다음 블럭을 찾는 것에 문제가 있는 것입니다.

 

그리고, 다수의 블럭체인이 동시에 생기는 포크 상황은 "네트워크의 전파 지연시간 때문에 발생을 합니다. 아시아에서 북미 등으로 데이터를 전파를 하면 네트워크 전파시간은 약 2초 이상이 걸리고 있습니다.

 

즉, '네트워크 전파 지연시간' + '단독 결정'이 블럭체인에서 포크를 발생시키는 원인입니다.

 

그렇다면, 이와 같이 포크가 생기는 핵심 알고리즘을 바꾸어 포크가 생기지 않도록 하는 합의 알고리즘을 만든 것이 해결방법이 될 것입니다.

 

그러면, dpos 합의 알고리즘을 살펴보겠습니다.

dpos는 일정한 증인 그룹을 만들고 이들 사이에 경쟁을 하는 그룹 안에서 각 노드가 '단독 결정'을 하는 방법입니다. 
(비트쉐어의 경우, 몇시간에 한번씩 증인그룹을 다시 구성하고, 컨펌은 약 3초 정도입니다.)


예로, 만일 dpos의 경우 100명의 증인 그룹을 만든다면, 이들이 서로 coinage 경쟁(?)을 하여 누가 블럭을 만들지를 경쟁합니다.
이런 경쟁은 경쟁자가 적기 때문에 포크가 생길 확률도 상당히 줄일 수 있습니다,

 

하지만, dpos에서 'Nothing at stake'가 문제가 되었다는 글을 읽었는데요.. 


따라서, 포크가 생기는 문제는 해결하기 힘듭니다.


---

포크가 생기는 문제점은 


1) 노드들이 전파된 검증을 통과하면, 노드가 바로 다음 블럭을 찾는는 '단독 결정', 즉 노드 단독에 의한 결정으로 바로 다음 블럭을 찾는 경쟁 방법 때문에 생깁니다.

그렇다면, 해결 방법도 다양하게 마련할 수 있습니다.


잠깐 생각나는 해결방법:


1) '단독 결정'을 없애자..

 1.1) 개발자가 운영하는 검증노드를 만들고, 검증노드에서 네트워크로 전파된 블럭을 일정시간 동안 모아서 최종적인 블럭을 다시 네트워크에 전파하면 모든 노드가 이 블럭의 다음 블럭을 찾는다.

 

  • 단점: 집중화로 보인다라고 공격받을 수 있음. 블럭을 모으는 시간으로 컨펌시간이 좀 길어질 수 있다.
  • 포크 상황을 막기위한 검증노드 방법의 구현은 다양하게 만들 수 있고, 위 예는 한가지 방법에 불과합니다.

 

  • 한가지 예로서, 검증노드가 일정시간 동안 모인 블럭을 모두 모아서 모든 블럭의 블럭해시값을 해시함수에 적용하여 기준 해시값을 만들고, 기준 해시값에 가장 가까운 블럭해시값을 가진 블럭이 우승자가 되어 다음 블럭을 생성하는 시스템입니다.

'단독 결정'을 없애는 방법은 위 방법 말고도 더 좋은 방법이 있을 것입니다.


2) 이더리움과 같이 계정정보(state)를 이용하여 누가 블럭을 생성할지 각각의 노드들이 바로 알게 하자


이런 방법은 이전에 제가 제안했던 비경쟁적 합의 알고리즘에 해당합니다.


기본적인 방법은 각 노드는 모든 계정의 코인량을 모두 알고 있어서, 
이 코인량과 램덤화할 수 있는 다른 조건을 결합하여 다음 블럭을 누가 만들지를 모든 노드가 바로 알 수 있게 하는 방법입니다.

 

http://www.ddengle.com/bitcoindeveloper/985327
https://steemit.com/kr/@loum/5gc6kw

 

(제가 아직도 이해하지 못하는 것이 있을 수 있습니다. 따라서 위 글은 추측성 내용이 포함되었을 수 있습니다.)

3

loum님의 서명

 

 
 
 
댓글 4
  • 비경쟁개념이 각 노드가 다음 블럭을 생성할 노드가 누구인지를 미리 알게하는 것이라면, 캐스퍼도 이미 그런 로직이 들어 있습니다.
    매 블럭마다 어느 노드가 블럭을 생성해야 할지 리얼타임으로 경쟁하지 않습니다.
    에포크 마다 (그러니까 하루에 약 2번) 다음번 에포크에서 블럭 생성을 담당할 validator 를 미리 뽑습니다. 현재 스펙상으로는 샤드당 100개의 validator 를 뽑습니다. 그러니까 하나의 에포크가 시작되면, 이미 누가 블럭을 생성할지 알고 있는 상태이고, 다만 해당 노드가 블럭 생성을 정해진 시간안에 안하면 스킵합니다.
    그렇다면 노드간의 경쟁은 에포크가 시작하기 전에 이미 끝난 것이지요.

    캐스퍼와 dpos 와의 가장 큰 차이점은, 노드선정 알고리듬과 bond deposit 여부가 될 것 같습니다.
  • ?
    @atomrigs

    항상 좋은 정보 감사합니다.
    그런 면에서 존경하고요..

    본문에 설명이 다소 부족한 부분은 본문에 굵은 글씨로 추가했습니다.

    조금 더 설명드리자면,
    본인의 방법은 validator를 통하는 방법이 아니고, 블럭이 전파되어 오면, 지갑 자체가 계정 db를 가지고 있어서 모든 지갑의 코인수 및 랜덤화할 수 있는 조건을 결합하여서, 모든 지갑이 바로 누가 다음 블럭을 찾아야 하는지 알 수 있도록 한 것입니다.

     

    그리고, 위 설명은 제가 구체적으로 이해가 안가는데요..
    혹시 위 정보에 대한 링크나 좀 더 구체적으로 말씀해주셔면 좋겠습니다.

     

    epoch가 시작되면, 블럭이 전파된 후 validator가 다음 블럭을 생성할 지갑을 선정한다는 것인지 아니면, 다른 방법인지 모르겠습니다.

     

    정보를 주셔서 감사합니다.

  • @loum
    At the start of every epoch, a random VALIDATORS_PER_SHARD validators are selected for each shard, and are assigned as validators for that shard for the next epoch (ie. the validators for epoch n+1 are assigned at the start of epoch n). getValidator(skips), when called to determine the validator within one of these shards, simply picks randomly (with an even distribution, as the deposit-size weighting was already done at selection time) from one of the selected validators.

    http://vitalik.ca/files/mauve_paper.html

    validator 는 블럭을 생성하는 노드입니다.
    한 에포크가 시작하기 전에 다음번 에포크에서 각 샤드마다 블럭을 생성할 노드를 미리 다 결정한 다음, 이 노드리스트를 미리 어나운스 해놓는 것입니다. 그래서 새 에포크가 시작되면, 이 순서에 따라 블럭을 생성합니다.
  • ?
    @atomrigs
    항상 답변 감사합니다..
    이런 정성을 보면, 내공이 대단하신 분임을 느낍니다.
default debug random = 0 / type = READ / detected = READ

List of Articles
번호 제목 추천 수 조회 수 글쓴이 날짜
6181 캐셔레스트 - 이넥트(ENC) 상장 공지 및 에어드랍 이벤트 안내 캐셔레스트이 이넥트(ENC) 코인 원화 상장한다고 공지 떳네요. 여기와 성격이 맞는지 모르겠지만 올려봅니다^^   안녕하세요. 캐셔레스트 입니다.   신규 암호화폐 상장 및 및 에어드랍 이벤트를 안내해 드립니다.   ... 0 814
이더일천가는날
2018.11.13
6180 [18.11.13] 비트코인 ATM 4,000대! 중국과 암호화폐이야기! 다양한 소식들!   하양이아빠입니다.   ☆ 오늘의 Pick 뉴스 중국의 암호화폐에 관한 이야기 세번째 (Part 3)입니다. https://steemit.com/dclick/@jrcombo70/-part-3--1542080150734   비트코인캐시 관련 뉴스는 많이 다뤄서 오늘은... 16 file 6 805
하양이아빠
2018.11.13
6179 비트코인 캐시는 어떻게 될까요? 안녕하세요.   비트코인 캐시가 곧 하드포크를 할텐데 어떻게 될지 걱정반 흥미반입니다.   SV가 ABC를 무섭게 추격하고 있는것 같네요...ㄷㄷㄷ   잘 풀리길 바라는데..쉽지 않아보이는군요...   어떻게 될까요?    ... 25 file 3 1066
크림메일
2018.11.14
6178 비트코인노바 지갑 실행 X 엉망진창 ㅡ.ㅡ;   안녕하세요? 채린입니다. 오랜만에 비트코인노바 지갑 열어봤습니다. (지갑 열어본지 오래되서 몇개 캐모았는지 까먹은건 비밀) 기존 거래소 망해서 없어지고 새로 거래소 생겼다고 해서요. 그때 1사토시에라도 팔... 19 file 0 597
김재현
2018.11.14
6177 답답한 약세장을 보내는 하루   작년 12월말, 블록스트림 Samson Mow가 출장후 트위터에 올린 아름다운 캐나다해변 사진이 아직도 아물거립니다.  시애틀의 잠못이루는 밤 영화주제곡을 들으며 한껏 꿈에 부풀었던 때였죠. 이제 일년가까이 약세장... 16 file 13 941
굿터치
2018.11.14
6176 [18.11.14] 장난합니까? 국무조정실장 "암호화폐 대책 서두르지 않겠다"! 다양한 소식들!     하양이아빠입니다.   ☆ 오늘의 Pick 뉴스 일본 전력회사, 채굴 사업 진출 日 금융청, 암호화폐 불법 행위 엄격 관리 논의 日 가상화폐거래소협회 "가상화폐 명칭 변경 반대"   => 일본은 암호화폐 선진국답게 정... 25 file 13 1471
하양이아빠
2018.11.14
6175 Blockchain & Government Topic - 11/14   정부의 블럭체인 정책과 관련한 주요 뉴스를 전달 드리고 깊숙히 파고드는 Blockchain & Government Topic 입니다.             [Blockchain & Government Topic - 11/14]   1.   기약 없는 ICO, 활로 뚫을... 6 file 4 464
bestbester
2018.11.14
6174 이 야밤에 먼 일인가요?   안녕하세요? 채린입니다. 왜 이런지 아시는분 게실까요?                          ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에 적어주세요.   비... 14 file 0 1388
김재현
2018.11.15
6173 잠자리 들기전 깜놀~ 아침은 더 깜놀 할라나요?   다들 단잠을 청하고 계신 분들이 많을듯한데   아침에 일어나 스마트폰을 보며 깜놀 하실분들 많겠네요   이상황에 잠자고 일어나면 더 깜놀할까봐 무섭네요 ㅠㅠ   급 술땡겨오는 심야시간입니다   다들 쉬세용~~ ... 7 0 811
Assaravia
2018.11.15
6172 현 코인판 상황 트위터 쌈이 시작되었네요 지한이형이 비트코인 해시빼서 비캐시 해시 확보하겠다고 으름장 놓으니 크레이그형도 그럼 나도 비트코인 팔아서 캐쉬만들어서 해쉬 확보해야지  그럼 우리둘다 비트코인 팔아야 되는데 비... 20 4 1755
MoonsTech
2018.11.15
6171 ㅋ와 폭락인가요   뭔 이유가 있나요                     ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에 적어주세요.   비트코인 암호화화폐 커뮤니티 땡글~ 땡글~ ---... 7 0 972
초보광부들1
2018.11.15
6170 아무리 힘들어도 극단적인 선택은 안됩니다.               다들 힘냅시다.             ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에 적어주세요.   비트코인 암호화화폐 커뮤니티 땡글~ 땡글~ -... 10 1 896
공업용선풍기
2018.11.15
6169 진지하게 시장상황에 대한 의견을 여쭈고자합니다.(수정) 작년 여름 비캐가 처음 체인분리한다고해서 BCC니 BCH니 할 때 겁이 났었습니다. 그때만해도 마이너가 거의 모든 의사결정을 하는 줄 알았습니다. 그리고 11월인가요? NO2X운동이 활발하게 진행될 때 가장 긴 체인이 ... 8 file 1 1092
굿터치
2018.11.15
6168 11/16 비트코인캐시(BCH) 하드포크 간단 정리 비트코인코어 진영과 비트코인 언리미티드 진영으로 나뉘었던 비트코인은 블록 크기를 8MB로 확대한 BCH가 비트코인에서 분리되었습니다. (이후 32MB로 확장) 2017년 비트코인에서 분리된 비트코인캐시(BCH)의 시가총... 47 file 25 2906
인공지능딥러닝채굴머신
2018.11.15
6167 산은 산이요 물은 물이로다. 땡글에는 저보다 많이 아시고 생각도 깊으신 분들이 많으시단걸 알기에 글을 쓴다는것 자체가 굉장히 조심스럽지만 몇자 적겠습니다.   참...오늘 하락장을 보면서 여러가지 생각을 해봤는데요. 예전 세그윗 이슈가 ... 21 18 1173
moonli
2018.11.15
6166 밤새 아름다운 폭포수가 생겼군요.   ㅎㅎㅎ                     ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에 적어주세요.   비트코인 암호화화폐 커뮤니티 땡글~ 땡글~ -------------... 20 0 1189
꿀맨
2018.11.15
6165 줄줄줄~ ㅠㅠ 다같이 줄줄줄~ ㅠㅠ         ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에 적어주세요.   비트코인 암호화화폐 커뮤니티 땡글~ 땡글~ --------------... 25 6 995
크림메일
2018.11.15
6164 작년 비트코인 하드포크 할 당시 차트   8월1일인가 비캐가 생기는 하드포크가 진행된걸로    알고있는데요 ...   마지막 희망회로 돌려봅시다 ~~~   이제 가즈아~~~~!!!                     ------------------------------------- 꼬리말 * 게시글 내... 18 file 4 1376
코무기찡
2018.11.15
6163 비트코인 1년만에 최저치로…암호화폐 왜 갑자기 추락할까   비트코인 6300달러대서 5600달러로 추락…1년새 최저 이더리움 13% 밀리며 시총 2위로…저가 토큰도 폭락세 시장전체 시가총액 24시간새 27조원 이상 `허공으로` `고래` 기술적 매도에 비트코인캐시 하드포크 불확실... 35 file 8 2317
에이원
2018.11.15
6162 [nadana] 왕초보의 쌩광부님 지갑 앱 따라하기   음... 드디어 @쌩광부 님의 모바일 지갑 앱 강좌 1번과 2번의 결과물을 만들었습니다.     수많은 역경과 어려움과 이해 안되는 여러가지 것들을 하나하나 해결하면서 아내의 등짝 스매싱을 이겨내면서 그 좋아하는... 7 file 6 479
nadana
2018.11.15
목록
Board Pagination Prev 1 ... 851 852 853 854 855 856 857 858 859 860 ... 1165 Next
/ 1165
default debug random = 0 / type = READ / detected = READ