You are viewing a single comment's thread from:

RE: 비트코인 캐쉬를 문자 메시지로 전송해 보자 – 코인텍스트(CoinText) 서비스 시범 운영 중!

in #coinkorea7 years ago

약간 이해가 잘 안되서 그러는데 질문 드려도 될까요?

  • 코인텍스트의 월렛은 거래를 온체인내에서 직접적으로 해결하는 알고리즘을 사용하기 때문에 거래 내역을 따로 저장할 필요가 없다고 합니다.
    --> 이게 어떤 의미인지 잘 모르겠습니다..

  • 기존에 BIP39가 아닌 휴대폰 번호기준 비대칭키를 만든다는 것은 이해했는데요.
    글을 읽어보면 공개키(지갑)는 클라우드에 저장되지만, 개인키는 어디에 저장이 되는 것이죠? 사용자의 휴대폰에 저장이 되는 것인가요?

  • 임시키의 기능이 정확히 무엇인지 궁금합니다. 개인키의 전자서명 및 공개키를 통한 검증이 블록체인 유효성 검증의 기본인데 어떤 식으로 구성하는지 잘 이해가 안가서요 ㅜ

감사합니다!

Sort:  

먼저, 피드백 주셔서 정말 감사드립니다 :)

  • 온체인, 오프체인 등의 개념이 있는데, 이게 그렇게 복잡한 개념은 아닙니다. 온체인은 그냥 네트워크 내에서 이루어지는 거래(거의 대부분의 거래)를 의미합니다. 예를 들어 @apmmh님이 이더월렛으로 친구에게 1이더를 전송하기 버튼을 눌렀다면, 그건 온체인입니다. 네트워크에 바로 해당 거래가 올라가니까요. 반면 오프체인일 경우, 거래가 블록체인 네트워크 상에 바로바로 올라가지 않고 어느 정도 거래 내역을 정리해서 한 번에 올리게 됩니다.

예를 하나 들어보겠습니다. 친구들끼리 꼬치구이 집에 가서 술과 각종 음식을 시킵니다. 이때, 꼬치구이를 하나 먹을 때마다 각자 돈을 지불하는 것은 온체인 입니다. 반면 꼬치구이를 전부 다 먹고 나서 가게를 나가기 전 돈을 모아 1명이 결제하는 것은 오프체인 입니다. 꼬치구이를 먹는 것을 거래 생성, 꼬치구이를 계산하는 것을 '해당 거래의 정보를 블록체인 네트워크에 올리는 것'이라고 보시면 되겠네요. 즉, 온체인은 바로 바로 계산을 하는 것이고, 오프체인은 모아두었다가 한꺼번에 계산하는 것에 가깝습니다. 이런 맥락으로 이해하시면 되는데.. 도움이 되었을까요? ^^;

  • 2, 3번의 항목과 관련해서는 제가 봐도 조금 헷갈리게 본문이 작성되었습니다. 정말 죄송합니다. 수정된 본문에서 보충설명을 가져오면,

이 부분에 대해 궁금해하시는 분들이 많아 보충 설명을 덧붙입니다. 위의 사진을 보면 암호화 알고리즘이 퍼블릭 키와 프라이빗 키를 생성하는 모습을 볼 수 있죠? 이때 퍼블릭 키를 '지갑의 주소'로, 프라이빗 키를 '지갑의 비밀번호'로 간주하시면 됩니다. 퍼블릭 키는 공개되어 있지만 지갑을 사용하기 위해서는 프라이빗 키가 필요하죠. 그런데 특정 알고리즘에 시드 값을 넣었을 때, 항상 원하는 프라이빗 키를 알 수 있다면 어떨까요? 이럴 경우, 알고리즘만 갖고 있으면 굳이 프라이빗 키를 어딘가에 계속 저장하지 않고 필요할 때만 이 알고리즘을 이용하면 됩니다. 알고리즘을 통해 프라이빗 키를 생성하여 전송 기능을 실행한 후, 만들어진 프라이빗 키를 바로 삭제하는 겁니다. 그렇게 되면 해커들이 데이터베이스를 해킹해도 사용자의 프라이빗 키(개인 키)를 알아낼 수가 없죠. 코인텍스트가 바로 이런 키 생성 알고리즘을 개발하는 겁니다.

