
지난 1년 동안 다중 서명 거래 기술에 대한 관심이 많았으며, 특히 최근 CryptoCorp의 발표로 더욱 주목받고 있습니다. 명령줄에서 다중 서명 기술을 직접 사용해보고 싶다면, 다음과 같은 세부 사항을 참고하세요. 먼저, Python Bitcoin 라이브러리를 설치하려면 sudo pip install bitcoin을 실행하세요. 그런 다음, 세 개의 개인 키를 생성하려면 다음을 실행합니다:
> k1=`pybtctool random_key`> k2=`pybtctool random_key`> k3=`pybtctool random_key`> p1=`pybtctool privtopub $k1`> p2=`pybtctool privtopub $k2`> p3=`pybtctool privtopub $k3`
이제 세 개의 개인 키와 세 개의 공개 키가 생성되었습니다. echo $k1, echo $p3 등을 실행하여 이러한 값을 원시 형태로 확인하세요. 이제 다중 서명 스크립트와 주소를 만듭니다:
> script=`pybtctool mk_multisig_script $p1 $p2 $p3 2 3`> address=`pybtctool scriptaddr $script`
이 값들이 무엇인지 확인해봅시다:
> echo $script5241045f4af45e3a7a86393c4ab9540cca382d46f10345b3ffcbb058089788550d167b7c079870d00da9728f8589fa5bbe0a8d62eadd56d37f3be6bc8145fe9a27437b4104509394eade56d900e90146e4bdf14f567b845ab0da986476253fe438f12032a248bbf2c16d28409b2961b3a3f797832ad195a8cef96589371271e2df6195cf804104ef6c434a854996e63cf650c0ba813993e90eef564bc78ad14768de51ac6b1bb00c5fe3381a923567162e8821e86ee28fbe4a25325f59cf6ede87c15d5af2881e53ae> echo $address3DDifvXMEQBEvn7dVR1wF5RXveA5MxEXek
무작위성 때문에 값이 다를 수 있지만, 일반적인 형태는 동일합니다. 주소의 시작 부분에 3이 있는 것을 주목하세요. 이제 주소로 일부 BTC를 보내고, 실제로 자금을 수신했는지 확인하려면 다음을 실행하세요.
> pybtctool unspent $address[{“output”: “9e123938b7625ef7807f31ad61c3b818484fed93eb951d981abd83413005080f:0”, “value”: 20000}]
이제 거래를 생성하여 메투셀라 재단의 기부 주소로 자금을 보냅니다:
> tx=`pybtctool mktx 9e123938b7625ef7807f31ad61c3b818484fed93eb951d981abd83413005080f:0 1GRF5cmvAqQPNVPRHe1TpMZGS1mYFHFQHu:10000`> echo $tx01000000010f0805304183bd1a981d95eb93ed4f4818b8c361ad317f80f75e62b73839129e0000000000ffffffff0110270000000000001976a914a91f9f763b29340b7d15fddd8b6ee41ac56fc88d88ac00000000
이제 키 1과 3으로 서명합니다:
> sig1=`pybtctool multisign $tx 0 $script $k1`> sig2=`pybtctool multisign $tx 0 $script $k3`> tx2=`pybtctool apply_multisignatures $tx 0 $script $sig1 $sig2`
최종 거래는 다음과 같습니다:
> echo $tx201000000010f0805304183bd1a981d95eb93ed4f4818b8c361ad317f80f75e62b73839129e00000000fd5f01004930460221009e4cc93850d3d7ed6fcdd416f13b4f652d80c00d6c76f7594645540fb7ece79d022100f9cb6ec2ca973c2ef52aa541bbe28aa038189116de94df68fc29b0901b472f2f0148304502201bd655c130e6f47567f8e7d7b769d974d8b543ec53bf99d2232d07253af832c0022100f49d1f0564c9b0b192bd178b36ab04818ed1673feae380c46ce5c8dbaa622f1f014cc95241045f4af45e3a7a86393c4ab9540cca382d46f10345b3ffcbb058089788550d167b7c079870d00da9728f8589fa5bbe0a8d62eadd56d37f3be6bc8145fe9a27437b4104509394eade56d900e90146e4bdf14f567b845ab0da986476253fe438f12032a248bbf2c16d28409b2961b3a3f797832ad195a8cef96589371271e2df6195cf804104ef6c434a854996e63cf650c0ba813993e90eef564bc78ad14768de51ac6b1bb00c5fe3381a923567162e8821e86ee28fbe4a25325f59cf6ede87c15d5af2881e53aeffffffff0110270000000000001976a914a91f9f763b29340b7d15fddd8b6ee41ac56fc88d88ac00000000
이제 푸시합니다:
> pybtctool eligius_pushtx $tx277afa6140a678f4791e4566e2f15a41e7d9236c79b0abc6388e73e055af0aeec
이제 우리는 지구에서 가장 치명적인 질병의 영향을 완화하는 데 0.0001 BTC 가까워졌습니다.