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

http://www.ddengle.com/blockchain/1433956 에 제가 답글로 쓴 합의 알고리즘에 대한 내용을 다시 올립니다.

 

--------------------------

 

스팀은 기본적으로 dpos방법을 사용합니다.
추가로, 개발자의 지분확보를 위해서 pow를 함께 사용하고 있습니다.

pos는 지분이 많은 지갑이 블럭(거래데이터)를 만들 확률을 높이는 원리이구요..
이것은 coinday(또는 coinage)라는 변수를 사용하여 지갑이 블럭을 만들었으면 코인데이를 제로로 세트하여 다시 경쟁을 하게 하는 원리를 사용합니다.
즉 경쟁방식이고요,, 코인데이가 가장 많은 지갑이 블럭 생성권한을 가집니다.

dpos도 pos의 일종입니다.
다른 것은 추천인 또는 증인(delegate)가 각 지갑을 추천하는 방법을 사용합니다.
추천을 많이 받은 지갑의 상위 약 20개가 지분(?)율에 따라서 정해진 시간 3초(?)마다 블럭을 만듭니다.

--- 
합의 알고리즘이란

기본적으로 동일한 마이너 또는 노드 중 누가 블럭을 만들 것인가를 정하는 것입니다.
이때 가장 중요한 것은 해킹이 발생하지 않도록 되도록이면 노트가 랜덤하게 선택되도록 합니다.
사실 랜덤성만 가지고는 다중 계좌를 이용한 시빌공격을 방어를 할 수 없기 때문에 해쉬능력 또는 코인 지분율에 비례해서 블럭생성기회를 줍니다.

랜덤성이 중요한 이유는 이체완료를 위한 필요 컨펌이 있는데요.. 
비트코인은 6컨펌이죠.. pos코인은 최소 100컨펌 이상을 요구합니다.
이 이체완료 컨펌이 넘으면, 블럭체인을 바꿀 수가 없기 때문입니다. 
따라서, 해커가 연속으로 블럭을 이체 완료 컨펌 이상을 연속으로 작성하면 해킹에 성공하게 됩니다.

따라서, 랜덤성이 중요하고요..
그런데, pos의 경우 51%의 코인을 가지고 있으면, 원리상으로 랜덤성이 없더라도 위에서 말한 해킹이 불가능하게 됩니다.

따라서, 제가 제안 했던 코인은 이체 가능코인(49%) + 이체 불가능하지만 블럭을 생성하고 이자는 받을 수 없는 이체 불가능코인(51%)로 된 pos코인을 만들자는 제안을 했던 것입니다.

물론 이 두 코인은 하나의 코인인데, 코딩을 이체가능코인과 이체 불가능한 코인으로 분리를 한 것입니다. 그예로 지갑 주소의 첫자를 이체가능은 TR로 시작하고, 이체 불가능코인은 NO로 시작하는 방법으로 구분할 수도 있습니다.

 

https://drive.google.com/file/d/0B5hmGlVuh8KZUzJGdDJ2bVNwSE0/view

https://steemit.com/kr/@loum/5gc6kw

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

 

 

생각나는대로 적은 글이라 조금 정신이 없습니다.

 

(마지막에 남긴 글이 적당하지 않은 것 같아서, 삭제했습니다.)

3

