比特币交易验证流程

时间:2017-09-11 18:29:29

标签: bitcoin

我正在构建和应用程序,它将提供比特币支付。我知道当我将比特币从一个地址发送到另一个地址时,可以通过blockain API跟踪它以验证交易。收到一些资产后我想发回一些资产。客户将有一个输入字段,他将粘贴他的存款钱包地址。我订阅了区块链API来跟踪收到的资产到我的比特币地址。如何确认付款是由某个客户付款的?检查他的地址似乎并没有解决问题,因为如果客户使用Coinbase,Bitstamp等钱包,则会从多个地址进行交易。

2 个答案:

答案 0 :(得分:2)

这里有一些帮手:

  • 您需要做的是生成一个新地址并将其提供给您的客户。通过这种方式,您可以唯一地识别他
  • 在做出决定之前等待确认。仅仅因为你看到一笔交易,并不代表你有钱。您需要等待几个街区和几个(> 6)确认

答案 1 :(得分:0)

比方说,爱丽丝想发送交易或消息以授予您消费权限。

  • 第一位爱丽丝向您发送了plain-message而不进行哈希处理。

  • 第二个Alice执行2步操作。它使用Fhash函数对消息进行哈希处理。

     Fhash(plain-essage)=Hashed-message //digital-fingerprint
    

    然后爱丽丝使用非对称加密,它使用她的私钥加密哈希消息并将其发送给您。

     Fae(Hashed-message,k) =Encrypted-message 
     // ae=asymmetric encryption
     // k= is the symbol for the private key
     // this operation also called the "signing"
    

现在您收到了2件事。 plain-messageEncrypted-messageplain-message包含交易金额以及Alice的公钥。因此,您收到了该消息,并且想要确保此消息或交易详细信息来自Alice。你打算怎么办?

  • 首先,使用非对称解密,您将解密Encrypted-message。这是非对称加密的好处。由于爱丽丝使用她的私钥对其进行了签名,因此您只能使用她的公钥对其进行解密。

    Fad(Encrypted-message,K)=Hashed-message
    // ad= asymmetric decryption
    
  • 现在您已成功解密它并获得了Hashed-message。但是现在您要确保此数据未被篡改。因此,使用相同的哈希函数,您将对发送给您的plain-message进行哈希处理,并将其与解密后的数据进行比较。因为哈希函数对于相同的输入产生相同的结果。

    如果

     Fhash(plain-message)=decrypted-data 
    

您可以说爱丽丝发送的消息没有更改。

请注意,我交替使用文字消息和交易,因为在加密货币中没有令牌传输。交易只是一条消息,它使您有权拥有消费能力