본문으로 건너뛰기

이메일 #141 - #145

원본 출처: Satoshi - Sirius emails 2009-2011

이메일 #141

Date: Thu, 04 Feb 2010 02:20:10 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Exchange ideas
To: Martti Malmi <[email protected]>

한글 번역

언제든 Liberty Reserve로 교환할 수 있습니다. Liberty Reserve는 e-Bullion, Pecunix, Webmoney와 비슷한 온라인 화폐로, 이것저것 묻지 않고 프라이버시를 지키면서 교환할 수 있게 해줍니다.

LR와 그 외의 것들은 구매하기는 어렵지만 현금화하기는 쉽습니다. 구매가 어려운 것은 환전상들이 되돌려지는 결제로 속을까 봐 매우 조심해서 더 자세한 정보와 보유 기간을 요구하기 때문입니다. 현금화는 아주 쉽습니다. LR는 되돌릴 수 없기 때문에 LR를 어떤 종류의 지급 수단으로든 바꿔주려는 환전소가 넘쳐납니다.

비트코인은 그 반대여서, 그냥 생성하는 것만으로 비트코인을 쉽게 얻을 수 있습니다. 고객은 bitcoin->LR->cash, bitcoin->LR->gold, bitcoin->LR->paypal처럼 쉽게 옮겨 갈 수 있고, 그냥 돈을 보관하고 싶다면 bitcoin->LR만 하면 됩니다.

BTC2PSC가 비트코인으로 paysafecard를 팔려던 아이디어도 있습니다. 카드 번호를 이메일로 보내 온라인으로 전달하거나, 개봉하지 않은 실물 카드를 우편으로 보내는 방식입니다. 이런 카드에는 여러 가지 종류가 있습니다. 어떤 나라에서는 Gift Card라고 부르며 신용카드가 통하는 곳이면 어디서든 쓸 수 있습니다. 실제 신용카드를 받을 신용 기록이 없는 사람들이 신용카드가 필요한 물건을 사기 위해 직접 기프트 카드를 사는 경우가 더 많은 것 같습니다.

영어 원문

You could always exchange for Liberty Reserve.  It's an online currency 
similar to e-Bullion, Pecunix or Webmoney that allows exchanges no
questions asked and with privacy.

LR and the others are hard to buy but easy to cash out. Hard to buy
because exchangers are very cautious about getting ripped off by
reversed payments, so they require more details and holding time.
Cashing out is very easy. LR is non-reversible, so there are oodles of
exchanges eager to turn LR into any kind of payment.

Bitcoin is the reverse, in that it's easy to get Bitcoins just by
generating them. It would be easy for customers to go
bitcoin->LR->cash, bitcoin->LR->gold, bitcoin->LR->paypal or maybe they
just want to save the money, then just bitcoin->LR.

There's also the idea BTC2PSC had to sell paysafecards for bitcoins.
Either online delivery by sending the card number by e-mail, or delivery
of the unopened physical card in the mails. There are many variations
of these cards. In some countries, they're called Gift Cards, and can
be used wherever credit cards are accepted. I think they're used more
by people who don't have the credit history to get a real credit card,
so they buy gift cards themselves to pay for things that require a
credit card.

이메일 #142

Date: Thu, 04 Feb 2010 01:32:50 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Exchange options
To: Martti Malmi <[email protected]>

한글 번역

더 나은 방법이 있는지 살펴볼 시간도 갖기 전에 서둘러서 모든 결제 수단에서 거절당하지 마세요. 더 이상 결제 처리 업체에 연락하기 전에 기다려 보시길 권합니다. 다른 사용자들이 생각해내고 시도하는 것들에서 아이디어를 얻을 수도 있습니다.

그냥 떠오르는 대로 적는 미완성 아이디어들입니다. 어떤 가상 상품 등에 대한 소액 결제의 중간 크레딧으로 자리매김하는 방법이 있을지도 모릅니다. 아니면 결제가 한 방향으로만 이뤄지게 하는 방법도 있겠지요. 비트코인만 산다면 돈을 밖으로만 보내고 사람들의 돈을 받지 않는 셈인데, 그래도 통화가치를 고정하는 데는 유용할 겁니다. 그건 컴퓨터 사용 시간에 대한 대가일 수도 있습니다.

신용카드는 한 방향으로만 됩니다. 고객의 신용카드로 돈을 돌려준다는 생각은 꺼내지도 마세요. 신용카드 회사들은 그걸 아주 싫어합니다.

어쨌든 어떤 결제 처리 업체든 당신이 뭔가 실체를 파는 것으로 기대할 겁니다.