개인 키는 보관되지 않고, 코인텍스트 자체 알고리즘으로 생성된 후 수초 안에 삭제됩니다. 생성되고 삭제되는 수초 동안 전송 등의 기능이 수행되는 것이구요.

제 답변이 도움이 되었길 바랍니다. 또 질문이 있으면 언제나 문의주세요 :)

친절한 설명 감사드립니다.

  • 온체인관련 : 온체인의 의미는 알고는 있었는데 본문에서 말하는 "직접적으로 해결하는 알고리즘" 이란게 뭔가 다른 방식이 포함되어 있는지 해서 질문을 드렸습니다. ㅎㅎ

  • 개인키 관련 : 그렇다면 휴대폰 번호가 seed라면 휴대폰 번호도 어느정도 공개된 정보라 할 수 있는데, 안전하면서도 특정 개인에게 유니크한 개인키가 생성되기 위해서는 휴대폰 번호 이외에 다른 정보도 결합되어야 할 것으로 보여지는데요. (가령 mac주소 등) 해당 사용자에게는 매번 동일한, 그러면서도 남들은 유추할 수 없는 개인키를 매번 다이나믹하게 생성하는게 신기하네요...

  • 그리고 답변주신 내용에서 공개키를 통해 개인키를 계산한다는 내용이 있는데요. 이게 정말인가요? ;;;; 제가 아는 지식수준에서는 놀라울 따름입니다...

  • '직접적으로 해결하는 알고리즘'이라는 표현이 모호하고 오독의 여지가 커서 수정했습니다. 죄송합니다 ㅠㅠ 그냥 실시간으로 거래 장부에 올라간다고 이해하시면 될 것 같습니다.
  • 개인키를 생성하는 알고리즘만 잘 지킨다면, 어느 정도 안정성이 보장될 수 있다고 생각합니다. 인터뷰에서는 지역번호 + 개인 번호 뿐만 아니라 기지국과도 연계를 해서 거래가 정말 유효한 거래인지 확인한다더군요. 기술적인 부분이 아직 전부 공개된 것이 아니라서, 조금 더 지켜봐야 할 것 같습니다. 또한, 개인 키가 매번 달라지지는 않을 것이라고 생각합니다.
  • 비트코인이 주소를 만드는 방법을 생각하면, 개인 키를 생성하는 과정은 비트코인과 비슷한 절차를 밟는 것 같습니다. 비트코인은 해쉬 함수를 이용해서 퍼블릭 키로부터 주소를 추출하니까요.

질문 드린 사항에 대해 보충설명 링크를 달아드리고 싶었는데, 찾을 수가 없네요ㅠ 시간 나실 때 해시함수의 작동 원리에 대해 읽어보시는 것을 추천드립니다. 재밌게 읽으실 수 있을 거에요 :-)

  • 넹~ 매번 동일한 개인키를 다이나믹하게 생성하되, 동일한 개인키를 남들이 만들 수 없는 SEED를 통해 만들어야 하는게 핵심인것 같습니다. 상세한 기술내용이 나오면 한 번 보고싶네요.

  • RSA 자체가 역산이 불가능한 점이 보안성의 핵심입니다. 개인키의 전자서명을 공개키로 검증을 통해 이 전자서명이 유효하단 것을 알 수 있는 것이지 공개키를 통해 개인키를 계산하는 것은 불가능하거든요. 그걸 말씀 드렸습니다. ㅎㅎ

넵.. 시드키를 통해 주소와 페어를 이루는 개인 키를 계산한다고 썼었어야 했는데 제가 퍼블릭 키를 통해 계산한다고 적어 놓았네요 ㅠ 죄송합니다 수정/보팅으로 감사함을 표현하고 갑니다!

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.028
BTC 57495.98
ETH 2320.95
USDT 1.00
SBD 2.35