elective-stereophonic
elective-stereophonic
Transparent Forging - the latest info  
Please login or register.

Login with username, password and session length
Advanced search  

News:

Latest Stable Nxt Client: Nxt 1.12.2

Author Topic: Transparent Forging - the latest info  (Read 4675 times)

Daedelus

  • Hero Member
  • *****
  • Karma: +230/-12
  • Offline Offline
  • Posts: 3280
    • View Profile
Transparent Forging - the latest info
« on: November 09, 2015, 03:34:39 pm »

Hello... Riker/Mthcl/Kushti/JL??  ;D (who is most 'in the know' these days)

I have some questions to try and increase/update my understanding of TF:


1) Is a penalty (24h forging blacklisting) still considered the way to go for those that miss their forging turn?

2a) Is the implementation discussed by CfB initially still current?
2b) ... so can I go back and read his posts to try to understand TF?

3) If changes have been proposed and deemed better, which ones are these and where can you read about them?


Thanks

Edit:
4) Also, is the 'blind shooter' algo a proxy for the hit/target algo(s)? A bit of clarity here would help me.
« Last Edit: November 13, 2015, 02:46:20 pm by Daedelus »
Logged
NXT: NXT-4CS7-S4N5-PTH5-A8R2Q

Jean-Luc

  • Core Dev
  • Hero Member
  • *****
  • Karma: +816/-81
  • Offline Offline
  • Posts: 1610
    • View Profile
Re: Transparent Forging - the latest info?
« Reply #1 on: November 09, 2015, 05:17:30 pm »

The remaining pieces of transparent forging, such as prediction of next forger and blacklisting of those missing their turns, will be implemented, if really necessary, after the issue of full blockchain pruning is solved, which is after 2.0.

For now, the improvement in making the block times more regular and avoiding long blocks, which is already implemented by improving the base target adjustment algorithm and will take effect at the 1.7 hardfork, is sufficient, and with the number of transactions we have there is space to grow before an increase of possible transaction throughput will be really needed.
Logged
GPG key fingerprint: 263A 9EB0 29CF C77A 3D06  FD13 811D 6940 E1E4 240C
NXT-X4LF-9A4G-WN9Z-2R322

Daedelus

  • Hero Member
  • *****
  • Karma: +230/-12
  • Offline Offline
  • Posts: 3280
    • View Profile
Re: Transparent Forging - the latest info?
« Reply #2 on: November 09, 2015, 06:08:09 pm »

The remaining pieces of transparent forging, such as prediction of next forger and blacklisting of those missing their turns, will be implemented, if really necessary, after the issue of full blockchain pruning is solved, which is after 2.0.

For now, the improvement in making the block times more regular and avoiding long blocks, which is already implemented by improving the base target adjustment algorithm and will take effect at the 1.7 hardfork, is sufficient, and with the number of transactions we have there is space to grow before an increase of possible transaction throughput will be really needed.

Thanks for the reply. I am more interested in understanding TF so that I can talk about it (rather than "when will we have X TPS?!" thoughts I think you read into my post  ;D )



This is where I get confused. Come-from-Beyond said:

... TF is a mix of different mechanisms and not fully active yet.

... TF is just an ability to "predict" the future. All the other is bells and whistles.

And I thought that this was the "Prediciting the future" that you can see in real time here