당신 나라에는 전자 송금이나 종이 수표가 있나요? (유럽 안에서만 되더라도요)

영어 원문

Don't rush ahead and get yourself rejected from all the payment options 
before you've had time to see if there's a better approach. I suggest
you wait before contacting any more payment processors. You may get
ideas from things other users come up with and try.

Just some random incomplete ideas: There may be a way to position it as
an intermediate credit for micropayments for some virtual good or
something. Or maybe if the payments are only in one direction. If you
only buy bitcoins, then you're only sending money out not taking
people's money, that would still be useful to peg the currency. That
might be payment for computer time.

Credit card is only one way. Don't even talk about the idea of
returning money to customer's credit cards. Credit card companies hate
that.

In any case, any payment processor is going to expect you to be selling
something real.

Do you have electronic transfer or paper cheque in your country? (even
if only within Europe)

이메일 #143

Date: Wed, 03 Feb 2010 20:25:53 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoin API
To: [email protected]

한글 번역

빠진 공유 라이브러리가 무엇인지 알아낼 방법이 있을까요? 알면 도움이 될 겁니다.

아마 gtk 라이브러리가 필요할 텐데, 그렇다면 64비트 버전에서도 같은 문제가 생길 겁니다. UI가 없는 시스템에서도 실행할 수 있는 단일 실행 파일을 갖고 싶지만, 리눅스에서 라이브러리에 링크하면서도 라이브러리가 없을 때는 그걸 쓰지 않고 실행되게 하는 방법을 잘 모르겠습니다. GTK를 정적으로 링크해야 할지도 모르겠습니다. 라이선스상으로는 LGPL이지만 유닉스에서만 쓰이는 것이라 괜찮을 겁니다. (윈도우에서는 OpenSSL DLL을 함께 제공하기 때문에 LGPL인 것을 링크할 수 없지만, 리눅스에서는 OpenSSL이 OS에 딸려 옵니다)

제 64비트(디버그 정보를 제거한) 실행 파일을 첨부합니다. 아직 SVN에 올리지 않은, 테스트하지 않은 변경 사항이 들어 있습니다. UI 변경과 지갑 fSpent 플래그 재동기화 관련 작업입니다.

프로세스 간 호출 방법을 위한 선택지들을 알아보고 있습니다. 여러 가지 서버 쪽 언어에서 호출하기 쉬운 것, 특히 PHP에서 호출하기 쉬운 것을 원합니다. 윈도우에서도 쓸 수 있으면 더 좋습니다.

네트워크를 통해 접근할 수 있는 것으로 할지는 아직 모르겠습니다. 그러면 보안 문제가 생깁니다. 로컬 시스템에서만 접근할 수 있다면 로컬 보안 인증으로 충분하고, 원격으로 해킹당하는 일은 원천적으로 불가능합니다.

겉핥기로, 아직 자세히는 보지 않았지만, 현재 앞서 있는 후보들은 이렇습니다: D-Bus: 로컬 시스템 전용 qt, gnome, skype에서 사용 바인딩: c, python, java, c++, php는 "in progress"로 표시됨 .net은 유지보수 중단으로 표시됨 windows에서 얼마나 쓸 수 있는지는 잘 모르겠음 XML-RPC: 널리 쓰이며 PHP에 내장 라이브러리 있음 웹 클라이언트가 서버와 대화하기 위한 성격이 강하고 전송 방식이 http라 보안상 문제임

로컬에서만 접근할 수 있는 소켓을 여는 게 가능할까요?

[email protected]님이 썼습니다:

비트코인 API의 프로세스 간 호출 방식은 정하셨나요? 쉬운 해결책으로는 wxWidgets에서 제공하는 소켓 인터페이스가 있습니다: http://docs.wxwidgets.org/trunk/overview_ipc.html. wxServer를 실행 중인 비트코인 프로그램은 명령줄에서 bitcoin 실행 파일을 호출하거나 직접 wxClient 앱을 만들어 접근할 수 있습니다.

다른 방법으로는 그냥 일반 BSD 소켓을 쓰는 것도 있습니다.

64비트 리눅스용 비트코인 바이너리가 있으면 보내주실 수 있나요? VPS에서 컴파일을 시도했는데 메모리가 부족했습니다. 32비트 버전(ia32-libs 사용)도 시도해 봤지만 공유 라이브러리를 찾지 못했습니다.

영어 원문

Is there any way to find out what the missing shared libraries are?  It 
would help to know.

