<center> https://cdn3.computerworlduk.com/cmsdata/features/3640764/blockchain_thumb800.jpg </center> In yesterday’s article I suggested that blockchains need to be able to process transactions at a rate of 10 million per second (offline) in order to sustain 1000 transactions per second realtime while only adding 1 hour per year to the replay time. Today I would like to present a solution to achieving this level of performance for the specific case of transfers. Lets assume there are 3000 transfers in a block (blocks are 3 seconds apart). To process these 3000 transfers at a rate of 10M per second means we have 300us (.3 milliseconds) to apply the transfers. Using the current ChainBase architecture performing these transfers would take 0.15 seconds (assuming 5us per transfer). We need to accelerate this operation by a factor of 500 to achieve our goals. ## Single Thread is not Viable The act of transferring from one account to another involves subtracting from one balance and adding to another balance. In computational terms it doesn’t get much simpler than this and there is very little room to improve single threaded performance. ## Order of Operations Matters Lets assume an initial condition where Alice has 100 SBD and Bob has 0 SBD. A single block can support Alice transferring 100 SBD to Bob and Bob transferring 100 SBD to Eve so long as Alice’s transfer is applied first. As things are currently defined it is not possible to perform two transfers in parallel because Bob’s transfer is not valid until after Alice’s transfer completes. Furthermore, if they were operating in parallel there would be a race condition on reading and writing the balances. ## Redefining the Semantics of a Transfer What if we redefined the requirements for a valid block to require that each account may receive at most one deposit or one withdraw. Under these more restrictive definitions we can now apply all 3000 transfers in parallel. Since each transfer only takes 5us and we have 15us, we can allow each account up to 3 deposits or withdraws per block. With 3 second blocks this means that each account has a maximum transaction rate of 1 TPS but the blockchain as a whole can process 200,000 * THREAD COUNT transactions per second. It is entirely possible to build a workstation that [supports 44 cores](https://www.mediaworkstations.net/product/i-x2/) which means that this blockchain should be able to process 8.8M transfers per second. ## Achieving 100M transfers per second With some small tweaks to memory layout and operation ordering it should be easy to make up the difference required to get to 10M transfers per second. With a bit more optimization designed to run the blockchain on a GPU this could scale to 100M transfers per second. ## Real World Throughput Having a CPU that can process 10M transfers per second, means we have a blockchain that can sustain 1000 transactions per second with a growth rate of 100KB/sec or 3 TB per year with a rsync rate of 1 hour per year and require reading the blockchain from disk at 1GB per second. It should be obvious that downloading a 30TB blockchain over a gigabit connection would take days after 10 years of operation at 1000 transactions per second. Keeping track of all blockchain history for all time will be a very expensive undertaking at 1000 transactions per second. ## Eliminating the Need to Replay A large part of our scalability problem is requiring all nodes to replay all transactions to reliably derive the current state. This replay time could be entirely eliminated if a blockchain had a fixed and well defined “current state”. If the only thing the blockchain was concerned with was balance transfers, then every smartphone owner in the world could have an account with a database size of less than 256GB. Steem has intentionally kept the structure of the blockchain state “undefined” to give us the greatest flexibility to optimize going forward, especially as we keep adding features. A simple currency blockchain has no need to add an unbounded number of features. This means we can define an optimal data-structure for its state. The hash of this data structure could be included in the blockchain from time to time and new users could simply download this state and start applying new blocks. ## Key to Growth A blockchain that desires to scale must achieve the following: 1. perform a small number of well defined tasks 2. operate on a protocol defined state 3. minimal change in function over time 4. ensure that all transactions in a block are independent 5. minimize the number of sequential steps per block The best way to achieve these properties while maintaining flexibility is to have a robust cross-chain communication protocol and keep all new / changing features on separate chains. You could have one chain for STEEM, one for SBD, one for STEALTH STEEM, and one for STEALTH SBD. Each of these parallel chains would have the potential to process 1000’s of transactions per second and have a fixed, well-defined state. This alone gives the transfer throughput a 4x scalability boost. ## Leveraging Ample Real-Time Capacity There is a clear gap between the 1000 transactions per second being processed in real-time and the 10M transactions per second that get processed during replay. During real time evaluation of the blockchain the CPU is idle 99.9% of the time. We can use this idle time to perform extra computations that are not necessary during replay. Among these calculations are the scheduling of operations in a block. The protocol can require that all valid blocks keep operations sorted by account. It can even organize operations by memory access patterns and calculate the best execution strategy. These calculations take extra time to perform while building the blockchain, but can be completely skipped during replay. When replaying the blockchain we are only concerned with deriving the proper state, not verifying that all the steps are authorized and well formed (that is guaranteed by the hash linking of blocks). This can be viewed like a compiler interpreting a program to generate assembly. Once the assembly is generated the CPU can process it very quickly. Another analogy would be a CPU that re-orders instructions to maximize performance. Block producers are responsible for building blocks that properly order transactions for maximum performance. Any block that is produced with conflicting memory accesses would be rejected. ## Conclusion A poorly defined problem can demand an entirely sequential solution; however, if we add a few small constraints on the problem it can easily become trivially parallel. Block producers can do a little bit of extra work up front to ensure that all blocks can be replayed using parallel operation evaluation. By simplifying the problem and defining the output state format as part of the protocol we can also eliminate the need to replay all together.
author | dantheman |
---|---|
permlink | how-to-process-100m-transfers-second-on-a-single-blockchain |
category | blockchain |
json_metadata | {"tags":["blockchain","steem"],"image":["https://cdn3.computerworlduk.com/cmsdata/features/3640764/blockchain_thumb800.jpg"],"links":["https://www.mediaworkstations.net/product/i-x2/"],"app":"steemit/0.1","format":"markdown"} |
created | 2016-12-01 23:16:00 |
last_update | 2016-12-01 23:16:00 |
depth | 0 |
children | 60 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 6,990 |
author_reputation | 240,292,002,602,347 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 0.000 HBD |
percent_hbd | 10,000 |
post_id | 1,893,463 |
net_rshares | 138,439,947,418,388 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
dantheman | 0 | 25,922,063,346,831 | 100% | ||
barrie | 0 | 373,966,227,131 | 100% | ||
summon | 0 | 12,793,305,997,241 | 100% | ||
proskynneo | 0 | 7,656,982,377,671 | 100% | ||
neogen1 | 0 | 580,916,818,495 | 100% | ||
jamesc | 0 | 34,534,627,764,824 | 100% | ||
hermes | 0 | 613,926,075,391 | 100% | ||
hermes-miner | 0 | 754,796,702,505 | 100% | ||
thorium1 | 0 | 430,344,728,772 | 100% | ||
thorium2 | 0 | 376,861,138,315 | 100% | ||
datasecuritynode | 0 | 6,128,208,165,221 | 100% | ||
bunkermining | 0 | 439,442,059,749 | 100% | ||
wackou | 0 | 7,322,163,420,013 | 100% | ||
bitshares.org | 0 | 189,074,605,513 | 100% | ||
blockchainbunker | 0 | 125,065,305,195 | 100% | ||
blocktech | 0 | 44,987,662,521 | 100% | ||
neominer2016 | 0 | 12,000,091,469 | 100% | ||
abderus | 0 | 190,819,867,969 | 100% | ||
olympus-steemy | 0 | 8,283,061,452 | 100% | ||
hephaestus | 0 | 211,049,926,507 | 100% | ||
aquarius.com | 0 | 106,089,602,621 | 100% | ||
minosman | 0 | 46,255,398,031 | 100% | ||
aphrodite | 0 | 132,217,584,966 | 100% | ||
hotels.com | 0 | 15,786,657,869 | 100% | ||
aries.com | 0 | 13,294,068,844 | 100% | ||
rabbitminer | 0 | 75,392,263,985 | 100% | ||
insurance.com | 0 | 21,258,292,758 | 100% | ||
fund.com | 0 | 93,391,999,034 | 100% | ||
sandra | 0 | 102,438,134,603 | 100% | ||
heracles | 0 | 12,752,170,093 | 100% | ||
ihashfury | 0 | 1,134,868,854,986 | 100% | ||
bunkerchainlabs | 0 | 18,543,537,669 | 100% | ||
liondani | 0 | 2,090,046,136,034 | 100% | ||
roadscape | 0 | 8,764,257,157,534 | 100% | ||
boy | 0 | 5,057,051,977 | 100% | ||
bue-witness | 0 | 6,153,742,412 | 100% | ||
bunny | 0 | 974,961,750 | 100% | ||
bue | 0 | 95,642,101,342 | 100% | ||
tigerminer | 0 | 1,501,207,703 | 100% | ||
mini | 0 | 2,707,275,838 | 100% | ||
moon | 0 | 345,538,869 | 100% | ||
lovejoy | 0 | 260,533,660,522 | 100% | ||
aizensou | 0 | 542,708,469,851 | 100% | ||
mineralwasser | 0 | 926,368,381 | 100% | ||
boombastic | 0 | 462,641,024,254 | 100% | ||
mrs.agsexplorer | 0 | 73,728,860,212 | 100% | ||
bingo-0 | 0 | 5,303,292,991 | 100% | ||
bingo-1 | 0 | 1,245,490,503 | 100% | ||
benjojo | 0 | 355,652,741,867 | 100% | ||
steempower | 0 | 1,272,105,368,403 | 100% | ||
healthcare | 0 | 1,014,439,104 | 100% | ||
daniel.pan | 0 | 1,600,467,663 | 100% | ||
donkeypong | 0 | 59,810,112,863 | 1% | ||
peerplays | 0 | 201,570,147,789 | 100% | ||
clains | 0 | 667,322,097,375 | 100% | ||
steemrollin | 0 | 1,121,316,795,641 | 100% | ||
apollo | 0 | 15,609,116,827 | 100% | ||
athena | 0 | 10,069,116,640 | 100% | ||
muses | 0 | 1,648,015,270 | 100% | ||
perseus | 0 | 267,417,900 | 100% | ||
fractalnode | 0 | 0 | 100% | ||
relativelyboston | 0 | 2,501,146,329 | 100% | ||
alexgr | 0 | 1,444,575,920 | 1% | ||
helen.tan | 0 | 466,569,928 | 100% | ||
chris4210 | 0 | 167,867,697,038 | 100% | ||
brindleswan | 0 | 16,465,923,545 | 100% | ||
piedpiper | 0 | 700,261,911,503 | 100% | ||
acidsun | 0 | 1,773,472,851 | 1% | ||
makishart | 0 | 10,020,489,619 | 100% | ||
noisy | 0 | 140,166,730,233 | 100% | ||
chryspano | 0 | 412,643,725,078 | 100% | ||
morning | 0 | 71,771,212,144 | 100% | ||
ervin-lemark | 0 | 8,024,791,905 | 100% | ||
cyan91 | 0 | 76,045,668,442 | 100% | ||
ninzacode | 0 | 21,631,464,339 | 100% | ||
leesunmoo | 0 | 924,361,078,315 | 100% | ||
paco-steem | 0 | 632,088,931 | 100% | ||
mranderson | 0 | 209,522,624 | 1% | ||
hipster | 0 | 998,448,773,863 | 100% | ||
spaninv | 0 | 5,008,366,164 | 100% | ||
forrestwillie | 0 | 103,984,354,433 | 100% | ||
nanzo-scoop | 0 | 1,320,074,532,311 | 100% | ||
pal | 0 | 45,652,828,766 | 15% | ||
avarice | 0 | 60,174,777,912 | 100% | ||
hannixx42 | 0 | 43,056,736,964 | 100% | ||
mummyimperfect | 0 | 199,816,047,652 | 100% | ||
tmendieta | 0 | 26,620,598,978 | 100% | ||
klye | 0 | 125,757,978,119 | 100% | ||
jesusislord | 0 | 447,804,663 | 100% | ||
oaldamster | 0 | 66,996,148,753 | 100% | ||
alenevaa | 0 | 20,032,336,720 | 100% | ||
kevinwong | 0 | 707,746,004,584 | 100% | ||
murh | 0 | 2,415,869,872 | 15.09% | ||
bible | 0 | 2,873,940,528 | 100% | ||
mughat | 0 | 18,871,050,806 | 100% | ||
cryptofunk | 0 | 1,587,567,818 | 6% | ||
cyber | 0 | 1,175,445,295,906 | 100% | ||
wonko | 0 | 1,022,131,506 | 100% | ||
ak2020 | 0 | 83,896,577,267 | 100% | ||
mrsteemgarden | 0 | 268,092,385 | 100% | ||
steemgarden | 0 | 267,919,495 | 100% | ||
pets | 0 | 253,986,775 | 100% | ||
taoteh1221 | 0 | 488,895,237,907 | 100% | ||
applecrisp | 0 | 5,805,005,391 | 100% | ||
stiletto | 0 | 329,021,992 | 100% | ||
the-alien | 0 | 616,917,682,945 | 100% | ||
hedge-x | 0 | 535,704,204,840 | 100% | ||
juanmiguelsalas | 0 | 33,032,016,631 | 60% | ||
pangur-ban | 0 | 1,484,997,963 | 100% | ||
ratel | 0 | 1,267,941,117 | 1% | ||
thecryptodrive | 0 | 80,526,823,143 | 100% | ||
wongshiying | 0 | 28,179,183,944 | 100% | ||
kennyskitchen | 0 | 27,968,073,127 | 100% | ||
facer | 0 | 64,291,188,651 | 100% | ||
beervangeer | 0 | 112,751,042,533 | 100% | ||
tee-em | 0 | 35,347,465,792 | 100% | ||
grandpere | 0 | 14,970,832,529 | 70% | ||
mark-waser | 0 | 41,869,327,158 | 100% | ||
comm-press | 0 | 3,890,520,186 | 100% | ||
crok | 0 | 4,845,436,869 | 100% | ||
christoph3 | 0 | 5,583,277,900 | 100% | ||
angusleung100 | 0 | 4,668,613,976 | 100% | ||
emily-cook | 0 | 77,920,707,454 | 100% | ||
mctiller | 0 | 55,743,024,982 | 100% | ||
talanhorne | 0 | 41,894,040,792 | 100% | ||
freedomengineer | 0 | 86,639,517,776 | 100% | ||
jakevanderark | 0 | 32,984,364,902 | 100% | ||
fyrstikken | 0 | 754,924,736,055 | 45% | ||
catchfire | 0 | 28,300,489,523 | 100% | ||
clement | 0 | 813,842,199 | 1% | ||
michaellamden68 | 0 | 1,600,575,089 | 100% | ||
ericvancewalton | 0 | 919,019,184,924 | 100% | ||
asmolokalo | 0 | 0 | 0% | ||
ydm6669 | 0 | 4,609,376,950 | 100% | ||
booja | 0 | 124,869,881,763 | 100% | ||
lehard | 0 | 1,445,888,487 | 1% | ||
rubybian | 0 | 57,649,980,416 | 100% | ||
kakradetome | 0 | 9,586,731,459 | 100% | ||
soupernerd | 0 | 2,396,238,731 | 100% | ||
cmtzco | 0 | 9,573,724,075 | 100% | ||
stealthtrader | 0 | 20,824,823,711 | 100% | ||
stranger27 | 0 | 253,613,784 | 1% | ||
chamviet | 0 | 516,915,874 | 100% | ||
tcfxyz | 0 | 25,307,113,242 | 100% | ||
futurefood | 0 | 39,383,755,292 | 100% | ||
pipertomcat | 0 | 9,649,789,386 | 100% | ||
picokernel | 0 | 121,253,066,972 | 100% | ||
bitshares101 | 0 | 26,473,726,670 | 100% | ||
onthewayout | 0 | 2,887,786,198 | 100% | ||
owdy | 0 | 6,508,767,723 | 100% | ||
vi1son | 0 | 28,519,419,355 | 100% | ||
on0tole | 0 | 411,181,669 | 1% | ||
anasya | 0 | 894,119,199 | 1% | ||
ausbitbank | 0 | 44,122,879,940 | 100% | ||
ardina | 0 | 2,940,741,355 | 100% | ||
secom | 0 | 374,112,480,513 | 100% | ||
vl248 | 0 | 423,842,432 | 1% | ||
globeskeptic | 0 | 244,444,764 | 100% | ||
sveokla | 0 | 193,667,270 | 1% | ||
marcgodard | 0 | 2,495,983,110 | 100% | ||
marinabogumil | 0 | 231,783,832 | 1% | ||
gikitiki | 0 | 23,009,711,524 | 100% | ||
repholder | 0 | 160,113,160,773 | 100% | ||
snowden | 0 | 64,952,806 | 100% | ||
thelindvall | 0 | 10,969,854,887 | 100% | ||
edrivegom | 0 | 5,507,525,394 | 100% | ||
anmuravjev | 0 | 156,591,463 | 1% | ||
dwinblood | 0 | 62,894,229,116 | 100% | ||
dr2073 | 0 | 343,834,083 | 100% | ||
jaycobbell | 0 | 7,644,017,062 | 100% | ||
raymondspeaks | 0 | 457,743,113 | 1% | ||
kell234 | 0 | 76,780,599 | 1% | ||
hyiparena | 0 | 179,159,661 | 1% | ||
krystle | 0 | 14,897,320,089 | 100% | ||
inertia | 0 | 122,542,273,254 | 100% | ||
shla-rafia | 0 | 40,187,590,247 | 100% | ||
lichtblick | 0 | 93,571,326,808 | 100% | ||
cryptojoy.com | 0 | 159,760,964 | 1% | ||
natalyt | 0 | 429,522,181 | 100% | ||
konti | 0 | 211,234,915 | 1% | ||
phenom | 0 | 938,250,883 | 1% | ||
blueorgy | 0 | 229,196,960,428 | 100% | ||
oululahti | 0 | 6,033,464,388 | 100% | ||
thylbom | 0 | 428,985,532,743 | 100% | ||
jens84 | 0 | 6,034,312,518 | 80% | ||
heimindanger | 0 | 17,465,277,816 | 100% | ||
geronimo | 0 | 7,100,093,333 | 100% | ||
animus | 0 | 792,059,991 | 100% | ||
bitcoiner | 0 | 17,675,110,800 | 100% | ||
tarindel | 0 | 4,896,738,183 | 100% | ||
ellamaeamor | 0 | 359,728,693 | 100% | ||
bola | 0 | 41,731,443,805 | 95% | ||
exyle | 0 | 171,696,513,323 | 100% | ||
sharker | 0 | 289,693,558 | 1% | ||
zaebars | 0 | 1,699,013,010 | 1% | ||
seb | 0 | 786,369,418 | 100% | ||
raymonjohnstone | 0 | 6,381,674,182 | 100% | ||
sokoloffa | 0 | 3,529,684,057 | 100% | ||
arcurus | 0 | 45,005,739,536 | 32% | ||
steemchain | 0 | 50,071,782 | 100% | ||
whalepool | 0 | 51,281,623 | 100% | ||
mondeja | 0 | 151,234,642 | 1% | ||
coinmaster4you | 0 | 110,705,952 | 100% | ||
crypto.owl | 0 | 278,257,156 | 1% | ||
summonerrk | 0 | 12,493,612,349 | 100% | ||
strictlybusiness | 0 | 1,835,162,900 | 100% | ||
sompitonov | 0 | 36,883,684,233 | 100% | ||
jasen.g1311 | 0 | 230,900,909 | 100% | ||
pinkisland | 0 | 35,039,866,141 | 100% | ||
ace108 | 0 | 4,588,881,773 | 19% | ||
alex.chien | 0 | 948,383,608 | 100% | ||
smailer | 0 | 1,939,095,671 | 1% | ||
youngkim | 0 | 27,114,741,289 | 100% | ||
originate | 0 | 380,806,752,076 | 100% | ||
dmilash | 0 | 391,870,641 | 1% | ||
weenis | 0 | 2,352,958,307 | 100% | ||
ap2002 | 0 | 88,917,593 | 100% | ||
steemdrive | 0 | 100,304,127,565 | 100% | ||
andrew-charles | 0 | 1,496,877,634 | 100% | ||
metaflute | 0 | 1,129,474,022 | 100% | ||
craigslist | 0 | 686,791,176 | 100% | ||
nekromarinist | 0 | 1,129,423,318 | 1% | ||
always1success | 0 | 163,522,573 | 1% | ||
timcliff | 0 | 99,225,028,334 | 100% | ||
kentdenns | 0 | 3,129,030,074 | 100% | ||
allpunk | 0 | 1,262,167,316 | 100% | ||
asdes | 0 | 321,747,527 | 1% | ||
kview | 0 | 16,441,741,505 | 100% | ||
aleksandraz | 0 | 32,876,545,658 | 100% | ||
ullikume | 0 | 7,290,825,646 | 100% | ||
elena000 | 0 | 256,012,018 | 100% | ||
michellek | 0 | 63,721,117 | 100% | ||
tommycoin | 0 | 133,192,684,412 | 100% | ||
uuuhha | 0 | 441,995,454 | 1% | ||
romancs | 0 | 97,996,544 | 1% | ||
steemleak | 0 | 5,514,639,502 | 100% | ||
ipumba | 0 | 124,195,712 | 1% | ||
jphamer1 | 0 | 14,390,283,978 | 100% | ||
ekitcho | 0 | 525,980,444,874 | 100% | ||
velourex | 0 | 16,612,841,480 | 100% | ||
sirwinchester | 0 | 568,659,637,525 | 100% | ||
krishtopa | 0 | 2,574,088,141 | 1% | ||
gargon | 0 | 156,584,324,625 | 100% | ||
villainblack | 0 | 348,446,521 | 1% | ||
cristi | 0 | 41,336,149,042 | 100% | ||
numberone | 0 | 319,414,845 | 1% | ||
nano2nd | 0 | 50,381,403 | 100% | ||
ioc | 0 | 1,330,780,798,134 | 100% | ||
razberrijam | 0 | 467,545,253 | 100% | ||
gardoz32 | 0 | 21,675,131,180 | 100% | ||
blocho | 0 | 6,266,425,063 | 100% | ||
pjheinz | 0 | 23,010,086,945 | 100% | ||
virtualgrowth | 0 | 646,129,206 | 1% | ||
lemouth | 0 | 43,281,200,612 | 100% | ||
gammagooblin | 0 | 6,467,285,309 | 100% | ||
almerri | 0 | 20,137,016,722 | 100% | ||
awgbibb | 0 | 5,121,693,054 | 100% | ||
cryptomancer | 0 | 106,598,074,677 | 100% | ||
telos | 0 | 33,357,837,684 | 100% | ||
steem42 | 0 | 874,553,983 | 100% | ||
andrewawerdna | 0 | 29,690,531,246 | 100% | ||
bitchplease | 0 | 59,157,983 | 100% | ||
shannons-cat | 0 | 58,026,385 | 100% | ||
leahmchenry | 0 | 25,202,846,357 | 100% | ||
albensilverberg | 0 | 169,778,364,500 | 100% | ||
sethlinson | 0 | 15,465,683,169 | 100% | ||
hilarski | 0 | 100,288,603,525 | 100% | ||
justinschwalm | 0 | 1,246,705,461 | 100% | ||
inchonbitcoin | 0 | 338,948,227,158 | 100% | ||
hopefoundation | 0 | 50,755,452 | 100% | ||
creatr | 0 | 9,172,835,646 | 100% | ||
etcmike | 0 | 95,415,758,444 | 50% | ||
krnel | 0 | 6,412,413,365 | 1% | ||
jlufer | 0 | 2,106,621,757 | 100% | ||
richardcrill | 0 | 37,472,387,210 | 100% | ||
blockcodes | 0 | 2,456,445,004 | 100% | ||
cryptochart | 0 | 50,050,891 | 100% | ||
steemwatch | 0 | 50,612,605 | 100% | ||
steemwork | 0 | 59,656,290 | 100% | ||
nadin3 | 0 | 237,669,500 | 1% | ||
xanoxt | 0 | 871,473,037 | 1% | ||
davidjkelley | 0 | 2,242,075,536 | 100% | ||
aggroed | 0 | 57,051,077,213 | 100% | ||
victoriart | 0 | 366,420,254 | 1% | ||
tibonova | 0 | 965,336,144 | 100% | ||
sponge-bob | 0 | 210,537,068,688 | 100% | ||
l0k1 | 0 | 63,219,757,564 | 100% | ||
dobermansden | 0 | 204,588,837 | 100% | ||
digital-wisdom | 0 | 17,691,683,074 | 100% | ||
ethical-ai | 0 | 5,441,233,163 | 100% | ||
immortalfame | 0 | 11,883,893,691 | 100% | ||
titusfrost | 0 | 11,424,061,140 | 100% | ||
jwaser | 0 | 7,886,240,025 | 100% | ||
rileyechard | 0 | 799,753,124 | 100% | ||
tatianka | 0 | 84,158,276 | 1% | ||
necrus | 0 | 103,211,925 | 100% | ||
debmund | 0 | 833,606,382 | 100% | ||
georgina | 0 | 77,416,847 | 100% | ||
judith | 0 | 77,410,663 | 100% | ||
michaelburgess | 0 | 65,835,708 | 100% | ||
jaredandanissa | 0 | 1,574,683,370 | 100% | ||
zettar | 0 | 71,635,055 | 1% | ||
betamusic | 0 | 24,490,230,057 | 100% | ||
smisi | 0 | 1,669,362,994 | 100% | ||
boooya | 0 | 233,466,033 | 100% | ||
goodtime | 0 | 278,582,581 | 100% | ||
rada | 0 | 2,351,298,849 | 100% | ||
sunnyd | 0 | 352,529,483 | 100% | ||
jayc | 0 | 234,781,365 | 100% | ||
dubi | 0 | 102,430,258,849 | 100% | ||
elena-singer | 0 | 98,883,333 | 1% | ||
lilwayne | 0 | 1,016,098,216 | 100% | ||
blackchyna | 0 | 351,010,535 | 100% | ||
bwaser | 0 | 2,805,924,804 | 100% | ||
snoopdog | 0 | 1,026,019,732 | 100% | ||
macklemore | 0 | 54,244,384 | 100% | ||
panther | 0 | 332,501,644 | 100% | ||
jsg | 0 | 103,523,343,472 | 100% | ||
brains | 0 | 214,272,287,163 | 100% | ||
bones262 | 0 | 64,598,917 | 100% | ||
bitcoinparadise | 0 | 8,063,889,692 | 100% | ||
anton333 | 0 | 227,352,450 | 1% | ||
positivesteem | 0 | 5,666,102,764 | 100% | ||
ballinconscious | 0 | 39,114,359,536 | 100% | ||
heroic15397 | 0 | 8,408,667,945 | 100% | ||
funnyman | 0 | 26,980,266,351 | 100% | ||
portuguesinha | 0 | 1,210,816,985 | 100% | ||
nelyp | 0 | 13,885,190,785 | 100% | ||
t-bot | 0 | 54,096,924 | 100% | ||
ellepdub | 0 | 2,588,273,290 | 100% | ||
inarix03 | 0 | 50,182,131 | 100% | ||
bitcoiner1 | 0 | 416,426,770 | 100% | ||
arama | 0 | 506,961,781,929 | 100% | ||
ekaterinka | 0 | 77,170,664 | 1% | ||
michelle.gent | 0 | 72,482,493,527 | 100% | ||
herpetologyguy | 0 | 47,720,969,616 | 100% | ||
morgan.waser | 0 | 5,062,571,365 | 100% | ||
borishaifa | 0 | 262,703,138 | 1% | ||
kiwiscanfly | 0 | 6,589,395,053 | 100% | ||
mapalatv | 0 | 68,773,000 | 1% | ||
linkback-bot-v0 | 0 | 136,366,940 | 100% | ||
thegame | 0 | 4,358,090,847 | 100% | ||
nil1511 | 0 | 1,836,140,402 | 100% | ||
donchate | 0 | 5,639,367,509 | 100% | ||
danilamarilu | 0 | 12,022,352,756 | 100% | ||
saiku | 0 | 5,192,411,374 | 100% | ||
luzcypher | 0 | 46,930,381,390 | 100% | ||
saralee | 0 | 130,538,357 | 100% | ||
mjancons | 0 | 97,852,579 | 100% | ||
strong-ai | 0 | 5,419,247,972 | 100% | ||
htyfn | 0 | 94,449,556 | 1% | ||
rusteemitblog | 0 | 211,622,515 | 1% | ||
adpipop | 0 | 158,513,069 | 100% | ||
pinc | 0 | 81,266,772 | 100% | ||
makis84 | 0 | 1,488,148,730 | 100% | ||
majes | 0 | 16,242,385,181 | 100% | ||
dealzgal | 0 | 52,358,076 | 100% | ||
storage | 0 | 59,761,836 | 100% | ||
lydon.sipe | 0 | 6,940,712,433 | 100% | ||
blackmarket | 0 | 59,526,412 | 100% | ||
gifts | 0 | 52,523,859 | 100% | ||
rgeddes | 0 | 109,614,368,107 | 100% | ||
marel | 0 | 54,289,393 | 1% | ||
dgiors | 0 | 49,688,623,809 | 100% | ||
steemlift | 0 | 113,267,142 | 1% | ||
toddemaher1 | 0 | 914,351,630 | 100% | ||
groundbreaker | 0 | 415,659,396 | 95% | ||
marialin | 0 | 214,955,953 | 1% | ||
slider2990 | 0 | 27,205,347,674 | 100% | ||
frankches | 0 | 3,609,653,802 | 100% | ||
sanghkaang | 0 | 17,229,600,454 | 100% | ||
digit | 0 | 1,420,398,108 | 100% | ||
ianstrat | 0 | 1,203,433,448 | 100% | ||
lotos | 0 | 1,185,520,766 | 100% | ||
sochul | 0 | 404,513,541,958 | 100% | ||
very | 0 | 97,866,251,618 | 100% | ||
dongu | 0 | 156,525,616,154 | 100% | ||
contentking | 0 | 10,698,735,264 | 100% | ||
ianboil | 0 | 208,370,481 | 1% | ||
jdbry | 0 | 1,835,214,080 | 100% | ||
dtopmark | 0 | 145,545,750 | 100% | ||
voterinterstpool | 0 | 136,347,429 | 100% | ||
voteinterestpool | 0 | 2,009,450,913 | 100% | ||
max-max | 0 | 124,096,757 | 1% | ||
idnit | 0 | 2,383,400,390 | 100% | ||
fillintheblank | 0 | 134,979,235 | 100% | ||
garvofe | 0 | 9,160,330,381 | 100% | ||
builderofcastles | 0 | 1,304,029,472 | 100% | ||
willybobob | 0 | 45,376,037,756 | 100% | ||
steemland.com | 0 | 3,521,329,213 | 100% | ||
stepanoff | 0 | 837,937,105 | 100% | ||
adelja | 0 | 486,729,506 | 100% | ||
joanaltres | 0 | 28,964,883,497 | 100% | ||
selwi | 0 | 101,612,301 | 100% | ||
kimverpool | 0 | 84,217,000,977 | 100% | ||
bosrad | 0 | 546,478,393 | 100% | ||
oleg326756 | 0 | 9,641,679,688 | 100% | ||
cata22 | 0 | 129,551,977 | 100% | ||
stevebj | 0 | 66,977,950 | 100% | ||
johngentry | 0 | 5,224,899,340 | 100% | ||
edb | 0 | 4,915,487,100 | 100% | ||
chaewon | 0 | 111,772,168 | 100% | ||
steemgames | 0 | 114,091,876 | 100% | ||
steemvoter | 0 | 16,746,628,640 | 100% | ||
optimistic | 0 | 4,063,766,658 | 100% | ||
steemitfaucet | 0 | 2,391,146,529 | 100% | ||
the.masses | 0 | 609,302,443 | 100% | ||
trans-juanmi | 0 | 3,902,190,917 | 60% | ||
johnathanhenry | 0 | 50,125,330 | 76% | ||
bitcoiner10 | 0 | 335,471,799 | 100% | ||
bitcoiner11 | 0 | 175,759,874 | 100% | ||
mrfoot | 0 | 505,038,541 | 100% | ||
excavator | 0 | 231,333,974 | 100% | ||
johngentryjr | 0 | 614,696,928 | 100% | ||
donald.kim | 0 | 527,935,052 | 100% | ||
steemhairsalon | 0 | 540,132,321 | 100% | ||
steempredict | 0 | 453,231,471 | 100% | ||
bitcoiner12 | 0 | 89,745,433 | 100% | ||
floridagypsy | 0 | 6,872,163,643 | 100% | ||
thedrollyears | 0 | 2,469,055,492 | 100% | ||
bitcoiner21 | 0 | 189,846,760 | 100% | ||
gutzofter | 0 | 16,667,422,822 | 100% | ||
mistere | 0 | 444,417,814 | 100% | ||
liquidsolomon | 0 | 7,700,349,375 | 100% | ||
bitcoiner22 | 0 | 88,719,377 | 100% | ||
teukumukhlis | 0 | 6,806,503,825 | 100% | ||
godzilla | 0 | 470,310,674 | 100% | ||
bitcoiner41 | 0 | 52,981,690 | 100% | ||
bitcoiner100 | 0 | 387,039,547 | 100% | ||
bitcoiner61 | 0 | 325,409,995 | 100% | ||
bitcoiner62 | 0 | 266,301,212 | 100% | ||
bitcoiner63 | 0 | 170,670,375 | 100% | ||
bitcoiner64 | 0 | 83,953,394 | 100% | ||
bitcoiner65 | 0 | 60,922,047 | 100% | ||
iamthebeloved | 0 | 593,328,351 | 100% | ||
marylizacaindoy | 0 | 3,037,990,148 | 100% | ||
homosapiens | 0 | 50,380,531,054 | 100% | ||
steemtg | 0 | 1,926,862,921 | 100% | ||
bitcoiner68 | 0 | 50,527,443 | 100% | ||
steemithairshop | 0 | 516,937,765 | 100% | ||
steemseoul | 0 | 516,573,979 | 100% | ||
steemsamsung | 0 | 516,202,675 | 100% | ||
technoprogressiv | 0 | 5,108,076,708 | 100% | ||
teamhumble | 0 | 1,187,252,075 | 100% | ||
bitcoiner-61 | 0 | 939,105,164 | 100% | ||
mafeeva | 0 | 24,386,618,124 | 100% | ||
bitcoiner-100 | 0 | 425,198,362 | 100% | ||
bitcoiner-41 | 0 | 80,880,721 | 100% | ||
bitcoiner-62 | 0 | 623,216,680 | 100% | ||
bitcoiner-63 | 0 | 347,794,048 | 100% | ||
gas7uazz | 0 | 701,003,048 | 100% | ||
bitcoiner-64 | 0 | 216,459,886 | 100% | ||
bitcoiner-21 | 0 | 348,573,470 | 100% | ||
bitcoiner-22 | 0 | 85,855,721 | 100% | ||
bitcoiner-81 | 0 | 194,861,927 | 100% | ||
bitcoiner-1 | 0 | 503,392,936 | 100% | ||
bitcoiner-65 | 0 | 68,117,398 | 100% | ||
bitcoiner-10 | 0 | 206,549,712 | 100% | ||
bitcoiner-11 | 0 | 73,734,954 | 100% | ||
bitcoiner-82 | 0 | 52,630,211 | 100% | ||
idnit1 | 0 | 851,402,393 | 100% | ||
bottymcbotface | 0 | 285,905,570 | 100% | ||
catherinemalquez | 0 | 571,626,765 | 100% | ||
iloveunity | 0 | 568,134,404 | 100% | ||
walterjay | 0 | 23,512,432,195 | 100% | ||
milkk | 0 | 557,140,296 | 100% | ||
bmv777 | 0 | 635,151,153 | 100% | ||
frankyfazz | 0 | 558,614,926 | 60% | ||
crypto-hippy | 0 | 546,555,830 | 100% | ||
sesises | 0 | 19,419,907,818 | 100% | ||
freecrypto | 0 | 465,459,987 | 100% | ||
sblair | 0 | 682,062,072 | 100% | ||
steemlocomotive | 0 | 568,187,024 | 100% | ||
montreal32 | 0 | 2,213,737,220 | 100% | ||
qubes | 0 | 129,889,114,229 | 100% | ||
juliosalas | 0 | 646,260,740 | 60% | ||
pocketnerd | 0 | 535,464,586 | 100% | ||
volcom2558 | 0 | 638,135,083 | 100% | ||
ivanvan | 0 | 531,514,272 | 100% | ||
tyball | 0 | 531,277,486 | 100% | ||
azazqwe | 0 | 382,304,218 | 100% | ||
y3n | 0 | 530,661,452 | 100% | ||
biglovero | 0 | 529,813,732 | 100% | ||
alphailluminatus | 0 | 418,015,721 | 100% |
Wow, this is really interesting. As a small-time mining enthusiast I always wondered if the extra computing power that is being used to mine a cryptocurrency could be used to do something different instead than just raise the difficulty to keep the block-timer proportional. Do you think it would be possible to assign an algorythm that let's miners "idle" during low transaction output but if "something big happens" or huge activity causes transactions to increase then it slowly starts working harder with the GPU/CPU software to keep that up? Or is that maybe a completely different field and the GPU usage is required for the hashes anyway.. I am not so technical I just like to imagine solutions to problems. :P
author | acidyo |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t000329955z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 00:03:30 |
last_update | 2016-12-02 00:03:30 |
depth | 1 |
children | 1 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 719 |
author_reputation | 3,313,735,025,347,871 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,893,712 |
net_rshares | 0 |
We have software for this now.
author | rishi556 |
---|---|
permlink | re-acidyo-qzgknh |
category | blockchain |
json_metadata | {"tags":["blockchain"],"app":"peakd/2021.09.1"} |
created | 2021-09-15 04:33:18 |
last_update | 2021-09-15 04:33:18 |
depth | 2 |
children | 0 |
last_payout | 2021-09-22 04:33:18 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.523 HBD |
curator_payout_value | 0.523 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 30 |
author_reputation | 132,069,978,223,667 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 106,300,187 |
net_rshares | 1,134,453,471,229 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
acidyo | 0 | 1,134,453,471,229 | 10% |
>It is entirely possible to build a workstation that supports 44 cores which means that this blockchain should be able to process 8.8M transfers per second. Porting to GPU threading might be more practical, although I don't know if there are any obstacles. >A blockchain that desires to scale must achieve the following: -perform a small number of well defined tasks -operate on a protocol defined state -minimal change in function over time -ensure that all transactions in a block are independent -minimize the number of sequential steps per block I'd also add an encoding scheme (in effect a custom-made compression), to minimize bytes used. The less bytes there are, the easier it is to fit in faster mediums of storage... It may not be a problem now, but over time it will be if a blockchain processes a lot of data...
author | alexgr |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161205t201001798z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-05 20:10:03 |
last_update | 2016-12-05 20:10:03 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 826 |
author_reputation | 45,645,291,230,585 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,925,891 |
net_rshares | 0 |
instead of limiting the transactions per account per block, wouldnt it be enough to simply sort the transactions in an block after the accounts?
author | arcurus |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161207t124932000z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-07 12:49:33 |
last_update | 2016-12-07 12:49:33 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 145 |
author_reputation | 549,553,053,579 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,941,653 |
net_rshares | 4,915,487,100 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
edb | 0 | 4,915,487,100 | 100% |
Wow! That was so well explained that I understood the first third of it. I visualize it as the same sort of thing that voice to text does when it is only expecting numbers (phone dialing), they rarely get it wrong because they know what to expect. Because of the constraints, it only has to do a small amount of work to verify its analysis. This frees up the channel for outgoing work. Then you said the word "replay" and I started getting lost. But that's good, a month ago I would not have understood a thing.
author | baerdric |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t031712787z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 03:17:15 |
last_update | 2016-12-02 03:17:15 |
depth | 1 |
children | 1 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 516 |
author_reputation | 30,569,184,217,332 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,895,053 |
net_rshares | 0 |
Replaying means verifying all existing transactions when a new node downloads the blockchain from scratch. In the past three-and-a-half years, I learned a lot about crypto by doing exactly what you did here: I kept reading articles I didn't fully understand.
author | edb |
---|---|
permlink | re-baerdric-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161213t163438337z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-13 16:34:36 |
last_update | 2016-12-13 16:34:36 |
depth | 2 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 260 |
author_reputation | 35,341,759,782,104 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,994,583 |
net_rshares | 431,599,551 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
baerdric | 0 | 431,599,551 | 1% |
If you say so dan ;)) I read every word with great interest and much excitement. I understood the words and some of the concepts but that's it. what I understand for sure is that you and your team are putting mainstream suitability of blockchains and potential for their acceptance, the best chance in the whole of crypto.
author | benjojo |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t003932432z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 00:39:33 |
last_update | 2016-12-02 00:39:33 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 322 |
author_reputation | 120,749,050,383,122 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,893,941 |
net_rshares | 412,643,725,078 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
chryspano | 0 | 412,643,725,078 | 100% |
> if we add a few small constraints on the problem it can easily become trivially parallel. That's incredibly beautiful, and (to me) a bit counterintuitive. Maybe it feels natural to someone who's used to thinking about the nuts and bolts of computation, but it's not what I immediately would have expected. Good post!
author | biophil |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t005054696z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 00:50:54 |
last_update | 2016-12-02 00:50:54 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 319 |
author_reputation | 45,223,914,794,461 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,894,019 |
net_rshares | 0 |
I wonder how one would combat internet fraud if everything would be done in the finance world by blockchain...?
author | cata22 |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t104811841z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 10:48:06 |
last_update | 2016-12-02 10:48:06 |
depth | 1 |
children | 1 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 111 |
author_reputation | 306,323,111,523 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,897,045 |
net_rshares | 0 |
ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее
author | windn |
---|---|
permlink | re-cata22-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20171102t223118938z |
category | blockchain |
json_metadata | {"tags":["blockchain"],"app":"steemit/0.1"} |
created | 2017-11-02 22:31:18 |
last_update | 2017-11-02 22:31:18 |
depth | 2 |
children | 0 |
last_payout | 2017-11-09 22:31:18 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 638 |
author_reputation | 4,143,459,171 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 19,301,277 |
net_rshares | 0 |
So if we want to do 100000 tps realtime microtransactions. What do we do?
author | clains |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t020911357z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 02:09:24 |
last_update | 2016-12-02 02:09:24 |
depth | 1 |
children | 1 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 73 |
author_reputation | 64,100,587,750,682 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,894,666 |
net_rshares | 0 |
Discard history
author | dantheman |
---|---|
permlink | re-clains-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t021118358z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 02:11:18 |
last_update | 2016-12-02 02:11:18 |
depth | 2 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 15 |
author_reputation | 240,292,002,602,347 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,894,677 |
net_rshares | 270,215,679,683 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
lovejoy | 0 | 260,533,660,522 | 100% | ||
cmtzco | 0 | 9,573,724,075 | 100% | ||
cnmtz | 0 | 58,169,756 | 100% | ||
johnathanhenry | 0 | 50,125,330 | 76% |
upvoted, followed.
author | freecrypto |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161201t231824878z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-01 23:18:39 |
last_update | 2016-12-01 23:18:39 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 18 |
author_reputation | 239,324,842,376,224 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,893,486 |
net_rshares | 0 |
Let's make it happen!!!
author | gikitiki |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t013442666z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 01:34:42 |
last_update | 2016-12-02 01:34:42 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 23 |
author_reputation | 16,572,681,158,525 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,894,433 |
net_rshares | 0 |
Resteemed and tweeted
author | goldmatters |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161201t231649820z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-01 23:16:48 |
last_update | 2016-12-01 23:16:48 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 21 |
author_reputation | 409,743,405,777,482 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,893,472 |
net_rshares | 104,437,033,161 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
goldmatters | 0 | 104,437,033,161 | 100% |
Very nice. > The best way to achieve these properties while maintaining flexibility is to have a robust cross-chain communication protocol and keep all new / changing features on separate chains. Would also give you the ability to create contextual chains. To transfer the perspective of the chain away from transactions and towards the context in which we would like to see the data. You could also build a chain from links of chains. IPFS is the closest I've seen come to this.
author | gutzofter |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161201t234206059z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-01 23:42:06 |
last_update | 2016-12-01 23:42:06 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.064 HBD |
curator_payout_value | 0.021 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 480 |
author_reputation | 7,621,537,677,018 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,893,606 |
net_rshares | 1,806,784,078,824 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
transisto | 0 | 1,806,784,078,824 | 60% |
Dan you might just save the world keep up the work
author | jacobcards |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t121921949z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 12:19:21 |
last_update | 2016-12-02 12:19:21 |
depth | 1 |
children | 1 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 50 |
author_reputation | 48,954,175,480,649 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,897,495 |
net_rshares | 0 |
свеча
author | windn |
---|---|
permlink | re-jacobcards-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20171102t223149251z |
category | blockchain |
json_metadata | {"tags":["blockchain"],"app":"steemit/0.1"} |
created | 2017-11-02 22:31:48 |
last_update | 2017-11-02 22:31:48 |
depth | 2 |
children | 0 |
last_payout | 2017-11-09 22:31:48 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 5 |
author_reputation | 4,143,459,171 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 19,301,302 |
net_rshares | 0 |
<3 Loving this. Is it possible for us to build a database free client that runs off of the heads of the block or something? Think similar to Electrum for Bitcoin.
author | klye |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t003420055z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 00:34:12 |
last_update | 2016-12-02 01:00:21 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 164 |
author_reputation | 412,341,527,771,769 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,893,916 |
net_rshares | 0 |
It sounds like a great step forward for Steem and the blockchain technology overall. I don't understand it all, but adding a conditional requirement made more transfers possible at one time by including the same accounts in one block, that I do get. How much is the sorting by account or memory access pattern going to improve the speed?
author | krnel |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161201t234404088z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-01 23:44:03 |
last_update | 2016-12-01 23:44:03 |
depth | 1 |
children | 1 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 337 |
author_reputation | 1,343,547,270,297,082 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,893,619 |
net_rshares | 0 |
Any step you don't perform while producing a block, you end up performing every block every time you reindex. Even if it only saved .000001 second it would add up to meaningful time after millions of blocks. Sorting 3000 transactions can take a lot more than .000001 seconds.
author | dantheman |
---|---|
permlink | re-krnel-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161201t234711457z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-01 23:47:12 |
last_update | 2016-12-01 23:47:12 |
depth | 2 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 277 |
author_reputation | 240,292,002,602,347 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,893,640 |
net_rshares | 0 |
It is about dividing the tasks, one per graph node per block is not the right solution - every transaction involves two nodes by user, and multiple nodes by token. Maybe one per payer. Synchronisation with massive parallelisation requires prioritisation of propagation, ensuring frequent transactions to be clustered, but whenever possible, spread across many nodes, by frequency. Geographical aggregation and association aggregation form transient maps that show how to keep sync without total convergence of blockchain state. So long as the nodes always see the current state of the parts they work with (to some degree of immediately visible provenance), it doesn't have to fully converge, or be permanently stored. There is many approaches to this, i am very interested to see what people turn up.
author | l0k1 |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t143016084z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 14:30:21 |
last_update | 2016-12-02 14:30:21 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 802 |
author_reputation | 94,800,257,230,993 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,898,342 |
net_rshares | 263,143,564,818 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
faddat | 0 | 131,147,703,778 | 100% | ||
razvanelulmarin | 0 | 126,953,240,290 | 100% | ||
snowden | 0 | 64,952,806 | 100% | ||
m3rcos1ty | 0 | 62,180,844 | 100% | ||
edb | 0 | 4,915,487,100 | 100% |
This post has been linked to from another place on Steem. - [Advanced Steem Metrics Report for 1st December 2016](https://steemit.com/steemit/@ontofractal/advanced-steem-metrics-report-for-1st-december-2016) by @ontofractal Learn more about and upvote to support [**linkback bot v0.5**](https://steemit.com/steemit/@ontofractal/steem-linkback-bot-v0-5-the-reddit-awareness-release). Flag this comment if you don't want the bot to continue posting linkbacks for your posts. Built by @ontofractal
author | linkback-bot-v0 |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-linkbacks |
category | blockchain |
json_metadata | {} |
created | 2016-12-02 19:45:03 |
last_update | 2016-12-02 19:45:03 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 504 |
author_reputation | 1,915,954,976,722 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,900,645 |
net_rshares | 0 |
> 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**?
author | liondani |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t013619425z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 01:36:18 |
last_update | 2016-12-02 01:40:27 |
depth | 1 |
children | 17 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.080 HBD |
curator_payout_value | 0.026 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 393 |
author_reputation | 95,095,146,236,111 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,894,439 |
net_rshares | 2,143,954,477,975 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
liondani | 0 | 2,097,039,939,954 | 100% | ||
sulev | 0 | 46,404,284,320 | 100% | ||
ivanvan | 0 | 510,253,701 | 100% |
Rate limiting would prevent it.
author | dantheman |
---|---|
permlink | re-liondani-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t014006750z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 01:40:06 |
last_update | 2016-12-02 01:40:06 |
depth | 2 |
children | 16 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.095 HBD |
curator_payout_value | 0.010 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 31 |
author_reputation | 240,292,002,602,347 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,894,458 |
net_rshares | 2,137,698,824,149 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
liondani | 0 | 2,090,620,593,084 | 100% | ||
sulev | 0 | 46,404,284,320 | 100% | ||
reported | 0 | 113,567,714 | 100% | ||
johnathanhenry | 0 | 50,125,330 | 76% | ||
ivanvan | 0 | 510,253,701 | 100% |
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)
author | abit |
---|---|
permlink | re-dantheman-re-liondani-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t105154333z |
category | blockchain |
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/"]} |
created | 2016-12-02 10:52:03 |
last_update | 2016-12-02 19:00:45 |
depth | 3 |
children | 3 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.126 HBD |
curator_payout_value | 0.032 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 1,240 |
author_reputation | 141,171,499,037,785 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,897,065 |
net_rshares | 2,842,535,736,764 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
anonymous | 0 | 177,650,849,877 | 100% | ||
hello | 0 | 47,949,517,220 | 100% | ||
world | 0 | 18,012,714,712 | 100% | ||
fufubar1 | 0 | 26,194,216,687 | 100% | ||
liondani | 0 | 2,097,018,707,606 | 100% | ||
xeroc | 0 | 252,490,492,353 | 100% | ||
pairmike | 0 | 21,160,953,119 | 100% | ||
steve-walschot | 0 | 55,159,461,830 | 100% | ||
blakemiles84 | 0 | 51,804,059,278 | 100% | ||
michaelx | 0 | 5,152,469,236 | 100% | ||
albertogm | 0 | 8,623,893,870 | 100% | ||
mrhankeh | 0 | 101,563,119 | 100% | ||
snowden | 0 | 70,365,540 | 100% | ||
raymondspeaks | 0 | 2,746,456,136 | 100% | ||
wildchild | 0 | 54,029,860 | 100% | ||
cryptojoy.com | 0 | 958,565,785 | 100% | ||
phenom | 0 | 5,629,496,384 | 100% | ||
mondeja | 0 | 1,663,553,054 | 100% | ||
sulev | 0 | 46,404,284,320 | 100% | ||
brendio | 0 | 8,666,294,111 | 100% | ||
stevescriber | 0 | 71,012,912 | 100% | ||
hopefoundation | 0 | 50,755,452 | 100% | ||
nulliusinverba | 0 | 1,590,394,967 | 100% | ||
cryptochart | 0 | 50,050,891 | 100% | ||
ct-gurus | 0 | 184,550,752 | 100% | ||
tracemayer | 0 | 10,194,524,215 | 100% | ||
inarix03 | 0 | 50,182,131 | 100% | ||
dhrms | 0 | 232,008,369 | 100% | ||
dealzgal | 0 | 58,902,836 | 100% | ||
marialin | 0 | 1,074,778,704 | 100% | ||
ianboil | 0 | 1,250,221,617 | 100% | ||
dropahead | 0 | 58,080,236 | 100% | ||
m3rcos1ty | 0 | 72,544,318 | 100% | ||
lindo | 0 | 85,785,267 | 100% |
But a "strong" account could **delay** (attack) other accounts activity until "they give up", I mean until it makes enough damage to the network(?)...
author | liondani |
---|---|
permlink | re-dantheman-re-liondani-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t014906000z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 01:49:06 |
last_update | 2016-12-02 02:00:45 |
depth | 3 |
children | 9 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 151 |
author_reputation | 95,095,146,236,111 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,894,508 |
net_rshares | 510,253,701 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
ivanvan | 0 | 510,253,701 | 100% |
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?
author | xeroc |
---|---|
permlink | re-dantheman-re-liondani-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t123615618z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 12:36:15 |
last_update | 2016-12-02 12:36:15 |
depth | 3 |
children | 1 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.026 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 274 |
author_reputation | 118,819,064,085,695 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,897,571 |
net_rshares | 698,943,853,961 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
anonymous | 0 | 177,650,849,877 | 100% | ||
hello | 0 | 47,949,517,220 | 100% | ||
world | 0 | 18,012,714,712 | 100% | ||
fufubar1 | 0 | 26,194,216,687 | 100% | ||
xeroc | 0 | 252,490,492,353 | 100% | ||
pairmike | 0 | 21,160,953,119 | 100% | ||
steve-walschot | 0 | 55,159,461,830 | 100% | ||
blakemiles84 | 0 | 51,804,059,278 | 100% | ||
michaelx | 0 | 5,152,469,236 | 100% | ||
albertogm | 0 | 8,623,893,870 | 100% | ||
mrhankeh | 0 | 101,563,119 | 100% | ||
raymondspeaks | 0 | 2,746,456,136 | 100% | ||
wildchild | 0 | 54,029,860 | 100% | ||
cryptojoy.com | 0 | 958,565,785 | 100% | ||
phenom | 0 | 5,629,496,384 | 100% | ||
mondeja | 0 | 1,663,553,054 | 100% | ||
brendio | 0 | 8,666,294,111 | 100% | ||
stevescriber | 0 | 71,012,912 | 100% | ||
nulliusinverba | 0 | 1,590,394,967 | 100% | ||
ct-gurus | 0 | 184,550,752 | 100% | ||
tracemayer | 0 | 10,194,524,215 | 100% | ||
inarix03 | 0 | 52,463,137 | 100% | ||
dhrms | 0 | 232,008,369 | 100% | ||
dealzgal | 0 | 58,902,836 | 100% | ||
marialin | 0 | 1,074,778,704 | 100% | ||
ianboil | 0 | 1,250,221,617 | 100% | ||
dropahead | 0 | 58,080,236 | 100% | ||
m3rcos1ty | 0 | 72,544,318 | 100% | ||
lindo | 0 | 85,785,267 | 100% |
Great post
author | optimistic |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161201t231949578z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-01 23:19:57 |
last_update | 2016-12-01 23:19:57 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 10 |
author_reputation | 3,432,101,539,915 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,893,492 |
net_rshares | 0 |
Dear CTO, <a href="https://steemdaily.blogspot.com/2016/12/How-to-Process-100M-Transfers-Second-on-a-Single-Blockchain.html" imageanchor="1"><img border="0" src="https://4.bp.blogspot.com/-KotdfDV6MoU/WD-n2qzMPwI/AAAAAAAAAPY/89uXMfNlzHomUM4nIoEyxpUDa3zKWVDrgCK4B/s217/logo-steem-daily.png" /></a> Resteemed and Upvoted. Excellent post! Thanks! -------------- ### 0.1 Steem was sent to CTO.
author | steemitfaucet |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t043838858z |
category | blockchain |
json_metadata | {"tags":["blockchain"],"image":["https://4.bp.blogspot.com/-KotdfDV6MoU/WD-n2qzMPwI/AAAAAAAAAPY/89uXMfNlzHomUM4nIoEyxpUDa3zKWVDrgCK4B/s217/logo-steem-daily.png"],"links":["https://steemdaily.blogspot.com/2016/12/How-to-Process-100M-Transfers-Second-on-a-Single-Blockchain.html"]} |
created | 2016-12-02 04:38:39 |
last_update | 2016-12-02 04:38:39 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 392 |
author_reputation | 5,585,268,131,281 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,895,495 |
net_rshares | 0 |
Now you have the reason why @dantheman wasn't at the SteemFest! He's working to fix this world and I love it!
author | teamsteem |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161201t234425042z |
category | blockchain |
json_metadata | {"tags":["blockchain"],"users":["dantheman"]} |
created | 2016-12-01 23:44:27 |
last_update | 2016-12-01 23:44:27 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 109 |
author_reputation | 284,804,541,406,803 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,893,623 |
net_rshares | 12,976,812,814 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
thecryptofiend | 0 | 12,976,812,814 | 1% |
>Since each transfer only takes 5us and we have 15us, we can allow each account up to 3 deposits or withdraws per block. With 3 second blocks this means that each account has a maximum transaction rate of 1 TPS but the blockchain as a whole can process 200,000 * THREAD COUNT transactions per second. It's a very good deal. Also there is Moore's law for further scaling. ;)
author | tibonova |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t000651218z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 00:06:51 |
last_update | 2016-12-02 00:06:51 |
depth | 1 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 374 |
author_reputation | 12,908,383,350,876 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,893,736 |
net_rshares | 0 |
> The best way to achieve these properties while maintaining flexibility is to have a robust cross-chain communication protocol and keep all new / changing features on separate chains. You could have one chain for STEEM, one for SBD, one for STEALTH STEEM, and one for STEALTH SBD. If we were to go this route, would each chain need to have its own coin associated with it, along with miners, witnesses, etc. - or would they all somehow be tied together via STEEM?
author | timcliff |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t010223348z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 01:02:21 |
last_update | 2016-12-02 01:02:21 |
depth | 1 |
children | 7 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.081 HBD |
curator_payout_value | 0.021 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 465 |
author_reputation | 272,954,445,077,789 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,894,118 |
net_rshares | 2,090,806,338,569 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
liondani | 0 | 2,090,296,084,868 | 100% | ||
ivanvan | 0 | 510,253,701 | 100% |
author | dantheman |
---|---|
permlink | re-timcliff-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t014148095z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 01:41:48 |
last_update | 2016-12-02 01:41:48 |
depth | 2 |
children | 1 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.097 HBD |
curator_payout_value | 0.008 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 35 |
author_reputation | 240,292,002,602,347 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,894,471 |
net_rshares | 2,115,414,686,202 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
liondani | 0 | 2,090,620,593,084 | 100% | ||
timcliff | 0 | 24,794,093,118 | 25% |
Cool, that's awesome!
author | timcliff |
---|---|
permlink | re-dantheman-re-timcliff-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t015025269z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 01:50:24 |
last_update | 2016-12-02 01:50:24 |
depth | 3 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 21 |
author_reputation | 272,954,445,077,789 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,894,514 |
net_rshares | 0 |
OK so is this the same as side-chains on Bitcoin or the Lightning network?
author | thecryptofiend |
---|---|
permlink | re-timcliff-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t021758056z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 02:17:57 |
last_update | 2016-12-02 02:17:57 |
depth | 2 |
children | 4 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 74 |
author_reputation | 323,603,913,866,384 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,894,722 |
net_rshares | 0 |
Definitely not. Both achieve the effect of scale, but to be frank this is much, much better. Once segwit and lightning kick in, I anticipate some issues in the world of bitcoin, specifically because they more or less move some transactions off of the blockchain. @dantheman's solution does not propose such madness.
author | faddat |
---|---|
permlink | re-thecryptofiend-re-timcliff-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t115348195z |
category | blockchain |
json_metadata | {"tags":["blockchain"],"users":["dantheman"]} |
created | 2016-12-02 11:53:27 |
last_update | 2016-12-02 11:53:27 |
depth | 3 |
children | 2 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 320 |
author_reputation | 36,581,868,473,026 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,897,338 |
net_rshares | 66,378,676,006 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
thecryptofiend | 0 | 12,934,360,307 | 1% | ||
arcurus | 0 | 53,444,315,699 | 37% | ||
kyle.anderson | 0 | 0 | 100% |
Not sure.
author | timcliff |
---|---|
permlink | re-thecryptofiend-re-timcliff-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t053248304z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 05:32:48 |
last_update | 2016-12-02 05:32:48 |
depth | 3 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 9 |
author_reputation | 272,954,445,077,789 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,895,764 |
net_rshares | 12,934,360,307 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
thecryptofiend | 0 | 12,934,360,307 | 1% |
Shared on [twitter](https://twitter.com/Steem_Land/status/804537045351809024)
author | virtualgrowth |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t040651294z |
category | blockchain |
json_metadata | {"tags":["blockchain"],"links":["https://twitter.com/Steem_Land/status/804537045351809024"]} |
created | 2016-12-02 04:06:51 |
last_update | 2016-12-02 04:06:51 |
depth | 1 |
children | 1 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 77 |
author_reputation | 194,175,762,808,337 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,895,316 |
net_rshares | 0 |
###  **[Steem_Land](https://twitter.com/@Steem_Land/status/804537045351809024)** tweeted @ 02 Dec 2016 - 04:05 UTC > How to Process 100M Transfers / Second on a Single Blockchain — Steemit [steemit.com/blockchain/@da…](https://t.co/SE0t5wDjlr) @SteemUps @SteemitPosts @steemit @steemiobot ###### *Disclaimer: I am just a bot trying to be helpful.*
author | twitterbot |
---|---|
permlink | re-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t040651294z-20161202t040752 |
category | blockchain |
json_metadata | "" |
created | 2016-12-02 04:07:51 |
last_update | 2016-12-02 04:07:51 |
depth | 2 |
children | 0 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 440 |
author_reputation | 2,792,128,643,772 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,895,321 |
net_rshares | 0 |
That's a genius solution!! The limitations of one 'transfer' (e.g. balance changing op) per account per block makes sense to enable parallel execution of ops. I like the idea a lot, however, I am not sure if our sister Blockchain BitShares can deal with this limitation as it means that you cannot build trading bots that trade on multiple markets at the same time, but would require operators to run multiple accounts (still not a show-stopper). Anyways, I like where this is going!
author | xeroc |
---|---|
permlink | re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t122901415z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 12:29:00 |
last_update | 2016-12-02 12:29:00 |
depth | 1 |
children | 4 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.026 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 484 |
author_reputation | 118,819,064,085,695 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,897,539 |
net_rshares | 699,418,341,025 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
anonymous | 0 | 177,650,675,382 | 100% | ||
hello | 0 | 47,949,462,451 | 100% | ||
world | 0 | 18,012,699,428 | 100% | ||
fufubar1 | 0 | 26,194,193,760 | 100% | ||
xeroc | 0 | 252,490,252,901 | 100% | ||
pairmike | 0 | 21,160,935,288 | 100% | ||
steve-walschot | 0 | 55,159,410,883 | 100% | ||
blakemiles84 | 0 | 51,804,010,878 | 100% | ||
michaelx | 0 | 5,152,465,415 | 100% | ||
albertogm | 0 | 8,623,886,228 | 100% | ||
mrhankeh | 0 | 101,563,119 | 100% | ||
snowden | 0 | 70,365,540 | 100% | ||
raymondspeaks | 0 | 2,746,454,863 | 100% | ||
wildchild | 0 | 54,029,860 | 100% | ||
cryptojoy.com | 0 | 958,565,785 | 100% | ||
phenom | 0 | 5,629,492,563 | 100% | ||
mondeja | 0 | 1,814,762,223 | 100% | ||
brendio | 0 | 8,666,286,469 | 100% | ||
stevescriber | 0 | 71,012,912 | 100% | ||
loli | 0 | 50,932,323 | 100% | ||
hopefoundation | 0 | 50,755,452 | 100% | ||
nulliusinverba | 0 | 1,590,393,906 | 100% | ||
steemwatch | 0 | 50,612,605 | 100% | ||
ct-gurus | 0 | 184,550,752 | 100% | ||
tracemayer | 0 | 10,194,515,299 | 100% | ||
inarix03 | 0 | 52,463,137 | 100% | ||
zorrro | 0 | 50,327,438 | 100% | ||
ninjapainter | 0 | 50,942,818 | 100% | ||
dhrms | 0 | 232,008,369 | 100% | ||
dealzgal | 0 | 58,902,836 | 100% | ||
marialin | 0 | 1,074,778,704 | 100% | ||
ianboil | 0 | 1,250,221,617 | 100% | ||
dropahead | 0 | 58,080,236 | 100% | ||
m3rcos1ty | 0 | 72,544,318 | 100% | ||
lindo | 0 | 85,785,267 | 100% |
Do we'll ever need this kind of velocity with BitShares ? It makes sense with a social plateform but the 100,000 Tx/sec seems to be enough even with BitShares eating a large % of Visa and Mastercard markets. Does it ?
author | glitterfart |
---|---|
permlink | re-xeroc-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t140118871z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 14:01:06 |
last_update | 2016-12-02 14:01:06 |
depth | 2 |
children | 3 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 217 |
author_reputation | 48,401,633,178,775 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,898,141 |
net_rshares | 0 |
Good point .. but BitShares is not just VISA, but also NYSE on a global scale ..
author | xeroc |
---|---|
permlink | re-glitterfart-re-xeroc-re-dantheman-how-to-process-100m-transfers-second-on-a-single-blockchain-20161202t140854449z |
category | blockchain |
json_metadata | {"tags":["blockchain"]} |
created | 2016-12-02 14:08:54 |
last_update | 2016-12-02 14:08:54 |
depth | 3 |
children | 2 |
last_payout | 2017-01-02 05:18:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 80 |
author_reputation | 118,819,064,085,695 |
root_title | "How to Process 100M Transfers / Second on a Single Blockchain" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,898,188 |
net_rshares | 177,652,092,839 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
anonymous | 0 | 177,652,092,839 | 100% |