Author Topic: VISA level tps?  (Read 4744 times)

0 Members and 1 Guest are viewing this topic.

Offline cdryan

  • Sr. Member
  • ****
  • Posts: 357
    • View Profile
The upgrade of the delegates of competition, make the society more outstanding server join to the delegates ? Let the voters know who is a  excellent delegate, who is the shortest plank bucket, income of delegatet hook with votes ? Like bitcoin mining machine is competition
« Last Edit: July 09, 2014, 03:25:05 pm by cdryan »

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
The issue isn't "block production time" the issue is "block validation time" and every delegate must validate every block or they are not doing their job of providing the redundancy required. 

Block production time ~= validation time
So I go to  a wrong way.  :'(
I always think the key is network latency  for us now.
Do you think if it's possible to not validation all blocks, but  do it cooperation?

Offline bytemaster

The issue isn't "block production time" the issue is "block validation time" and every delegate must validate every block or they are not doing their job of providing the redundancy required. 

Block production time ~= validation time
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
DPOS should enable us to get there in time.   We are not there yet.

Exciting stuff!   8)
Could anyone elaborate on this?  What's preventing this processing capability?  Does DPOS theoretically allow for this but hasn't been stress tested to this level yet or something?

Delegates enable a form of "trusted/contingent" centralization of nodes with enough CPU/RAM/Network power to handle the throughput.   To reach these speeds we will need to replace Level DB with something better (currently considering FastDB  http://sourceforge.net/projects/fastdb/?source=dlp) but would welcome any recommendations.

Our assumption is that we can use an entirely in-memory database for the blockchain state with nodes that have 256+ GB of ram and can sustain bandwidth of 100 MB per second with as many CPU cores as you can throw at it.     (This is to handle 2000 transactions per second).   Obviously we need a light-weight client solution.   

Clearly there are many incremental steps between 10 TPS and 2000 TPS

I have some advice to improve the  tps.
1. give every delegate a fix cycle time like 1 minute to produce block, but the block number is dynamic.
this will improve the tps and the confirm waiting time.
and we need a heartbeat signal to sync every delegate, a delegate should broadcast a signal when it start work or finish work.

2. parallel. Divide the delegates to several independent zone.  every zone can general block parallel.
for a example, we can use some algorithm to hash the transactions to 100 zone.

I don't know if I  write it clear. I have write in Chinese in another post.
现在测试网络DRYRUN7的两个主要指标:15秒出块,交易频率限制为 2trx/s。
我认为BTS XT第一次发布如果有这样的性能已经很好了,应对半年内的应用应该是没问题的。

为了应对以后大规模的交易应用,以下是我认为可行的改进方案:
1. 每个代理出块数及频率都改为动态自适应的。
1.1 首先确定本轮101个代理工作顺序,每个代理分配1分钟的可支配时钟片。
1.2 这里引进一个定义: heartbeat 心跳数据。每个代理在开始工作时广播心跳开始信号,结束时广播心跳结束信号(包含本轮自己生产了多少个块)。所有代理的心跳数据建立了代理协同工作的同步机制。因为心跳数据包很小,估计能保证 3s 的延时。
1.3 当前代理接收到上一个代理的心跳结束信号后,先发送心跳开始信号,等待接收完所有数据块后就可生产区块。这里等待心跳结束信号或者等待区块数据包到达都有超时机制,可设为 15s。
1.4 当前代理生产区块的频率不固定,满50个交易,或者1分钟时间到了就可以产生区块。当交易量很大时,每1秒钟就生成一个区块都有可能。
1.5 在结束本轮工作时广播一个心跳结束信号。
1.6 如果一个交易都没有就不要生产区块了,直接发送心跳结束信号
1.7 下一个代理开始工作

这个方案是我认为比较高效的协同工作机制。其性能会受到网络带宽、CPU等限制。以带宽来算,假设是10M网络,可稳定传输100K/秒的数据,一个交易250个字节,大概的处理能力是 400trx/秒。确认时间为 1秒 ~ 1分钟。

2. 这个性能还不足以和VISA竞争,为此要引入并行生产的方式,在每一个时刻能有多个代理同时工作。为了不因此增加协同工作的复杂性,需要严格分区,明确每个代理负责的区域。
一个简单的规则,比如分为100个块,按交易的HASH值除以100的余数分区域。这样能并行出块。这样处理能力就到40000trx/秒了。 :D

以上是个人理解,不知道是否准确

Offline bytemaster

DPOS should enable us to get there in time.   We are not there yet.

Exciting stuff!   8)
Could anyone elaborate on this?  What's preventing this processing capability?  Does DPOS theoretically allow for this but hasn't been stress tested to this level yet or something?

Delegates enable a form of "trusted/contingent" centralization of nodes with enough CPU/RAM/Network power to handle the throughput.   To reach these speeds we will need to replace Level DB with something better (currently considering FastDB  http://sourceforge.net/projects/fastdb/?source=dlp) but would welcome any recommendations.

Our assumption is that we can use an entirely in-memory database for the blockchain state with nodes that have 256+ GB of ram and can sustain bandwidth of 100 MB per second with as many CPU cores as you can throw at it.     (This is to handle 2000 transactions per second).   Obviously we need a light-weight client solution.   

Clearly there are many incremental steps between 10 TPS and 2000 TPS

For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline yellowecho

DPOS should enable us to get there in time.   We are not there yet.

Exciting stuff!   8)
Could anyone elaborate on this?  What's preventing this processing capability?  Does DPOS theoretically allow for this but hasn't been stress tested to this level yet or something?
696c6f766562726f776e696573

Offline Overthetop

BTS, will make history.
个人微博账号: Overthetop_万里晴空
“块链创新与创业”交流群: 330378613

Offline BTSdac

  • Hero Member
  • *****
  • Posts: 1219
    • View Profile
  • BitShares: K1
In toolkit2.0, the level data processing ability of VISA (TPS) is one of the main goals?
this is the basis of exchange to application level.

DPOS should enable us to get there in time.   We are not there yet.
+5% +5% +5%
unbelieveable
github.com :pureland
BTS2.0 API :ws://139.196.37.179:8091
BTS2.0 API 数据源ws://139.196.37.179:8091

Offline cass

  • Hero Member
  • *****
  • Posts: 4311
  • /(┬.┬)\
    • View Profile
In toolkit2.0, the level data processing ability of VISA (TPS) is one of the main goals?
this is the basis of exchange to application level.

DPOS should enable us to get there in time.   We are not there yet.

  +5% eager to see
█║▌║║█  - - -  The quieter you become, the more you are able to hear  - - -  █║▌║║█

Offline cdryan

  • Sr. Member
  • ****
  • Posts: 357
    • View Profile
thank all guys, it is a great goal. +5% +5% +5% +5%

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
In toolkit2.0, the level data processing ability of VISA (TPS) is one of the main goals?
this is the basis of exchange to application level.

DPOS should enable us to get there in time.   We are not there yet.
I have no  doubt about that.   :)

Offline bytemaster

In toolkit2.0, the level data processing ability of VISA (TPS) is one of the main goals?
this is the basis of exchange to application level.

DPOS should enable us to get there in time.   We are not there yet.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline cdryan

  • Sr. Member
  • ****
  • Posts: 357
    • View Profile
In toolkit2.0, the level data processing ability of VISA (TPS) is one of the main goals?
this is the basis of exchange to application level.