It probably needs the gtk libraries, in which case you'll have the same
problem with the 64-bit version. I would like to have a single
executable that can also run on a UI-less system, but I'm not sure how
on linux to link to things but still be able to run and not use them if
the library is not present. Maybe we should statically link the GTK.
Licensewise, it's LGPL, but since it's only used on unix, that would be
OK. (we can't link LGPL stuff on windows because we provide the OpenSSL
DLL, but on linux OpenSSL comes with the OS)

My 64-bit (debug stripped) executable is attached. It includes untested
changes that are not in SVN yet: UI changes and the wallet fSpent flag
resync stuff.

I've been researching options for interprocess calling. I want
something that will be easy for a variety of server side languages to
call, particularly PHP. Cross-platform to windows is a plus.

I'm not sure if I want it to be something that can be accessed across
the network. That would introduce security issues. If it can only be
accessed on the local system, then local security authentication covers
it, and it is incapable of being hacked remotely.

At surface level, not looking into any details yet, the current front
runners are:
D-Bus:
local system only
used by qt, gnome and skype
bindings: c, python, java, c++,
php listed as "in progress"
.net listed as unmaintained
not sure how ready it is on windows
XML-RPC:
widely used, built in libraries on PHP
it's more for web clients to talk to server, transport is http, so
its a security question

Is it possible to open a socket that can only be accessed locally?

[email protected] wrote:
> Have you decided upon the inter-process calling method of the Bitcoin
> API yet? An easy solution would be the socket interface provided by
> wxWidgets: http://docs.wxwidgets.org/trunk/overview_ipc.html. The
> Bitcoin program running a wxServer could be then accessed by calling the
> bitcoin executable from the command line or by coding your own wxClient
> app.
>
> Another option would be to just use the plain BSD sockets.
>
> Can you send me a 64-bit Linux binary of Bitcoin if you have one? I
> tried compiling on the VPS, but it ran out of memory. Tried the 32-bit
> version (with ia32-libs) also, but it didn't find the shared libraries.
>

이메일 #144

Date: Thu, 04 Feb 2010 19:47:36 +0200
From: [email protected]
To: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoin API

한글 번역

빠진 공유 라이브러리가 무엇인지 알아낼 방법이 있을까요? 알면 도움이 될 겁니다.

"ldd bitcoin"이라고 하면 이렇게 나옵니다:

linux-gate.so.1 => (0xf778c000) libcrypto.so.0.9.8 => /usr/lib32/i686/cmov/libcrypto.so.0.9.8 (0xf762a000) libgtk-x11-2.0.so.0 => not found libgthread-2.0.so.0 => not found libSM.so.6 => /usr/lib32/libSM.so.6 (0xf7621000) libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7533000) libm.so.6 => /lib32/libm.so.6 (0xf750f000) libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7502000) libc.so.6 => /lib32/libc.so.6 (0xf73b0000) libdl.so.2 => /lib32/libdl.so.2 (0xf73ac000) libgdk-x11-2.0.so.0 => not found libXinerama.so.1 => /usr/lib32/libXinerama.so.1 (0xf73a8000) libgdk_pixbuf-2.0.so.0 => not found libX11.so.6 => /usr/lib32/libX11.so.6 (0xf72b9000) libpango-1.0.so.0 => not found libgobject-2.0.so.0 => not found libglib-2.0.so.0 => not found libpthread.so.0 => /lib32/libpthread.so.0 (0xf72a1000) libpng12.so.0 => /usr/lib32/libpng12.so.0 (0xf727e000) libz.so.1 => /usr/lib32/libz.so.1 (0xf7269000) libICE.so.6 => /usr/lib32/libICE.so.6 (0xf7251000) /lib/ld-linux.so.2 (0xf778d000) libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7243000) libxcb-xlib.so.0 => /usr/lib32/libxcb-xlib.so.0 (0xf7241000) libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf7229000) libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7226000) libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7220000)

not found로 나오는 것들은 확실히 gtk 라이브러리들인 것 같습니다. 그 파일들이 제 /usr/lib 폴더에 있긴 한데, 64비트라서 무시되는 건지, 아니면 /usr/lib32만 검색되는 건지 모르겠습니다. 다른 64비트 기계에서는 테스트해 보지 않았습니다.

제 64비트(디버그 정보를 제거한) 실행 파일을 첨부합니다. 아직 SVN에 들어 있지 않은, 테스트하지 않은 변경 사항이 들어 있습니다. UI 변경과 지갑 fSpent 플래그 재동기화 관련 작업입니다.

꾸러미가 열리지 않는데, "not in gzip format"이라고 나옵니다.

로컬에서만 접근할 수 있는 소켓을 여는 게 가능할까요?

