traders_free custom_top_html:no
default debug random = 1 / 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로 넘가는 시기는 모르겠습니다.

List of Articles
번호 제목 추천 수 조회 수 글쓴이 날짜
공지 설 명절 맞이로 이벤트는 한 주 쉬어갑니다. 새해 복 많이 받으세요! 1 2 53
ESN경매
2020.01.24
공지 2020 미스터리 박스 추첨 이벤트 결과 발표 10 4 104
ESN경매
2020.01.20
공지 게시판 캐시 적립 정책 변경 안내 (2019/12/20 시행) 11 3 238
관리자
2019.12.20
공지 가칭 "땡글 지갑" 베타테스터를 모집합니다. 35 file 17 1249
땡글개발자
2019.11.15
공지 로그인이 안되시는 분은 문의해주시기 바랍니다. 7 5 2801
땡글개발자
2019.08.21
5710 코인원 로그인시 비정상적인 접근입니다 메시지 문의 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 2 0 2926
무명초
2017.03.28
5709 ICO 이벤트나 프리세일 이벤트를 한번에 볼수있도록 정리된 사이트 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 2 file 1 2430
도나도나도나
2017.03.28
5708 한국송금 IOS App이 드디어 나왔습니다. 드디어 IOS도 지원합니다. 코인거래시 기존 거래소를 이용하면 현금환전 출금하기 귀찮습니다. 한국송금이라는 App을 저희가 만들어서 배포중입니다. 비트코인지갑 + 환전+ 계좌이체서비스 가 하나로 통합되었습니다.... 5 1 1774
dreamer
2017.03.28
5707 코스모스 펀딩, 연기됨. 며칠전 3월31일 한다고 공지하더니,.. 오늘보니 4월6일 한국시간 오후10시로 연기되었네요..   얘네들 대체 머하는건지... 4 1 1916
꿀맨
2017.03.28
5706 이더리움밋업준비 : 대한민국 이더리움 개발자 시리즈 (2) *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 4 file 7 4095
양큰
2017.03.28
5705 이더리움 POS 전환에 관해 질문드립니다. *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 0 2311
건포도
2017.03.28
5704 유럽쪽 거래소에서 비트코인을 사고싶습니다 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 5 0 5452
우르자
2017.03.28
5703 안녕하세요 궁금한게있어서 여쭤봅니다. 홍콩anx 오프라인 은행에서 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 0 3389
ccnccn
2017.03.27
5702 이더리움 지갑을 만들려는데요     ㅡ*** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** ----------------------------------------------------... 1 file 0 1902
홧팅
2017.03.27
5701 코스모스(Cosmos) 프로젝트 이름은 여러모로 재밌네요 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 5 1 2498
예티
2017.03.27
5700 코스모스 관련 질문? 이더리움이 엄청 성장할텐데.. 코스모스가 나올때쯤이면...~ *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 8 0 5050
gogogo
2017.03.27
5699 퍼블 아름답게 오르네요..ㅠㅠㅠ   0.5위안에 사놓고 사실상 버닝되어버린 내 26000개 퍼블 ㅠㅠㅠㅠ 지금 거의 3배 올랐네요...ㅠㅠㅠ 눙물이 앞을 가립니다... 4 file 0 1404
꿀맨
2017.03.27
5698 [Coinone] 비트코인 언리미티드 하드포크: 매도 vs 보유...거래자들의 선택은? *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 1 file 2 7616
Coinone
2017.03.27
5697 DCR 시세가 폭등했네요 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 16 0 3190
갓버
2017.03.26
5696 이더리움밋업준비 : 대한민국 이더리움 개발자 시리즈 (1) *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 11 file 8 5511
양큰
2017.03.26
5695 이더리움밋업준비 : 대한민국 이더리움 개발자여, 일어나라! *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 2 file 3 1624
양큰
2017.03.26
5694 프리세일 참여방법이 궁금합니다.. *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 4 0 2159
센즈
2017.03.26
5693 이더리움을 가지고 있는데 지갑질문합니다 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 0 1904
효린덕후
2017.03.26
5692 코스모스 ico 참여방법 *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 4 0 3459
빰빰빰빰빠밤빰
2017.03.26
5691 ts hash 조회가 안되네요...myetherwallet에는 거래내역은있구요.. 어떻게해야하죠? *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** -----------------------------------------------------------... 3 file 0 716
웅군
2017.03.26
목록
Board Pagination Prev 1 ... 756 757 758 759 760 761 762 763 764 765 ... 1046 Next
/ 1046
PC debug / slots = 2 / size = 0 / random = 0