develop custom_top_html:no
default debug random = 0 / 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
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
100 개발 node.js 에서 콜백지옥이 어떨때 발생하는건가요? for(var i=0;i<10;i++){ console.log(i); } for(var a=0;a<10;a++){ console.log(a); } console.log('end'); 이렇게 돌려봐도 첫번째 두번째 for문이 순차적으로 실행되는데 비동기식 코딩에서... 4 0 6480
지우긩
2015.02.01
99 개발 Gateway 구축비용 리플코인은 Ripple Trade 안에서 모든 거래(시장형성)가 진행되도록 만들어 놓았는데요,  Pax Moneta 는 반(Half) 독립적이며 자동 입출금 시스템으로 운영하고 리플마켓코리아는 리플트레이드에... 4 2 2946
V.June
2015.01.31
98 개발 redis 에 배열 자체를 담을수있나요? redis 에 key value 를 담아 배열처럼쓰는게아닌 a[0]='a'; a[1]='b'; 이 a 배열변수자체를 redis에 통째로담을수있나요? 1 0 2844
지우긩
2015.01.30
97 개발 timestamp 에 관해.. 안녕하세요 반갑습니다 늦게 프로그래밍이란걸 접하게되어 하나하나 배워가고있는 초짜입니다. 다름이아니라 서버와 클라이언트 사이의 시간을 동기화시키고싶은데요. 서버의 위치가 클라이언트... 3 0 2021
지우긩
2015.01.22
96 개발 파이썬 교재입니다. 파이썬 교재입니다. 제목은 "정보교육을 위한 파이썬"입니다. 교재로써 도움이 될까 해서 올립니다. 우리나라 두분이 번역해 주신것입니다. 첨부파일로 올리니 다운받으시면 됩니다. 파이선교재.... 9 file 6 8973
서울코인
2015.01.21
95 개발 프로그래밍 입문 - 무얼 어떻게 공부해야 할까요? 안녕하세요. @V.June 님 질문 보고 좀 자세히 여쭈어 보려고 합니다. 코인을 만들고 그와 관련된 생태계를 직접 꾸며보고 싶습니다. 코인(256D/스트립트/POS 등등) 을 만들고, 지갑을 만들고, 홈... 6 3 3966
음교수
2015.01.20
94 개발 프로그래밍 입문 안녕하세요,  프로그래밍에 너무도 관심이 많은 일반인 입니다.  지식이라면 거의 '0'에 가깝다고 볼 수 있습니다. 제가 모르는 영역이기에 시간을 두고 배우고 싶은데요, 궁극적인 목적이 '간단... 9 3 2358
V.June
2015.01.20
93 개발 서버에 지갑을 싱크해봤는데 트래픽이 어마어마하네요... 개인적으로 IDC에 테스트용 서버를 한 대 가지고 있어서 로컬에 있는 지갑 몇개를 서버로 옮겨봤습니다. 국제 트래픽이 20GB까지 무료인데, 싱크 띄워놓으니 하루만에 무료트래픽 다 털리는군요 ... 14 0 3451
디지털디자인
2015.01.19
92 개발 socket.io 사용하다 생긴 궁금증.. socket.io 로 웹서비스 하나 제작해보려 하는데 벌써부터 김칫국 마시는건 아닌지는 모르겠습니다만 나중에 해결못할 궁금증이 생겨 이렇게 질문올려봅니다. 바로 질문들어가겠습니다 socket.io ... 3 0 3271
지우긩
2015.01.18
91 개발 웹소켓 질문 있습니다 질문 1 : 웹소켓 타임아웃 보통 몇 초 정도로 하는게 적당할까요? 계속 데이터가 들어와야 되는 시스템인데.. 무한으로 설정해도모 큰 문제는 없을까요? 질문 2: 소켓 onClose 시에 재 접속을 시... 8 0 2969
메슬렁
2015.01.16
개발 갑자기 문득. 유레카! 그동안 사실, A 라는 사용자가 B 라는 사용자에게 코인을 보내기 위해 QR 코드를 오픈하는것만으로 코인을 전송하는 방법이 없을까.. 혹은 기존과 조금은 다른 결제 방법이 없을까.. 고민을 조금... 27 4 3868
calmlake79
2015.01.16
89 개발 비트코인(Bitcoin) 시스템 분석 노트 - kt 경제경영연구소 비트코인 공부할 때 찾아놓았던 자료입니다. 정리는 굉장히 잘 되어 있습니다. 비트코인 알고리즘에 관심이 있다면 읽어볼만한 자료입니다. 혹시 이 자료가 이전에 올라왔던 자료인지는 확인을 ... 7 file 18 9126
loum
2014.12.20
88 개발 Coinone API 오픈했습니다 안녕하세요. 코인원 입니다. Coinone API를 오픈하게 되어서 글을 남기게 되었습니다. https://coinone.co.kr/developer/ 앞으로 코인원이  다양한 아이디어를 구현할 수 있는 플랫폼으로 성장하... 2 10241
Coinone
2014.12.09
87 개발 주식 자동 매매 프로그램 이번 주는 많이 바빴습니다. 회사 업무도 있었지만, 프로그램 만드는 일도 몇 일 걸렸습니다. ETF(Exchange Traded Fund) 자동 매매 프로그램입니다. 저가에 매수하고, 고가에 매도하는 전략이... 28 file 11 25688
drjoon
2014.11.21
86 개발 공짜 파이썬 강의 듣기 파이썬(Python) 언어가 여러분야에 많이 쓰이고 있지요. Ethereum 가 파이썬을 지원하고 있고, 카운티파티 같은 경우는 전체가 파이썬으로 짜여있더군요. 영어공부도 할겸 파이썬도 배우고 싶다... 6 file 13 10208
atomrigs
2014.11.19
85 개발 우분 dd 5 0 2494
구스터(°͜ʖ°)
2014.11.18
84 개발 bitcoin rpc sendtoaddress method질문입니다 구조가 아래와 같은데요 sendtoaddress  하면서 전송 수수료를 설정으로 못하나요? 예를들어서 sendtoaddress  xxxx 0.1 이렇게하면 전송수수료 0.0001 이 나가거든요 이 전송수수료를 0으로 해... 5 0 2492
메슬렁
2014.11.18
83 개발 [JS] 개발자 분들 도와주십시오! 수고하십니다. 나이먹을만큼 먹고 자바스크립트 책을 5권이나사서 몇달째 공부중인 사람입니다. 다름이아니라 화폐를 단위별로 잘라야하는데.. 도저히 감이 잘안와서 혹시 땡글분들중에 알려주... 7 0 3875
지우긩
2014.11.14
82 개발 네트워크 부담이 없는 합의 알고리즘 저의 이전 글(http://www.ddengle.com/bitcoindeveloper/889821)에서 몇분이 네트워크 부담을 이야기하셔서 네트워크 부담이 없는 합의 알고리즘을 다시 만들었습니다. 일단 제 눈에는 이것이 PO... 47 3 5504
loum
2014.10.29
81 개발 loum 님의 랜덤 알고리듬에 대하여 @loum 님이 몇번의 포스팅에 걸쳐서 기존의 PoW 알고리듬의 문제점을 해결하는 방법으로서 Proof of Randomness 를 제안하셨습니다. http://www.ddengle.com/bitcoindeveloper/890555 http://www... 9 file 5 4335
atomrigs
2014.10.29
Board Pagination Prev 1 ... 83 84 85 86 87 88 89 90 91 92 Next
/ 92
default debug random = 0 / type = READ / detected = READ