develop custom_top_html:no
default debug random = 1 / type = READ / detected = READ
개발
2015-01-16 14:22:24

갑자기 문득. 유레카!

그동안 사실,

A 라는 사용자가 B 라는 사용자에게 코인을 보내기 위해 QR 코드를 오픈하는것만으로 코인을 전송하는 방법이 없을까..

혹은 기존과 조금은 다른 결제 방법이 없을까..

고민을 조금 했었는데,

우연히 글을 하나 읽다가 ( 기술 문서 아님, 비트코인 아님 ) 

갑자기 떠오른거..


A 라는 사용자의 앱에서 새로운 private key 를 생성합니다.

해당키를 이용해 주소를 생성합니다.

해당 주소로 결제할 혹은 누군가에게 줄 코인을 보냅니다.

해당 키를 QR 화 시킵니다.


B라는 사용자는 그 QR 코드를 읽습니다.

그 QR 코드에는 개인키가 들어있으므로 해당 코인을 자신의 지갑으로 이체 시킵니다.


라는 프로세스인데, 실제로는 중간에 컨펌 시간들이 들어가죠.

그래서 몇가지 이슈가 생기는데, 기본 개념은 이거고,

몇가지 추가를 하면 새로운 서비스 혹은 기술을 응용이 가능할꺼 같아요.

애스크로 라던가.. 멀티시그니처라던가..기부라던가..등등...


ps. 기존에 B사용자의 QR코드를 읽는거랑 뭐가 다르냐구요?

네 다릅니다.

A사용자는 심지어 B사용자의 존재를 알 필요도 없습니다.

예를들면, 상품권의 형태로 사용이 가능하다는거죠.

선불카드라던가..


0

calmlake79님의 서명

CCnex

당신의 인생과 인류의 미래를 바꿀

그 놀라운 경험


