create account

RE: How to Process 100M Transfers / Second on a Single Blockchain by liondani

View this thread on: hive.blogpeakd.comecency.com

Viewing a response to: @dantheman/how-to-process-100m-transfers-second-on-a-single-blockchain

· @liondani · (edited)
$0.11
> What if we redefined the requirements for a valid block to **require** that each account may receive at most **one deposit or one withdraw.**

What would happen if someone **spams** (zero fee) Alice's account at each block with **0.0000000001 STEEM** ?  When would Alice get the chance to **transfer/withdraw** her 100 SBD since on every block her account state would be in **deposit mode**?
👍  , ,
properties (23)
authorliondani
permlinkre-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t013619425z
categoryblockchain
json_metadata{"tags":["blockchain"]}
created2016-12-02 01:36:18
last_update2016-12-02 01:40:27
depth1
children17
last_payout2017-01-02 05:18:54
cashout_time1969-12-31 23:59:59
total_payout_value0.080 HBD
curator_payout_value0.026 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length393
author_reputation95,095,146,236,111
root_title"How to Process 100M Transfers / Second on a Single Blockchain"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,894,439
net_rshares2,143,954,477,975
author_curate_reward""
vote details (3)
@dantheman ·
$0.11
Rate limiting would prevent it.
👍  , , , ,
properties (23)
authordantheman
permlinkre-liondani-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t014006750z
categoryblockchain
json_metadata{"tags":["blockchain"]}
created2016-12-02 01:40:06
last_update2016-12-02 01:40:06
depth2
children16
last_payout2017-01-02 05:18:54
cashout_time1969-12-31 23:59:59
total_payout_value0.095 HBD
curator_payout_value0.010 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length31
author_reputation240,292,002,602,347
root_title"How to Process 100M Transfers / Second on a Single Blockchain"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,894,458
net_rshares2,137,698,824,149
author_curate_reward""
vote details (5)
@abit · (edited)
$0.16
Also it would bring extra limitations if Alice NEED to receive a big quantity of payments in a short period, for example in the scenario of Alibaba Nov. 11 event ([link](https://www.technologyreview.com/s/602850/big-data-game-changer-alibabas-double-11-event-raises-the-bar-for-online-sales/)).

IMO deposit in parallel should be allowed. And perhaps withdrawals should have higher priority than deposit.

(edit: rate limit should still apply, to determine which account has higher priority to withdraw, but then it should be made into consensus, and the downside is it will cause longer replay time if need to check it during replay(edit 2: seems it's not able to make it into consensus nor able to check during replay, as suggested in the post, a bit more computation while generating block, but less while validating)).

(edit 3: theoretically it's possible to include one withdrawal and many deposits into one block, if the amount of withdrawal is less than the initial balance. However, in a single block, if there are more than one operation on same balance object, no matter they're multiple deposits or one withdrawal and some deposits, it means need to modify that object serially, which will have a negative impact on performance)
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authorabit
permlinkre-dantheman-re-liondani-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t105154333z
categoryblockchain
json_metadata{"tags":["blockchain"],"links":["https://www.technologyreview.com/s/602850/big-data-game-changer-alibabas-double-11-event-raises-the-bar-for-online-sales/"]}
created2016-12-02 10:52:03
last_update2016-12-02 19:00:45
depth3
children3
last_payout2017-01-02 05:18:54
cashout_time1969-12-31 23:59:59
total_payout_value0.126 HBD
curator_payout_value0.032 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,240
author_reputation141,171,499,037,785
root_title"How to Process 100M Transfers / Second on a Single Blockchain"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,897,065
net_rshares2,842,535,736,764
author_curate_reward""
vote details (34)
@xeroc ·
$0.12
> Also it would bring extra limitations if Alice NEED to receive a big quantity of payments in a short period, for example in the scenario of Alibaba Nov. 11 event (link).

This! Amazon could have an account and dozens of people may want to pay at the same time, especially during Christmas session!
👍  , ,
properties (23)
authorxeroc
permlinkre-abit-re-dantheman-re-liondani-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t123816661z
categoryblockchain
json_metadata{"tags":["blockchain"]}
created2016-12-02 12:38:15
last_update2016-12-02 12:38:15
depth4
children2
last_payout2017-01-02 05:18:54
cashout_time1969-12-31 23:59:59
total_payout_value0.094 HBD
curator_payout_value0.026 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length299
author_reputation118,819,064,085,695
root_title"How to Process 100M Transfers / Second on a Single Blockchain"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,897,585
net_rshares2,322,507,693,595
author_curate_reward""
vote details (3)
@liondani · (edited)
But a "strong" account could **delay** (attack) other accounts activity until "they give up", I mean until it makes enough damage  to the network(?)...
👍  
properties (23)
authorliondani
permlinkre-dantheman-re-liondani-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t014906000z
categoryblockchain
json_metadata{"tags":["blockchain"]}
created2016-12-02 01:49:06
last_update2016-12-02 02:00:45
depth3
children9
last_payout2017-01-02 05:18:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length151
author_reputation95,095,146,236,111
root_title"How to Process 100M Transfers / Second on a Single Blockchain"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,894,508
net_rshares510,253,701
author_curate_reward""
vote details (1)
@dantheman ·
$0.10
There can be account to account rates and other protections.
👍  , , , ,
properties (23)
authordantheman
permlinkre-liondani-re-dantheman-re-liondani-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t020246930z
categoryblockchain
json_metadata{"tags":["blockchain"]}
created2016-12-02 02:02:45
last_update2016-12-02 02:02:45
depth4
children1
last_payout2017-01-02 05:18:54
cashout_time1969-12-31 23:59:59
total_payout_value0.102 HBD
curator_payout_value0.001 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length60
author_reputation240,292,002,602,347
root_title"How to Process 100M Transfers / Second on a Single Blockchain"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,894,608
net_rshares2,093,156,815,541
author_curate_reward""
vote details (5)
@dantheman ·
We can allow an unlimited number of transfers per account if we assume the block producer "summarizes" the changes.  The real time validation of the block may take .15 seconds, but replay should be massively parallel.
👍  , ,
properties (23)
authordantheman
permlinkre-liondani-re-dantheman-re-liondani-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t142314431z
categoryblockchain
json_metadata{"tags":["blockchain"]}
created2016-12-02 14:23:15
last_update2016-12-02 14:23:15
depth4
children6
last_payout2017-01-02 05:18:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length217
author_reputation240,292,002,602,347
root_title"How to Process 100M Transfers / Second on a Single Blockchain"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,898,288
net_rshares11,198,532,775
author_curate_reward""
vote details (3)
@xeroc ·
$0.03
Let me get this straight:

* We prevent people from **spending** more than once a block because of **double-spending** during parallel evaluation
* We prevent people from **receiving** more than once a block because of **write-locks** to the object in the database

Correct?
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authorxeroc
permlinkre-dantheman-re-liondani-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t123615618z
categoryblockchain
json_metadata{"tags":["blockchain"]}
created2016-12-02 12:36:15
last_update2016-12-02 12:36:15
depth3
children1
last_payout2017-01-02 05:18:54
cashout_time1969-12-31 23:59:59
total_payout_value0.026 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length274
author_reputation118,819,064,085,695
root_title"How to Process 100M Transfers / Second on a Single Blockchain"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,897,571
net_rshares698,943,853,961
author_curate_reward""
vote details (29)
@dantheman ·
The limit is 3x per block.
properties (22)
authordantheman
permlinkre-xeroc-re-dantheman-re-liondani-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t130233245z
categoryblockchain
json_metadata{"tags":["blockchain"]}
created2016-12-02 13:02:33
last_update2016-12-02 13:02:33
depth4
children0
last_payout2017-01-02 05:18:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length26
author_reputation240,292,002,602,347
root_title"How to Process 100M Transfers / Second on a Single Blockchain"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,897,718
net_rshares0