loum님의 서명

 

 
 
 
댓글 6
  • 사실 51%로 컨펌 전용코인을 고정하는 것은 별다른 의미가 없다고 보는데요. 기본적인 이유는 시스템내 코인의 100%를 컨펌코인으로 쓰든 51%의 코인만을 컨펌 코인으로 쓰든 결국, 블록체인의 해킹은 컨펌코인 내에서의 경쟁에 근거하기 때문입니다.

    아래의 몇가지를 살펴볼 수 있을 듯 합니다.
    1)
    전체 네트워크에서 존재하는 컨펌 전용 코인이 51%고, 49%는 전송용 코인이라면, 이 둘은 그냥 다른 코인입니다.

    2)
    컨펌 전용 코인 51% 중에서 과반수가 찬성해야 컨펌이 승인나도록 합의 알고리즘을 설계한 경우라면,
    즉 25.5%(51%의 과반수)가 넘는 코인이 승인해야 컨펌이 이루어지는 경우라면 여전히 기존의 문제가 반복됩니다.

    3)
    51%라는 모든 컨펌 코인이 컨펌을 해야 승인이 나는 경우라면, 컨펌 코인을 소유한 모든 노드가 활성화되어 있어야 합니다.

    4)
    컨펌코인은 거래가 불가능하기 때문에, 초기에 컨펌 노드들을 설정하면 다시는 바꿀 수 없습니다.
  • ?
    @어른아이

    날카로운 지적이 있군요..

    구체적으로 생각해보았다는 것에 좀 놀랐습니다.

    1) 다른 코인이 아닙니다.

    다른 코인이라는 것은 블럭체인이 다르다는 것을 의미할 텐데요..

    이들은 한 블럭체인에서 서로 경쟁적으로 블럭을 생성하므로 다른 코인이 안닙니다.

    2) 번은 51%의 과반이 찬성해야 한다는 식으로는 합의 알고리즘을 설계를 하지 않습니다.


    제 제안은 기존의 pos의 coinage의 경쟁을 그대로 이용한다는 전재가 있는 이야기입니다. 
    즉, 제가 전체 합의 알고리즘을 만든 것은 아닙니다. 

    기본 pos 합의 알고리즘에다가 51% 컨펌용 코인만을 추가한 것입니다.

    즉, 일반적인 pos 알고리즘입니다.

     

    (제가 pos 알고리즘을 새로 짠 것이 아닙니다. 제가 제안한 pos알고리즘도 있으니, 관심이 있으시면, 읽어보시기 바랍니다.)


    어째든 pos는 coinage의 경쟁에서 이기는 노드가 블럭을 생성합니다.
    51%의 의미는 블럭생성확률을 높여줄 뿐이며, coinage 경쟁과는 다른 문제입니다.

    또한 반드시 51%가 되어야 할 필요도 없습니다. 30%이나 20%로 해도 어느 정도의 네트워크 안정성을 얻을 수는 있습니다.
    이는 51% 공격 얘기를 하니, 상징적으로 쓰인 숫자일 뿐입니다.

    3)번도 pos에 대한 오해입니다.

    기존의 pos의 coinage 경쟁을 그대로 쓰는 것입니다.
    제가 처음부터 설계한 합의 알고리즘은 모든 것을 제가 만들지만, pos를 기반으로 제안하는 코인은 기본적인 coinage 경쟁을 기본으로 하고 있다는 것을 전제로 합니다. 즉, 기본 pos에 제 제안안만 추가한 것입니다.
    그렇지 않으면, 빈 곳을 제가 설계를 해야 하고, 이를 언급합니다.

    기본적으로 coinage 경쟁이기 때문에 컨펌용 코인의 모든 노드가 반드시 활성화되어야 하는 것은 아닙니다.

    하지만 날카로운 지적은 노드가 활성화되어야 있어야 한다는 것을 지적한 것입니다.
    원시적으로 코딩을 한다면, 이들 코인이 한 곳에 있든 여러 곳에 있든지 이들 노드 중 하나라도 죽으면 문제가 될 수는 있습니다.

    4)번 3)번과 같이 저도 이 문제를 생각해보았습니다.

    제가 생각했던 것은 해결 예로, 만약 3개의 컨펌 노드를 만들면, 3개 중 하나의 노드 중 하나라도 살아있다면, 이 중 하나가 51%를 가진 것으로 프로그램을 하면 됩니다.
    즉, 세개의 노드가 모두 51%를 가진 것으로 코딩을 하고, 이중에서 반드시 하나만 컴펌의 경쟁에 참여하도록 코딩을 하면 되는 것입니다.

    따라서 51%는 코딩의 문제일 뿐 아이디어의 문제는 아닙니다. 

    즉, 아이디어의 구현의 문제이며, 구현(코딩) 방법도 굉장히 다양하게 할 수 있습니다.

    핵심은, 컨펌용 코인은 이동이 안된다는 것보다 판매를 할 수 없다는 것에 방점이 있는 것입니다. 

    즉 전체 코인 중 컨펌용 코인이 51%로 이든 75%로 하든 이들이 판매가 되지 못하도록 하는 것이 핵심입니다.

    따라서 51%가 핵심이 아닙니다.

     

    (어째든, 제 용어 선택이 잘못이 되어서 오해했을 소지는 있습니다.)


    결국, 컨펌용 코인이 한 노드에 꼭 있어야 한다는 의미는 아닙니다.

    만일 그렇다면, 어린아이님의 제기한 문제가 발생할 수 있습니다.

    ------
    어째든 논리적으로 노드가 죽는 것까지 생각을 했다는 것은 놀라운 일입니다.
    저도 한번은 잠깐 생각했던 문제입니다.

  • ?

    제가 위 글을 잘 이해했는지는 모르겠습니다만... (나이가 드니 이해력이...T.T)

    일단 51% 어택 등 해킹 공격의 의미는 정상적인 블록 생성이 아닌 인위적 조작에 의한 블록체인의 변경을 의미합니다. 그것이 시간차이든 소스의 직접적 수정이든요..

    위 51% 이상의 거래 불가능 코인의 경우 전제조건이 인위적인 변형이 불가능 할 경우에 가능한 얘기입니다만... 오픈소스의 프로그래밍 코드로 이뤄진 가상코인의 경우 이런 변형이 불가능한 경우는 거의 없을 듯 하네요.. 거래 가능, 불가능을 떠나서 51% 가 변형된 블록체인을 인정하면 끝이니까요..

    두번째는 pos 의 경우 이더가 어떤식으로 될지는 모르겠지만, 지분률 = 해시파워 가 아니니까요.. 보상의 분배율이지 해시하고는 관계가 적을 가능성이 높으므로 51% 의 지분을 가지고 있다고 해서 51%의 해시를 다루는 것은 아닐 것입니다. 그러므로 51%의 지분을 가지고 있다고 어택이 가능한 것도 아니고, 51%를 가지고 있다고 해킹을 방어할 수 있는 것도 아닐 것입니다.

    만약 지분 = 해시파워라면... 큰 거래소들이 마음만 먹으면 수정할 수 있게 되겠지요.. 요즘은 거래소에 돈이 다 몰리는 추세니..
    모 코인의 경우는 지분율에 기여도를 포함하는 경우도 있구요. 다양한 다른 규제 방법이 가능할 것입니다.

  • ?
    @은빛늑대

    pos에 대한 부분을 제가 잘 적지 못해서 그런가 본데요..

    기본적으로 pos 합의 알고리즘을 사용하는 것입니다.
    따라서 기존 pos 합의 알고리즘의 coinage(coinday)를 이용한 합의 알고리즘을 기반으로 하는 것입니다.

    댓글에서 ' 51% 가 변형된 블록체인을 인정하면'이라는 표현은 개발자가 코드를 고쳐서 하드포크 등을 해서 컴펌에 쓸 코인을 유통하겠다는 것인데요.

    그렇다면 아무런 의미가 없죠.

    또한 개발자가 프로그램을 고쳐서 컨펌용 코인을 팔려고 해도, 거래소가 코드를 수정하지 않으면, 전송자체가 안되므로 코인을 팔 수도 없습니다.

    즉, 개발자와 거래소가 서로 짜고 해야 하는데, 거래소가 한번의 이익을 위해서 사기를 할 것 같지는 않습니다. 

    <b>위의 제 제안의 굉장히 좋은 점 중하나는 개발자가 네트워크 안정을 위해서 꼭 많은 발행코인을 가지고 있어야 한다는 당위성이 없어집니다.
    개발자가 5%의 코인만 가지고 있어서, 네트워크가 안정이 될 수 있기 때문에, 좀더 공평한 분포를 가진 코인이 될 수 있습니다.</b>

    pos는 해시 경쟁을 하지 않습니다. coinage 경쟁을 합니다. pow가 해시 경쟁을 하지요..

    그리고, 지적하신 거래소와는 전혀 문제가 없습니다.
    왜냐면, 개발자가 51%의 코인을 통제하고 있기 때문에 49%의 코인이 거래소에 있더라도 개발자가 네트워크를 통제할 수 있습니다.

    관심을 가져주셔서 감사합니다.

  • 이더리음운 언제 PoS넘어가나요? 설정파라메터가 있나요? 아님 hardfork를 해야하는건가요?

    (github source code를 찾아보고 있던중, 궁금합니다...)

  • ?
    @신피질
    이더리움은 제가 요즘 공부하고 있어서, pos로 넘가는 시기는 모르겠습니다.