댓글 27
  • ?
    문화상품권 스크레치 긁고 나오는 코드 같은거요?
  • @코인캐는코쟁이
    네..정확해요..
    그런 원리로 거래가 가능하게 만들 수가 있겠더라구요.
    그냥 문득 떠올랐어요 ㅎㅎ
  • 갑자기 생각하고 보니까..
    저 보다는 @WEBUS 님에게 필요하겠군요 ㅋㅋ
  • @calmlake79
    오~! 좋네요!
    정말 꿀팁입니다 ^...................^
  • 그렇죠~~ 프라이빗키를 임포트 할 수 있는 지갑이라면 어디서라도 쓸 수 있겠네요.

    비슷하게 cex.io 거래소에서는 바우처코드 발급도 가능합니다. 이쪽은 추적이 가능하겠지만요 ^^
  • ?
    'A가 소유한 주소(비밀키)를 통째로 B에게 넘긴다' 인데,
    B는 통째로 넘어온 주소에서 자신의 주소로 이체한다는거군요.

    딴지는 아니구요...
    이런 방식이 가지는 장점이 있나요?
    B에게 키가 넘어가서, B가 자신의 주소에 코인을 보내버리면 A는 아무것도 할 수 없을 것 같은데요?
  • @drjoon
    네..맞습니다.
    그래서 첫번째에 "새로 임의의 키를 발급하는 과정"을 거치는겁니다.
    예를들면 A 가 B 에게 0.1 BTC를 주기위해서 자신의 지갑에 100 BTC를 전부 넘길 필요없이,
    새로운 A1 이라는 키/주소를 발급하고 해당 주소로 0.1 을 보내고, 키를 B에게 넘기면 소유권이 넘어가고, B의 개인지갑으로 이체하는거죠.

    이 방식의 장점은 "시간차"를 가질 수 있다는 점입니다. 그리고 임의성이요.
    상품권이나 선불카드 형식이라고 생각하시면 되요.
  • ?
    @calmlake79
    아하!

    A, B 서로가 주고 받는 형태가 아닌, A가 일방적으로 B에게 선물해주는 형태를 말씀하시는거군요.
  • @drjoon
    네..정확해요 ㅎㅎ
  • 오옷, 먼저 줍는 사람이 임자군요. ㅎㅎ
  • @쌍둥아빠
    이벤트도 할 수 있죠.
    게시판이나 인터넷에서.
    "줍는 사람 임자!" 이러면서 0.001 BTC 가 담긴 QR 코드를 브로드 캐스팅~
  • @calmlake79
    좋군요. 앱 다운받고 스탠바이 해야겠군요.
  • 아... 근데 프라이빗키의 특성상 요 프라이빗키를 A 라는 사람이 먼저 받아서 자기 지갑에 등록해도.... 혹시라도 바우처를 흘려서 다른 사람 B 가 줍게되면 지갑을 공유하는 형식이 되어버립니다... ㅠㅠ
  • @J/제이
    네.. 맞아요.
    문화상품권도 그렇고, 이것도 그렇죠.
    사실 별반 차이없는 기술인데 다만, 디-센트럴라이즈드 되어있다고나 할까..
  • @calmlake79
    온라인에서 문상 쿠폰 번호를 쓰게 되면 아마 중앙서버에서 중복 사용을 막을거에요.
    프라이빗키는 이런 중복 사용을 막을 방법이 없으니 일단 첫 사림이 임포트 하고 나면 그 지갑의 잔액을 다 빼서 다른데로 옮겨놓는게 제일 안전할듯합니다.
  • @J/제이
    넵. ;;
    왜 다들 본문을 안읽으세요!!
    =================
    B라는 사용자는 그 QR 코드를 읽습니다.
    그 QR 코드에는 개인키가 들어있으므로 해당 코인을 자신의 지갑으로 이체 시킵니다.
    =================
  • @calmlake79
    아~
    전 순수하게 비트코어 지갑에서 직접 프라이빗키를 임포트 하는 방식을 얘기한거구요 ^^;; 요건 코인을 자동으로 자신이 원래 가지고 있던 주소로 전송을 해주진 않고 그냥 잔액이 들어있는 새로운 주소가 임포트 되는 방식이니까요.

    만약 앱을 사용한다면

    1. QR 코드에서 프라이빗키 추출
    2. 프라이빗키를 자신의 월렛에 임포트
    3. 새로운 주소에 있는 잔액을 모두 원래 자신이 가지고 있던 주소로 전송

    요 과장이 모두 이루어지는거겠군요 ^^
  • ?
    좀 더 상품권 처럼 한다면.

    별도 코인을 만들어서 배포 또는 판매

    그 코인을 회원 등록하고 교환사이트를 만들어서 비트코인으로 환전
    (별도 코인에 일정한 가치를 부여 -- 환전해주니까)

    별도 코인만으로 거래될 수 있는 쇼핑몰이나 거래소 게임사이트 등 운영

    이런식으로 하면 새로운 코인 키울 때도 좋겠네요.....배포한다면 투자금은 좀 들겠지만...
  • 스크랩했습니다! ^^
  • 코인플러그의 ok비트코인 기프트 카드가 생각나는 군요.
    https://play.google.com/store/apps/details?id=com.coinplug.okbitcard

    제 생각에는 프라이빗키를 직접 QR 코드로 보여주는 것 보다는
    Deterministic 주소를 사용하는 것이 더 좋을 것 같습니다.
    즉 기프트카드는 핀번호만 제공하는데, 이 핀번호가 주소와 프라이빗 키를 생성할 수 있는 시드인 것이죠.
    코인플러그 방식의 메카니즘이 어떤 것인지는 모르겠지만 이와 유사하지 않을까 추측해봅니다.
  • @atomrigs
    아뇨. 코인플러그는 현금으로 즉시 구매하는 방식입니다.
  • @calmlake79
    기프트카드는 현금으로 구매하는 것은 맞는데, 그 기프트카드의 핀코드를 가지고 코인을 생성하는 로직은 어떤 것인지 혹시 아시는지요?
    만일 코인플러그가 deterministic 주소를 사용하지 않는다면 결국 중앙집중식 모델을 사용한다는 것인데, 이것은 비용면이나 해킹위험면에서 매우 불리할텐데요.
    하여간 코인을 기프트카드 처럼 선충전해서 유통한다면 프라이빗키 전체를 QR 코드로 담는 것보다는 deterministic 주소 시드만을 담는것이 더 낫다고 봅니다.
  • @atomrigs
    중앙집중식이라기 보단 거래소에서 실시간으로 매수하는 방식입니다.
  • @calmlake79
    거래소에 실시간 매수하는 방식이라면, 중앙집중식이 맞습니다.
    매수를 연결해주는 주체가 있어야 되고, 또 중앙집중식 거래소들과 거래를 통해야먄 코인을 받을 수 있으니까요.
    결국 코인플러그의 기프트카드는 코인플러그의 IOU 이고, 이 IOU 를 가지고 거래소에서 코인을 교환해서 받는다는 시스템인 것 같군요.
    그렇다면 여기서 코인플러그가 없어지면, 이 IOU 는 작동을 하지 않게 되겠군요?
    또는 이 IOU 를 가지고 코인을 살 수 있도록 미리 어렌이지 된 거래소들이 문을 닫으면 역시 작동불능이 되겠군요?
    그렇다면 이 시스템은 당연히 중앙집중식입니다.

    시드를 이용한 deterministic 주소를 쓰면, 위와 같은 중앙의 신뢰가 전혀 필요없는 기프트카드가 됩니다.
    시드를 가지고 주소를 생성할 때 중앙서버는 전혀 필요없고, 이 주소에는 미리 보내진 코인이 이미 들어 있기 때문에, 바로 비트코인을 사용할 수 있습니다.
    calmlake79 님의 프라이빗키 QR 방식이나 시드 방식이나 매우 유사한 프로세스 구조일 겁니다.
    다만 프라이빗키를 직접 노출시키는 것이 유리할지 시드만을 노출하는 것이 유리할지 정도의 차이일 것 같네요.
  • @atomrigs
    음... 좀 더 생각해보니 왜 코인플러그가 직접 코인을 선불식 카드에 충전해서 팔지 않고,
    일종의 IOU 형태로 판매하는지 이해가 되는 부분이 있습니다.
    만일에 코인을 직접 선불식카드에 충전했다면 (프라이빗 주소를 사용했건 시드를 사용했건),
    이 카드를 리테일 가게에서 판매할 때 원화가격이 계속 변한다는 문제가 있군요.
    결국 리테일가게가 손님을 상대로 환전소 역할을 하게 되어버립니다.
    이런 모델이라면 그냥 비트코인 ATM 을 사람이 수작업으로 하는 시스템이 되는 것이겠군요.
  • ?
    아주 좋습니다. 코인을 전송하였는데 취소할수도 있습니다.
    임시지갑의 주인은 아직 제게 있으니까
    받는 쪽에서는 QR지갑을 받자 마자 출금해서 자기 지갑에 넣으면 됩니다.
    그럼 보낸쪽에서도 상대방이 받았는지 바로 확인이 되는 아주 좋은방법이라고 생각됩니다.
  • ?
    원격에서 생성된 개인키를 사용하는것은 대칭키를 사용하는 것과 같습니다. 개인키는 말 그대로 개인만이 알고있어야 안전합니다. 위의 예에서는 B는 B측에서 생성된 개인키만을 이용해야 합니다. A가 생성한 개인키를 QR 화 해서 B에게 보낸다면, A 측에서 몰래 개인키를 복제해 뒀다가 사용한다면 막기가 어려울 수 있습니다.
