1

What kind of nonce system EOS accounts have for outgoing transactions

  • Is there a nonce for each outgoing transaction

  • Is it increment (Ethereum style) or random

  • Do all transactions need to be send out and processed sequentially, or can they processed in any order from an account

  • Can transactions get stuck due to low fees and is there a rebroadcast for transactions

2

1 Answer 1

1

On Double Spending:

I think double spending is mostly a problem of consensus algorithms that need time for declaring blocks as irreversible like PoW and that are depending on block creating participants (miners). Double spends are possible if you can mine blocks faster than the rest of the network and can "switch" the active longest chain.

The DPoS has much shorter block times (0.5 sec) and is faster in declaring blocks as final. Also the block producer count is limited and therefore double spends by users sending transactions would include "traitor" block producers. A little FAQ can be found here.

Transaction Structure:

I don't know of any nonce included in transactions. A transaction has the following structure (this copied from a block explorer):

{
  "id": "459d1e83415f89463c4f78708a86ee39080733627eaaa038fce777a8eeee3503",
  "trx": {
    "receipt": {
      "status": "executed",
      "cpu_usage_us": 169,
      "net_usage_words": 0,
      "trx": [
        0,
        "459d1e83415f89463c4f78708a86ee39080733627eaaa038fce777a8eeee3503"
      ]
    }
  },
  "block_time": "2019-01-25T11:47:38.000",
  "block_num": 39279487,
  "last_irreversible_block": 39279170,
  "traces": [
    {
      "receipt": {
        "receiver": "eosabcnotify",
        "act_digest": "52547f172f5303c9d8863e5ae1e89545ed9dbc0b6aa83c3a2bc41656caae5deb",
        "global_sequence": "4408268951",
        "recv_sequence": 2450742,
        "auth_sequence": [
          [
            "eosabcoutput",
            21189248
          ]
        ],
        "code_sequence": 1,
        "abi_sequence": 1
      },
      "act": {
        "account": "eosabcnotify",
        "name": "notify",
        "authorization": [
          {
            "actor": "eosabcoutput",
            "permission": "active"
          }
        ],
        "data": {
          "id": 2960899,
          "name": "uuwqhfqbcfyd",
          "bet": "0.5000 EOS",
          "roll": 96,
          "hash": "35ae396f1f394f2a2cd2b46cd03ebfb6ff3463c3d41a1a03975c034ac598ede1",
          "code": 1,
          "result": 0,
          "referee": "dappsgameref,winninetysix",
          "h": "87aad0d5168836a3684d8d73b51fb0a3585fd2c5fe961e893fa52c428b3bd306"
        },
        "hex_data": "032e2d000000000090fc42c7ae66b9d6881300000000000004454f5300000000600000000000000040333561653339366631663339346632613263643262343663643033656266623666663334363363336434316131613033393735633033346163353938656465310100000000000000000000000000000019646170707367616d657265662c77696e6e696e65747973697887aad0d5168836a3684d8d73b51fb0a3585fd2c5fe961e893fa52c428b3bd306"
      },
      "context_free": false,
      "elapsed": 155,
      "console": "",
      "trx_id": "459d1e83415f89463c4f78708a86ee39080733627eaaa038fce777a8eeee3503",
      "block_num": 39279487,
      "block_time": "2019-01-25T11:47:38.000",
      "producer_block_id": "02575b7fb730ae9b0c9fac9c8cc21e9b8e585083629d965b216332cffbf367db",
      "account_ram_deltas": [
        {
          "account": "eosabcnotify",
          "delta": 327
        }
      ],
      "except": null,
      "inline_traces": []
    }
  ]
}

The structure is well explained in this thread:

Can someone explain the transaction struct?

On Execution

If I remember correctly: Transactions are executed in arbitrary order, but actions are executed sequentially.

On Fees

There are no "active" fees on the EOS.IO network (like gas in Ethereum), you need to stake token to reserve RAM, CPU and bandwidth. If your transaction exceeds the time limit (I think it is 150ms at the moment) or crashes, your transaction and all included actions will fail. They won't be rescheduled.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.