Bitcoin Forum
May 07, 2024, 12:42:52 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Other / Beginners & Help / Multi-Part / Multi-Signature / Suspense / Release Transaction on: December 14, 2013, 03:23:22 AM
Hello,

We are building a payment gateway to a proprietary backend management system.  We are seeking to do it in a way that three parties can participate, yet we do not want to hold any Bitcoin during the transit process between parties so that we can firmly say we are not a US Money Services / Money Transmitter.

Here is typical thinking:

TYPICAL TWO TRANSACTION APPROACH
Merchant: Selling goods online for 1 BTC
Customer:  Seeks to buy goods from Merchant for 1 BTC
Processor:  Us, with our software payment gateway wants a fee: .01 BTC

Our goal is as follows.

The customer and merchant agree to transact in Bitcoin including the quantity to move to each other.  Our goal is to get a 1% fee of this amount. We want our software to initiate a request on behalf of the Merchant to the Customer that says:  

"Please pay 1 BTC to this address: 18oCupA6HEoBVy5GpwBkvVVeGrYXj6NXC4"

When our software sees the payment on the blockchain, we want to initiate another transaction as follows:

Merchant sends to Processor .01 BTC as they now have received their gross income of 1 BTC and they will be left with .99 BTC.

CONCERNS WITH TWO TRANSACTION APPROACH
We don't think this will work because we can't act on behalf of the customer to initiate a transaction without their keys.  However, what if there was a way that our software could work with the customer to produce a signed transaction that we then somehow broadcast on their behalf?  What if we provided some type of software to the customer that allows them to have an HD wallet that interacts with our service to package transaction requests?

Is there something in Bitcoin's "scripting protocol" that could have created this second transaction as apart of the initial transaction?


MULTIPLE PARTY TRANSACTION
Is there another way to do this?  For example:

1.  Our software sends request to customer on behalf of the merchant.

2.  Somehow, we procude a request to constitute a multiple party transaction:

3.  The customer sees a request that says: "Please pay .99 BTC to this address: 18oCupA6HEoBVy5GpwBkvVVeGrYXj6NXC4 and pay .01 BTC to this address:
17oudb6HEoBVy5GpwBkvVVegrYXjtrNXC4".

Then, we get our fee and the Merchant gets the net.

CONCERNS WITH MULTIPLE PARTY TRANSACTION
In this case, I think the customer will be confused because it is a non-standard request.  It may feel like something was hijacked and it will create customer service requests for the Merchant.


OTHER APPROACH
Then I keep hearing about Multi-Signature capacities.  Where do I reference this?  Can this function be the answer to our concerns?  We also were thinking about adding a time delay factor for the Merchant to prove delivery to release the funds (like escrow).  Of course, all of us would get paid when the Merchant delivers.


I appreciate any thinking on this.
2  Bitcoin / Development & Technical Discussion / JavaScript Library to Sign Transaction on: July 29, 2013, 04:30:50 AM
Working on a payment processing platform but I am seeking a way to ensure we don't act as a custodian to Bitcoin.  Our customers will be working in JavaScript.

I need a way to sign a transaction in JavaScrpt so that I can then take that output and send it to a remote bitcoind process to transmit to the network.  It's important that the client using JavaScript not have access to bitcoind.  Basically, the client will know its private address and it needs a mechanism to package the request so that it can be transmitted on a remote service.

I have been looking at the Bitcoin-JS library and I don't think it has what I need.  Perhaps I am mistaken...?
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!