The release notes for 0.4.8 (couldn't find original but I remember it) back up that TF is released.


I have also seen CfB describe TF as multi-layered, having 'x'% complete (as bitcoinpaul thought in the quote above and you describe in your last post). So that led me to wonder if there had been a change to TF (as BCNext had described it) that didn't require the bells and whistles.

At the moment, I think:
Transparent Forging bootstrap = Ability to predict the next forger with high degree of probability (released at block 30,000 in NRS 0.4.8 )
Transparent Forging = Predict the next forger(s) + Economic Clustering +...  (and we will also be able to have exactly 1min blocks if forgers don't miss their turn, replace the base target and other advantages)


So please correct me. And perhaps define some terms we can all use and refer to, if required? I don't think many can confidently list the main moving parts of TF, let alone describe them ;D I imagine they have the same uncertainty I have when I try to read up on it.

Thank you ;D
« Last Edit: November 09, 2015, 06:30:22 pm by Daedelus »
Logged
NXT: NXT-4CS7-S4N5-PTH5-A8R2Q

Jean-Luc

  • Core Dev
  • Hero Member
  • *****
  • Karma: +816/-81
  • Offline Offline
  • Posts: 1610
    • View Profile
Re: Transparent Forging - the latest info?
« Reply #3 on: November 09, 2015, 06:34:56 pm »

I admit I am equally confused when it comes to TF terminology and stages, with CfB explanations usually cryptic. Maybe mthcl, or ChuckOne to whom some of this knowledge was supposedly transferred, or CfB himself should clarify.
Logged
GPG key fingerprint: 263A 9EB0 29CF C77A 3D06  FD13 811D 6940 E1E4 240C
NXT-X4LF-9A4G-WN9Z-2R322

Daedelus

  • Hero Member
  • *****
  • Karma: +230/-12
  • Offline Offline
  • Posts: 3280
    • View Profile
Re: Transparent Forging - the latest info?
« Reply #4 on: November 09, 2015, 09:26:50 pm »

@JL, from the code, could these be interpreted as being steps towards 'full' Transparent Forging implementation at the blocks listed?

Looking at the constants we can see that 8 steps have been made so far:

Code: [Select]
public static final int TRANSPARENT_FORGING_BLOCK_2 = 47000;
public static final int TRANSPARENT_FORGING_BLOCK_3 = 51000;
public static final int TRANSPARENT_FORGING_BLOCK_4 = 64000;
public static final int TRANSPARENT_FORGING_BLOCK_5 = 67000;
public static final int TRANSPARENT_FORGING_BLOCK_6 = isTestnet ? 75000 : 130000;
public static final int TRANSPARENT_FORGING_BLOCK_7 = Integer.MAX_VALUE;
public static final int TRANSPARENT_FORGING_BLOCK_8 = isTestnet ? 78000 : 215000;


Thanks again. I will try to find out more from those other guys.
Logged
NXT: NXT-4CS7-S4N5-PTH5-A8R2Q

mthcl

  • Hero Member
  • *****
  • Karma: +96/-8
  • Offline Offline
  • Posts: 562
    • View Profile
Re: Transparent Forging - the latest info?
« Reply #5 on: November 09, 2015, 09:56:01 pm »

The remaining pieces of transparent forging, such as prediction of next forger and blacklisting of those missing their turns, will be implemented, if really necessary, after the issue of full blockchain pruning is solved, which is after 2.0.

For now, the improvement in making the block times more regular and avoiding long blocks, which is already implemented by improving the base target adjustment algorithm and will take effect at the 1.7 hardfork, is sufficient, and with the number of transactions we have there is space to grow before an increase of possible transaction throughput will be really needed.

I second what JLP said here.

Now, I would say that there is no such thing as the transparent forging. Of course, the idea is that the next forgers (at least, several of them) are known in advance, and this would make several things (such as instant transactions) possible; but this is partially true even for the current algorithm. The details of the transparent forging are still awaiting discussion; anyhow, as stated above, that's not urgent. One possible proposal is in my "Math of Nxt forging" paper. Also, very old CfB's posts on this are probably outdated; I remember we discussed one TF proposal with him, and that proposal turned out to be unsafe.
Logged

Daedelus

  • Hero Member
  • *****
  • Karma: +230/-12
  • Offline Offline
  • Posts: 3280
    • View Profile
Re: Transparent Forging - the latest info?
« Reply #6 on: November 13, 2015, 02:51:31 pm »

The remaining pieces of transparent forging, such as prediction of next forger and blacklisting of those missing their turns, will be implemented, if really necessary, after the issue of full blockchain pruning is solved, which is after 2.0.

For now, the improvement in making the block times more regular and avoiding long blocks, which is already implemented by improving the base target adjustment algorithm and will take effect at the 1.7 hardfork, is sufficient, and with the number of transactions we have there is space to grow before an increase of possible transaction throughput will be really needed.

I second what JLP said here.

Now, I would say that there is no such thing as the transparent forging. Of course, the idea is that the next forgers (at least, several of them) are known in advance, and this would make several things (such as instant transactions) possible; but this is partially true even for the current algorithm. The details of the transparent forging are still awaiting discussion; anyhow, as stated above, that's not urgent. One possible proposal is in my "Math of Nxt forging" paper. Also, very old CfB's posts on this are probably outdated; I remember we discussed one TF proposal with him, and that proposal turned out to be unsafe.

Thanks for the reply mthcl.

I guess being able to predict the next forger means you know where to send your transaction to allow it to be 'instantly' confirmed, that is what you mean by partially implemented?  [speculation] This reminds me of a feature CfB called 'Time Warp', so perhaps this is a bit of Nxt magic that allows a tx to be considered confirmed before the next block? This sounds impossible but so does most things I read  ;D. This is based on 1 confirmation == 1 block [/speculation]
« Last Edit: November 13, 2015, 03:16:24 pm by Daedelus »
Logged
NXT: NXT-4CS7-S4N5-PTH5-A8R2Q

Daedelus

  • Hero Member
  • *****
  • Karma: +230/-12
  • Offline Offline
  • Posts: 3280
    • View Profile
Re: Transparent Forging - the latest info
« Reply #7 on: November 13, 2015, 02:54:40 pm »

I PM'd Come-from-Beyond, asked some questions and he has given me permission to post his reply. It is in the same tradition of the previous answers  ;D

I don't have account on NxtForum. Ask me questions and I'll give answers.

OK, thanks.

1) What is the definition of TF? You seem to contradict yourself here]https://nxtforum.org/transparent-forging/transparent-forging-the-latest-info/msg199936/#msg199936]here

2) If the plan changed in 1) for both answers to be true at the time you said them, what caused the change?

