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
번호 제목 추천 수 조회 수 글쓴이 날짜
5559 가치편 : 이더리움 토큰이 다가온다 - NEXIUM (3) *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 6 file 9 4320
양큰
2017.02.23
5558 이더리움 지갑 백업 질문드려요~ *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 0 1136
lovignkin
2017.02.23
5557 이더리움 지갑 다운받는 방법 좀 알려주세요. *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 2 0 1207
딩가딩
2017.02.22
5556 안전한 지갑 관리법! *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 0 1179
sky빌
2017.02.22
5555 이더리움 질문드려봅니다.. *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 7 file 0 1259
dnskdy
2017.02.22
5554 코인 거래소 보안 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 3 0 1445
묭묭
2017.02.22
5553 비트코인 거래 사기에 관하여 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 9 0 2716
이온음료
2017.02.21
5552 가치편 : 이더리움 토큰이 다가온다 - NEXIUM (2) *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 34 file 15 5992
양큰
2017.02.21
5551 비트코인 분석에 대해 질문드립니다. *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 2 0 819
Vaultboy
2017.02.21
5550 코스모스의 atom 총 발행량이 궁금합니다. *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 4 0 6897
ilst7760
2017.02.21
5549 비트코인 전송이 느려졌어요 전에는 15분이면 1승인 떴었는데 지금은 보낸지 5시간이 지나도 미승인 거래라고 나오네요 전송 수수료는 0.0002 코인(200원정도)으로 했어요 3 0 1613
dongsig
2017.02.21
5548 비트코인 송금 수수료에대한 질문 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 5 0 3222
비트콩
2017.02.20
5547 가치편 : 이더리움 토큰이 다가온다 - NEXIUM (1) *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 27 file 14 8169
양큰
2017.02.20
5546 ... ... 1 0 1030
YouareTheGod
2017.02.20
5545 바이트볼에 관심이 있습니다. *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 0 1521
구도일
2017.02.20
5544 저한테 비트코인을 보내거나 제가 상대방에게 비트코인을 보낼때 아이피를 알 수 있습니까? 비트코인 개인지갑간 거래시에   상대방이 나에게 준 비트코인의 발신지 IP    혹은 제가 상대방에게 준 비트코인에 대하여 제 IP를 확인할 수 있습니까?   주고 받았다는 증거확인을 위해서 질문드리는 것입니다.   ... 1 0 1371
라이트러브
2017.02.19
5543 zcoin 중간거래소 괜찬은데부탁드립니다. *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 1 0 1687
comlike
2017.02.18
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
목록
Board Pagination Prev 1 ... 853 854 855 856 857 858 859 860 861 862 ... 1135 Next
/ 1135
default debug random = 0 / type = READ / detected = READ