elective-stereophonic
elective-stereophonic
Instant Transaction Proposal (moved from Tech General Discussions)
Please login or register.

Login with username, password and session length
Advanced search  

News:

Latest Stable Nxt Client: Nxt 1.12.2

Author Topic: Instant Transaction Proposal (moved from Tech General Discussions)  (Read 2316 times)

mczarnek

  • Hero Member
  • *****
  • Karma: +68/-4
  • Offline Offline
  • Posts: 898
    • View Profile
    • Nxt Place - Craigslist for Nxt

Maybe there is already a proposal but started thinking about this and wanted to run the idea by some other people.

So the problem with instant transactions is that you can't just run a copy of the blockchain and check it, because it's always behind waiting for the current forger.  You can't just ping the forger, and wait for only one confirmation from that forger because he could be lying and say allowing double spending and only approving the last one.

Unless there is some very clever solution I'm not seeing, you have to have the network hosting the blockchain confirm the transaction went through.

Conditions for this solution
-I propose one, maybe two second blocks, that are temporary and not to be permanently included in the blockchain
-If you are going to use instant transaction confirmations, then you have to pay a little bit extra.
-Restrict it to 1 million nodes, for the time being, by requiring that each node that is forging and dealing with has a forging power of at least 1000 Nxt.
-Merchant, or node trusted by merchant must be running a Nxt forger to keep their blockchain up to date.  One forger could power the store or even a chain of stores or the company providing the payment system could interface for them.. something.

Basic Idea
So, how will this work, everyone sends instant transactions to the forger(s).  The forgers will broadcast that transaction to the network using predefined paths.  Got an idea for defining those paths but will get back to that.

Now essentially every second the instant transactions only are bundled together and broadcast as fast as possible to 8 nodes who forward it to 8 more forgers who each broadcast it to 8 more nodes. Point being, this gets to 512 nodes.

As soon as they receive the transactions, every forger will check to see if these are on their block chain and valid, put the transactions back together regarding which are valid and which are not, sign this packet and send it to the account owned by the merchant.  This does not need to be checked by the final forger for this block but rather can be passed off to the merchant who checks which accounts have signed this block and which haven't, determines how many forgers signed their transactions and checks their block chain to determine what stake those merchants had in the system.

Point is, I wasn't previously sure but I think 2 or 3 second transaction confirmations are possible.

Reason for only 512 nodes is because that many signature verifications take time to process and though this could eventually be sped up, this would be able to be processed with all signatures verified on a Raspberry Pi within 1 second.  Though Bitcoin's scalability wiki page claims that some current processing solutions allow 80,000 verifications per second. So this is definitely scaleable for even more accuracy if Nxt were to switch from Curve25519 to Ed25519.

Instant transaction fees are split between all nodes who participated in the confirmation process.

Being proof of stake allows us to determine who to send those blocks to, which should provide better protection against an attack than a proof of work system.

Also, depending upon how many confirmations we require, even someone with 51% of the stake could only attack this instant transaction confirmation system 1 in about 50 years.

What do you guys think?
« Last Edit: May 07, 2014, 08:32:03 am by VanBreuk »
Logged
NXT Organization: Tech
Donations greatly appreciated: NXT-DWVJ-G89C-RHNL-6QW6Q

jl777

  • Hero Member
  • *****
  • Karma: +718/-123
  • Offline Offline
  • Posts: 6170
    • View Profile
Re: Instant Transaction Proposal
« Reply #1 on: April 13, 2014, 12:01:38 am »

this is similar to my approach with InstantDEX!
I can verify that transactions in the 5 second timeframe are possible, but I am not using the forging block approach as the use case for InstantDEX is a bit different. In some cases, I think ~1 second transactions are possible, but only for people with good bandwidth.

Do you write code too? Maybe we can collaborate

James
Logged
There are over 1000 people in SuperNET slack! http://slackinvite.supernet.org/ automatically sends you an invite

I am just a simple C programmer

mczarnek

  • Hero Member
  • *****
  • Karma: +68/-4
  • Offline Offline
  • Posts: 898
    • View Profile
    • Nxt Place - Craigslist for Nxt
Re: Instant Transaction Proposal
« Reply #2 on: April 13, 2014, 12:25:17 am »

this is similar to my approach with InstantDEX!
I can verify that transactions in the 5 second timeframe are possible, but I am not using the forging block approach as the use case for InstantDEX is a bit different. In some cases, I think ~1 second transactions are possible, but only for people with good bandwidth.

Do you write code too? Maybe we can collaborate

James

Haha, seems like everytime I announce something, someone else has come up with the same thing.  Sorry if I spoiled the secret project.. can delete this for now if wanted :)

Also, yes, professional coder and I'd love to collaborate!

I think if you rewarded nodes based upon how fast they responded, you'd be able to encourage them to upgrade their bandwidth to compete against each other, therefore upgrading the speed of the entire network.
Logged
NXT Organization: Tech
Donations greatly appreciated: NXT-DWVJ-G89C-RHNL-6QW6Q

jl777

  • Hero Member
  • *****
  • Karma: +718/-123
  • Offline Offline
  • Posts: 6170
    • View Profile
Re: Instant Transaction Proposal
« Reply #3 on: April 13, 2014, 12:31:36 am »

this is similar to my approach with InstantDEX!
I can verify that transactions in the 5 second timeframe are possible, but I am not using the forging block approach as the use case for InstantDEX is a bit different. In some cases, I think ~1 second transactions are possible, but only for people with good bandwidth.

Do you write code too? Maybe we can collaborate

James

Haha, seems like everytime I announce something, someone else has come up with the same thing.  Sorry if I spoiled the secret project.. can delete this for now if wanted :)

Also, yes, professional coder and I'd love to collaborate!

I think if you rewarded nodes based upon how fast they responded, you'd be able to encourage them to upgrade their bandwidth to compete against each other, therefore upgrading the speed of the entire network.
Lets take this private, dont want to make it too easy for the competition

James
Logged
There are over 1000 people in SuperNET slack! http://slackinvite.supernet.org/ automatically sends you an invite

I am just a simple C programmer

KyLin

  • Full Member
  • ***
  • Karma: +4/-0
  • Offline Offline
  • Posts: 101
    • View Profile
    • nxtfans
Re: Instant Transaction Proposal (moved from Tech General Discussions)
« Reply #4 on: May 08, 2014, 03:13:51 am »

Hope to develop better and better
Logged
 

elective-stereophonic
elective-stereophonic
assembly
assembly