3) Can you list the elements that make up the definition in 1)? (If not including Economic Clustering et al, how do these fit in?)

4) There was a lot of research into changing TF/algos, were any improvements confirmed for the core that you are aware of?


5) Is penalising those who miss their turn the best implementation in TF?

5a) Is using a 24hr forging ban still the best implementation you know of?

5b) Is hashchains considered as a serious alternative to a penalty?


That is all I have got at the moment, 5 easy questions  :)


Hard to find a good definition, so many things depending on each other. Without EC we can't add the penalization which also gives 90% protection, so for now it's better to focus on capping base target in some interval. Another alternative is to set 60 sec gap between blocks and add 15 sec for each skipped forger, but there are less than 50% of the stake forging, it may lead to 3-5 min blocks. The community should focus on creation of the cluster, without EC TF can't be activated completely (90% protection and almost constant block gaps). Note that there are some things which utilize TF but I don't know if they should be included into TF or put separately. It's the ability to send transactions directly to forgers, for example. But this feature is not needed now, when transaction rate is so small.



@mthcl, does the solution in your paper appear in CfB's options above? I have tried reading the paper before, maybe I should try again.
« Last Edit: November 13, 2015, 03:08:28 pm by Daedelus »
Logged
NXT: NXT-4CS7-S4N5-PTH5-A8R2Q

mthcl

  • Hero Member
  • *****
  • Karma: +96/-8
  • Offline Offline
  • Posts: 562
    • View Profile
Re: Transparent Forging - the latest info
« Reply #8 on: November 13, 2015, 07:21:06 pm »

No, the solution of my paper was not mentioned by CfB, but I recall he had a favorable impression about it. In any case,
 (1) I know for sure that CfB is very occupied now, so don't expect too much from him;
 (2) as JLP said, all this is not urgent. Of course, it would be nice to have the solution of my paper tested; but I cannot do it myself (I wrote last program around 20 years ago). Anyone wants to create a Nxt clone with this TF algorithm?..
Logged

lucky88888

  • Hero Member
  • *****
  • Karma: +42/-14
  • Offline Offline
  • Posts: 694
  • NXT-E328-UJDF-KTGH-9C6YQ
    • View Profile
Re: Transparent Forging - the latest info
« Reply #9 on: November 13, 2015, 11:34:20 pm »

The remaining pieces of transparent forging, such as prediction of next forger and blacklisting of those missing their turns, will be implemented, if really necessary, after the issue of full blockchain pruning is solved, which is after 2.0.

And we must think about the future, every MB of permanent data stored in the blockchain now is here to stay forever (the prunable side chains planned for 2.0 are not yet a reality and not guaranteed to be possible to implement). Migration to prunable data must be forced, leaving the permanent option only for those who really need it and are willing to pay the high fees for it.

This sounds worrying.
Logged
NXT-E328-UJDF-KTGH-9C6YQ
8897013707391239174

stdset

  • Jr. Member
  • **
  • Karma: +14/-1
  • Offline Offline
  • Posts: 86
    • View Profile
Re: Transparent Forging - the latest info
« Reply #10 on: December 15, 2016, 03:03:31 pm »

I was skeptical, although silent about feasibility of transparent forging from the very beginning.
It's now about a year or more, since they say that TF needs Economic Clustering. Now my questions are:

1) How different is Economic Clustering from Ripple consensus system (at least as it was devised in 2011)

Quote from: jed link=https://bitcointalk.org/index.php?topic=10193.0
Let’s say a node has a public key that the client generates for them. There is no connection between this key and a wallet key. It just allows you to be sure you are talking to the node you think you are.

So when you run a node you choose which other nodes you trust. So you could say “I trust my 3 friends’ nodes, Gavin’s node, and these 5 businesses’ nodes.” This trust just means that you believe these people will never participate in a double spend attack or otherwise manipulate the ledger.
The ledger would basically be like the current bitcoin block chain but it would also have a list of what nodes believe the current ledger to be valid. <hash of current ledger signed by node’s public key> (This list doesn’t have to be complete. Nodes can just collect this list as needed. They could even just ask the nodes they trust if they think the current ledger is valid since those are the only ones they care about)

Transactions are still sent to all nodes connected to the network. There would be a network wide timestamp. Transactions would only be accepted if they were within a certain time period of the network timestamp. So you would need to wait maybe 10min before you could fully trust a given transaction. After this waiting period you could be sure those coins weren’t double spent.

If a node ever encounters two conflicting ledgers it would just go with the one that was validated by more nodes that it trusts.

So there should always be a consensus among the trusted members of the network.

There would be a way to look up particular nodes in the network and ask them questions. (I’m imagining this whole thing running on Kademlia, a DHT)

2) Since they are probably quite different, after all Ripple wasn't a PoS crypto, aren't those differences unnecessary superstructures complicating things over Economic Clustering trust layer?

3) Is TF still in plans for Ardor/Ignis?
« Last Edit: December 15, 2016, 03:11:00 pm by stdset »
Logged
 

elective-stereophonic
elective-stereophonic
assembly
assembly