default debug random = 0 / type = READ / detected = READ

List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
200 개발 리플의 기본개념(개인적인 추정입니다.) *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** ---------------------------------------... 1 2 2851
쌍둥아빠
2017.06.01
199 개발 그래픽 해쉬올리는 방법 !!어떤걸 올려야하고 신경써야하나요 ??> 그래픽 해쉬올리는 방법 !!어떤걸 올려야하고 신경써야하나요 ??>   해쉬좀올리려고하는데 어떤걸 먼저  건드려야 그래픽카드가 반응이 잘오고 안정적인걸까요 ???   어느정도까지는 가능한데 그... 1 0 1514
매물확보남
2017.05.31
198 개발 . . 10 0 4567
코인개발자
2017.05.29
197 개발 전세계와 상대하여 꿈을 펼칠 개발자를 모집합니다. 블록체인OS에서 블록체인 개발 유경험자를 모집합니다.   저희는 국내 유일의 퍼블릭 블록체인 개발하는 회사로 얼마전 전세계를   대상으로 펀드레이저를 진행했습니다. 최종 77개국에서 참여를... 0 2612
블록체인오에스
2017.05.29
196 개발 뭔가요? 왜 개발자 모집글이 사라진거지요? 뭔가요? 왜 개발자 모집글이 사라진거지요?   저희가 무슨 결격사유라도 있었던게 있나요?   정말 이해가 안되네요.   무슨 근거로 게시글이 사라진 이유를 명확하게 밝혀주시기 바랍니다.   어... 12 0 2830
블록체인오에스
2017.05.29
195 개발 가상화폐 실력있는 개발자 모십니다. 다단계 이런 회사에서 쓸 코인이 아니라 정식으로 제대로 만들고 싶습니다. 이더리움 보다 뛰어난 코인... 한국의 자존심을 보여 줄 수 있는 코인을 만들고 싶습니다.   실력있는 분의 지원을 부... 2 1 3213
마자막현자
2017.05.29
194 개발 프로그래밍 문외한 프로그래밍 공부하려합니다. 안녕하세요. 프로그래밍에 관심은 많았지만 문외한인 사람입니다.   현재 이더리움? 코인관련 개발을 해보고싶습니다.   1. 응용 프로그램 개발   2. 모바일 개발   3. 웹 개발   4. 가상화폐 개... 11 0 2404
이세돌
2017.05.27
193 개발 . . 2 0 6172
코인개발자
2017.05.24
192 개발 비트코인 walletnotify 에 관해 질문 드립니다. 기존에 설치했던 서버들은 walletnotify 가 정상적으로 2번 호출됩니다. 거래가 시작된 시점 즉 0 승인상태에서 txid 가 날라오고 실질적으로 1 승인이 날때 한번더 txid 가 날라와서 총 2번의 t... 2 0 1106
루시
2017.05.23
191 개발 코인관련 개발경험 있으신 개발자분을 찾습니다. 코인관련 거래소 개발 프로젝트를 진행중인데요    다음과 같은 능력을 보유하신 개발자를 채용합니다.     암호화폐 거래소 개발 경험자 암호화폐 DAPP 개발 경험자 알트코인 구축 가능자 .Net ... 0 2807
reviathan1
2017.05.22
190 개발 빗썸 api개발문서는 어디에 있나요? 아무리 찾아봐도 api관리 페이지는 있는데,.. 문서는 안보이네요... 7 0 15716
꿀맨
2017.05.19
189 개발 pos 관련 질문입니다.~ pow일 경우에 채굴 난이도가 높아졌을경우 개인컴퓨터로 채굴할 경우 영원히 채굴을 못하는 경우가 생기기 때문에 마이닝풀을 이용하는데요. pos일경우에도 연수익 20%라 가정한다면 전체 코인 ... 0 1383
티맵맵
2017.05.18
188 개발 비트코인 거래소를 개발해보신 분 계신가요?   회사에서 거래소를 개발하자고 하는데, 개발자이긴 한데 제가 정말 잘 모릅니다. 일단 비트코인은 테스트 삼아 거래해보고, 관련 오픈소스도 찾아 보긴했습니다.   개인적인 비용을 지불하고라... 6 0 3362
온파트너
2017.05.18
187 개발 거래소 API 관련 질문입니다. 코인원 거래소 API 문서를 보고 있는데요. 코인전송시 매 전송시마다 OTP번호는 설마 수동으로 입력 해줘야하는 건가요? 프로그램 구동시 최초 한번만 입력하는거죠??? 설마....   다른거래소 AP... 7 0 4097
꿀맨
2017.05.18
186 개발 비트코인 자동 매매 프로그램을 개발하려 하는데 과거 데이터 구하는법 자동 매매 프로그램 개발시 현재 시세를 구하는  API는 있는데  지나간 과거 데이터 구하는 방법을 모르겠습니다.   아시는분 있으신가요? 7 0 7319
둔산
2017.05.16
185 개발 블록체인 소스 변경시 질문 예를들어 신규코인 만들었습니다. 블록생성당 보상이 50코인입니다. 현재 두개의 노드만 채굴하고 있다고 가정했을때 한노드의 소스를 변경해서 채굴보상을 100코인으로 바꾸고 채굴을 했을경우 ... 2 0 1686
티맵맵
2017.05.12
184 개발 coinone.co.kr 에서 제공하는 api를 이용해 거래를 하기 위한 php class를 공유하고자 합니다.   기초 뼈대는 폴로닉스에서 제공하는 php용 api를 이용해서 coinone 사이트에서 이용 가능하도록 수정했습니다. 출처 https://pastebin.com/iuezwGRZ coinone에서 access_token , api_secret 을... 1 4 7537
천재성곤
2017.05.11
183 개발 폴로닉스 api 할려고 합니다.. 안녕 하세요...   요즘 코인에 푹~ 빠졌서 살고있는 사나이 입니다.. 그래서 인지 주식이 재미가 없네요..ㅋㅋ   저는 폴로리스 api을 배울려고 합니다.. 그런데 큰 문재가 있네요.   어렵습니다... 3 0 8820
튼튼이
2017.05.10
182 개발 [거래소간 차익거래 시스템] 구현에 대한 조언 부탁드립니다. 저에게 오더가 내려왔습니다.   거래소간 차익거래 시스템을 구현해야 되는 상황이네요..ㅠㅠㅠ (개인적으로는 별 관심 없는 분야인데,... 일이니 해야겠죠...)   이미 구현해서 운영하시는 분들... 0 2692
꿀맨
2017.05.10
181 개발 만약 비트코인 서비스를 만든다면 뭘 만들고 싶으세요? 안녕하세요~ 투표날이네요. 사전 투표를 미리 해서 오늘도 출근해서 열심히 게임 만들고 있는 개발자입니다...   땡글에서 가끔씩 눈팅중인데 이번에 한번 글을 또 적어보네요^^   비트코인에 항... 2 0 2025
초밥매니아
2017.05.09
Board Pagination Prev 1 ... 78 79 80 81 82 83 84 85 86 87 ... 92 Next
/ 92
default debug random = 0 / type = READ / detected = READ