我怎样才能确认某人拥有钱包地址?
用例:
这种拥挤的野营需要签订一份明智的合同吗?
*-/
发布于 2017-06-21 22:11:19
虽然智能契约在上述情况下可能是一个有用的工具,但是想要证明他们控制一个地址的用户可以使用与捐赠的地址相关联的私钥签署一条消息。
该交易所将类似于以下内容:
Organization: Hooray we raised our goal and we had the great idea to
give everyone that participated a free t-shirt! Send us a signed message with the
word 'shirt' and your address and we will mail you a shirt.
然后,用户将进入控制他们发送交易地址的钱包,并使用address帐户签名消息:
> personal.unlockAccount('0x30ddF5144a0483e3c1d6E5f45C396aC72a487B9e',
'examplepassword',60);
true
> eth.sign(eth.accounts[41], web3.sha3("shirt 123 Main St., Any Town, Any Country"))
"0x90e8f95ca6f44410572401ad5d16255914a23af76613580c436926985dfdbfdb2d808a691cb808ed32cb0cc419d306916c17dd26a8df53bbbc31826352d81ca31b"
然后,用户可以向组织发送一条消息(通过电子邮件等),其中包含他们用来发送资金的地址、他们签名的消息(在本例中是shirt 123 Main St., Any Town, Any Country
)和签名。然后,组织可以将这三种方法输入到ethereum节点中进行验证,或者使用像以太扫描的verifySig工具这样的在线服务(上面的演示是在Etherscan verifySig 这里中)。
当然,就像你提到的,通过一份明智的合同,这是可能的。作为向合同发送资金的回报,最终用户可以拥有一些功能,即使是在原始众包合同完成后产生的新合同中,他们也可以赎回报酬。
一个聪明的合同也可能是一个很好的选择,因为开源合同的存在,实施多个sig从合同中提取资金,而且合同还可以控制组织以什么样的费率提高多少。
https://stackoverflow.com/questions/44641077
复制