네, 로컬 전용인 IPC 소켓("Unix domain sockets")을 쓸 수 있습니다. wx-api에서는 포트 번호 대신 파일 이름을 쓰는 방식으로 그렇게 합니다. wxServer-Client 통신을 어떻게 쓰는지 예제를 커밋해 두었으니 원하시면 되돌리셔도 됩니다. 이제 실행 중인 인스턴스에 블록 체인 길이를 묻는 -blockamount 명령줄 옵션이 있습니다.

이 명령줄 방식은 이미 PHP에서도 쓸 수 있을 것 같은데, php 자체에서 소켓 서버를 직접 호출할 수 있으면 더 가벼울지도 모르겠습니다. wx의 IPC 개요에는 wxSocketEvent, wxSocketBase, wxSocketClient, wxSocketServer가 "저수준 TCP/IP API용 클래스"라고 나와 있는데, 제가 지금 쓴 것(wxServer, wxClient, wxConnection)보다 php에서 쓰기 쉬울지도 모르겠습니다. 더 알아보겠습니다.

영어 원문

> Is there any way to find out what the missing shared libraries are?  It
> would help to know.

This is what "ldd bitcoin" says:

linux-gate.so.1 => (0xf778c000)
libcrypto.so.0.9.8 => /usr/lib32/i686/cmov/libcrypto.so.0.9.8
(0xf762a000)
libgtk-x11-2.0.so.0 => not found
libgthread-2.0.so.0 => not found
libSM.so.6 => /usr/lib32/libSM.so.6 (0xf7621000)
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7533000)
libm.so.6 => /lib32/libm.so.6 (0xf750f000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7502000)
libc.so.6 => /lib32/libc.so.6 (0xf73b0000)
libdl.so.2 => /lib32/libdl.so.2 (0xf73ac000)
libgdk-x11-2.0.so.0 => not found
libXinerama.so.1 => /usr/lib32/libXinerama.so.1 (0xf73a8000)
libgdk_pixbuf-2.0.so.0 => not found
libX11.so.6 => /usr/lib32/libX11.so.6 (0xf72b9000)
libpango-1.0.so.0 => not found
libgobject-2.0.so.0 => not found
libglib-2.0.so.0 => not found
libpthread.so.0 => /lib32/libpthread.so.0 (0xf72a1000)
libpng12.so.0 => /usr/lib32/libpng12.so.0 (0xf727e000)
libz.so.1 => /usr/lib32/libz.so.1 (0xf7269000)
libICE.so.6 => /usr/lib32/libICE.so.6 (0xf7251000)
/lib/ld-linux.so.2 (0xf778d000)
libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7243000)
libxcb-xlib.so.0 => /usr/lib32/libxcb-xlib.so.0 (0xf7241000)
libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf7229000)
libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7226000)
libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7220000)

Notfounds seem to be gtk-libraries indeed. I have those files in my
/usr/lib folder, but maybe they're ignored because they're 64bit, or
maybe only /usr/lib32 is searched. I haven't tested on other 64bit
machines.

> My 64-bit (debug stripped) executable is attached. It includes
> untested changes that are not in SVN yet: UI changes and the wallet
> fSpent flag resync stuff.

The package doesn't open, it says "not in gzip format".

> Is it possible to open a socket that can only be accessed locally?

Yes, you can use IPC sockets ("Unix domain sockets") which are local
only. That's done in the wx-api by using a filename in place of a port
number. I committed an example of how the wxServer-Client
communication is used, you can revert if you want to. Now there's the
-blockamount command line option which asks the running instance for
the block chain length.

I think this command line method could already be used from PHP, but
it might be lighter if php itself could call the socket server
directly. The wx's IPC overview mentions wxSocketEvent, wxSocketBase,
wxSocketClient and wxSocketServer as being "Classes for the low-level
TCP/IP API", which might be easier to use from php than what I used
now (wxServer, wxClient, wxConnection). I'll look more into it.

이메일 #145

Date: Thu, 04 Feb 2010 18:50:35 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoin API
To: [email protected]

한글 번역

제가 실수로 z 대신 j를 친 것 같습니다. bz2 형식입니다. .tar.bz2로 이름을 바꾸거나 그냥 tar -jxvf로 하세요.

꾸러미가 열리지 않는데, "not in gzip format"이라고 나옵니다.

영어 원문

I must have accidentally typed j instead of z.  It's bz2 format.  Rename 
to .tar.bz2 or just do tar -jxvf

> The package doesn't open, it says "not in gzip format".
>
링크 복사하기X에 공유페이스북에 공유쓰레드에 공유