default debug random = 0 / type = READ / detected = READ

List of Articles
번호 제목 추천 수 조회 수 글쓴이 날짜
5542 이더리움 네임서비스 (ENS) - 3월 14일 메인넷 론칭 이더리움 지갑주소나 컨트랙트 주소를 서로 보내거나 기억하기가 매우 힘들죠? 인터넷에서 ip 주소 대신 google.com 같은 기억하기 쉬운 이름으로 바꾸어서 사용하듯이 이더리움에서도 헥스주소를 임의의 이름으로 바... 7 file 11 5381
atomrigs
2017.02.18
5541 이더리움 챠트 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.   ------------------------------------------------------------... 12 file 7 4691
나빌래라
2017.02.18
5540 비탈릭의 cryptoeconomics 소개 비탈릭이 파리에서 진행중인 이더리움 유럽 개발자모임 (EDCON) 에서 발제한 cryptoeconomics 자료입니다.   http://vitalik.ca/files/intro_cryptoeconomics.pdf   비트코인의 PoW 와 이더리움의 PoS 에 대한 재미있... file 8 2657
atomrigs
2017.02.18
5539 Nexium 베타 게임 론칭 임박 이더리움을 사용해 RTS 게임안에서 사용할 수 있는 인게임 토큰인 넥시움을 발행한 프로젝트가 있습니다. 댓글에서 제가 몇번 언급을 했었는데, 다음주에 베타게임이 나오는다는 소식에 가격이 다시 움직이고 있네요.... 6 1 2121
atomrigs
2017.02.17
5538 코인원 홈피 다운 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 3 0 1076
cacao
2017.02.15
5537 비트코인을 적금 형식으로 맡겨두고 싶습니다 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 2 0 1561
Oyster
2017.02.14
5536 비트코인 대량구매 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 8 0 1829
vanvanee
2017.02.14
5535 제트코인 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 0 1200
오리궁뎅이
2017.02.14
5534 경제학적으로 비트코인을 계속 찍어내도 괜찮은가요? *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 3 0 1074
Vaultboy
2017.02.14
5533 혹시 비트코인 최초의 거래소가 어디인지 아시는 분 계신가요? *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 2 0 801
발컨즈
2017.02.14
5532 엔터프라이즈 이더리움 블럭체인 그룹 이더리움 블럭체인을 사용한 기업용 어플리케이션 개발에 관심을 가진 업체들에 대한 보도들이 이전에도 많이 있었지만, 이번에 보다 본격적인 그룹이 출범했습니다. 주요 참여 회사이름들은 다음과 같습니다.   JP M... 4 13 2645
atomrigs
2017.02.14
5531 지갑관련 궁금한 사항 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.***     땡글 회원인데 궁금한게 너무 많은 코인 초심자 입니다. 몇... 5 0 709
좋은하루님
2017.02.14
5530 코인원 접속 저만 안되나요 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 1 0 703
방울이
2017.02.13
5529 폴로닉스 마진거래 잘 아시는 분 계신가요? *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 2 0 4262
카네모치
2017.02.13
5528 이더 패러티 출금 질문... *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 2 file 0 592
skanEorl
2017.02.13
5527 폴로닉스 레벨2단계인데요 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 4 0 2399
호이짝
2017.02.12
5526 diem 코인 폴로에서 없어졌는데 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 2 0 622
sunnydua
2017.02.12
5525 Blockchain 지갑 id alias 질문입니다. *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 0 452
mangsoogi
2017.02.11
5524 바이트볼 다들 들어오셨는지요? 저는 아직까지 안들어왔네요;; 20 0 2092
경제적자유
2017.02.11
5523 ok코인 선물관련. *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 0 763
트럼프
2017.02.11
목록
Board Pagination Prev 1 ... 852 853 854 855 856 857 858 859 860 861 ... 1134 Next
/ 1134
default debug random = 0 / type = READ / detected = READ