Pages:
Author

Topic: DIANNA: the IANA Decentralized design concept - page 3. (Read 16104 times)

hero member
Activity: 686
Merit: 500
Wat
Good luck with this guys it looks very much like what satoshi was thinking about with the alternate chains system. Thumbs up.
hero member
Activity: 490
Merit: 500
Design changelog added, to easily navigate list of major changes
http://dianna-project.org/wiki/Design_Changelog

Known issues added to make a food for mind
http://dianna-project.org/wiki/Known_Design_Issues

Please register, discuss, offer solutions.

We will change the world.
legendary
Activity: 1680
Merit: 1035
Me neither, but sometimes it's just difficult to grasp the idea being presented right away
full member
Activity: 154
Merit: 102
Bitcoin!
For the record, I haven't had any problems understanding the English.
rjk
sr. member
Activity: 448
Merit: 250
1ngldh
My english isn't ideal and I use Lingvo translator for particular words, not phrases.

If you find any mistakes, you are welcome to fix'em.

I was asking because if you typed in Russian and used a translator, I would have suggested you post the original Russian as well. I admit, it is sometimes a bit difficult to understand what you are trying to say.
FWIW, you guys both have very good English. Very understandable.
hero member
Activity: 490
Merit: 500
legendary
Activity: 1680
Merit: 1035
My english isn't ideal and I use Lingvo translator for particular words, not phrases.

If you find any mistakes, you are welcome to fix'em.

I was asking because if you typed in Russian and used a translator, I would have suggested you post the original Russian as well. I admit, it is sometimes a bit difficult to understand what you are trying to say.
hero member
Activity: 490
Merit: 500
My english isn't ideal and I use Lingvo translator for particular words, not phrases.

If you find any mistakes, you are welcome to fix'em.
legendary
Activity: 1680
Merit: 1035
Out of curiosity, how are you typing in English: writing everything yourself, or writing in Russian and using Google Translate?
hero member
Activity: 490
Merit: 500
Block chain in 3D idea.

System will maintain a various namespaces: from small (cjdns zone) to medium (.dia.i2p) and possibly extra large(ICANN .com zone).

So why cjd clients will have to listen changes in i2p or icann namespaces? Why such small network will have a domain price corresponding to icann zone activity?

Let the block chain would be block tree! Each branch will represent particular namespace, and all of them will grow from genesis block with namespace 0!

Each branch will have own pdiff based on branch activity. So the small worlds will have small operation fees and they'll be isolated from activity of other namespaces. And they will maintain only their branch small data.

Killer-feature!
jr. member
Activity: 42
Merit: 1000
Thanks again !
We shall research this more deeply.

But right now we have concentrated on other stuff.
I believe eventually pent will conversate with CJDNS devs.

UPD:  I have PM'ed pent about this project.
hero member
Activity: 490
Merit: 500
This is a reasonable question.

I am unix system administrator and build, manage and scale alexa top-500 high-load projects for a 6 years. I know something about something really big. Large cluster systems and distributed storages are my favorites.

But anyway, I just make a proposal and community decides whether it has any futher fate.

If you say, Satoshi has the same mo, why just he don't point me where I am wrong, where is the bottleneck? I don't think he masured people on "Who are you to offer this?". Clever man looks on the offer itself. I think Satoshi is clever. And i will be happy to read his comments. Link to my PGP key is attached to first message in topic.
legendary
Activity: 3920
Merit: 2349
Eadem mutata resurgo
Updated new Design overview on wiki, please follow:

http://dianna-project.org/wiki/Design_Overview

I'll just note there are exactly 3 real references to numbers in the entire design document ....

Quote
DIANNA resistant against 51% Attack as long as Bitcoin network is resistant.
Quote
Merge-mining will bring to miners some additional profit (0,0001 ... 15% of Bitcoin block reward - depending on network activity) for doing proportional work.
Quote
So, 1 byte can contain 256 different name spaces.

.... just wondering what experience in network systems design makes you think you got this all covered champ?

(hint: vinced and satoshi have the same m.o.)
jr. member
Activity: 42
Merit: 1000
@thomkaufmann

Thank You very much for the link !!
Very interesting stuff  !!
 I never have seen this before.
As far as i can understand this is a type of mesh network with their
own routing protocols ( DNS PostApocalypse style )
And they even have running net of about 70 nodes !!

Not sure how much it scalable, though.
I heard that mesh network don't scale up much. i.e this is most suitable
for local commuinity nets.

I hope we can borrow something from it for our project.
Especially the parts of DNS-like protocols they have developed.

But their overall design is VERY differs from our current concept.
hero member
Activity: 490
Merit: 500
Updated new Design overview on wiki, please follow:

http://dianna-project.org/wiki/Design_Overview
jr. member
Activity: 42
Merit: 1000
@Rassah

1) You are mostly on the right track about our concept.
However some parts of the design may change in the future beta release.

2) If you wanna help us and have some crazy ideas -- i encourage you post it here.
Maybe we shall not answer you to such postings, but we read the thread
and we shall use all useful we can find in your writings. Thanks for help  Smiley

3) I have very thick skin. It's my job  Smiley
   And i am not Soviet -- in fact i hate half of the Soviet Union legacy.
   I do know that there is no such a thing like "socialism". -- at least in some sense.
   Cuz of ALL countries even North Corea have their own blackmarkets -- true
 capitalist ventures.
 BTW it's off-topic here. Shame on me Sad
 Oh, enough trolling. Need to work  Tongue
 
hero member
Activity: 490
Merit: 500
I don't know if this can be useful in some ways, but I link this:
http://netsukuku.freaknet.org
I hope that you can find some good ideas for your project Smiley
Thanks. Actually this: netsukuku.freaknet.org/doc/main_doc/andna.pdf

They have ANDNA p2p name system which is not athoritative.

But have a couple of ideas of healthy redunancy.
staff
Activity: 4270
Merit: 1209
I support freedom of choice
I don't know if this can be useful in some ways, but I link this:
http://netsukuku.freaknet.org
I hope that you can find some good ideas for your project Smiley
legendary
Activity: 1708
Merit: 1020
Right, but namecoin not limited to .bit, but it is its primary objective - decentralized system maintains centralized network. Mess.

But main problem is not in this. The main problem is the price of domain operation. NameCoin has an arbitrary formula of that, taken from the sky, and they just destroy that money to be completely correct.

I don't think this is right. I think the work of verification domain transaction MUST be paid. Some people dont think such.

And this is the main drama of holy war. And that is why DIANNA was designed.

Quote
Right, but namecoin not limited to .bit
thanks for pointing that out.

Quote
[...] but it is its primary objective - decentralized system maintains centralized network. Mess.
fud. you can run a client locally and be completely independent from dns.

I agree that though the namecoin data is far smaller than bitcoin data and will probably grow less in the future it would be nice to have a smaller footprint (currently ~500MB on the hd).

The advantage to use the current os dns system is in the possibility of easy adaption - small os config change and it works.

Quote
But main problem is not in this. The main problem is the price of domain operation. NameCoin has an arbitrary formula of that, taken from the sky, and they just destroy that money to be completely correct.

I don't think this is right. I think the work of verification domain transaction MUST be paid. Some people dont think such.
fud. by now there is no formula at work any more - fixed price of 0.01 NMC for name_new and name_firstupdate + transaction fees.
I repeat: a small amount of NMC being destroyed is not a problem. Without a change about 1,000,000,000 domains can be sustained and the limits can easily be lifted. For comparison: there are ~<~300,000,000 normal domains registered in the world. Namecoin is now at 43,000.

what you seem to be missing:
The transaction fees for name_new, name_firstupdate and name_update are set by the users and accepted or not by the miners. just like bitcoin. if bitcoin works, namecoin should too.

Quote
And this is the main drama of holy war. And that is why DIANNA was designed.
And this is why your arguments against Namecoin are mostly invalid.

The more alternatives the better. But please stop spreading FUD about Namecoin.

hero member
Activity: 490
Merit: 500
I thought this conversation with cjd will help to clear most things.

The cjd's concept also has several light ideas i'm thinking on.

Quote
[15:16] pentarh: Thanks for stopping by, I have a few questions about how dianna handles the authority stuff.
[15:17] I was trying to read the paper but it had lots of stuff which I know and it was hard to pick out the parts which I don't get.
[15:17] wel, let me excuse for any bad english at first
[15:17] nps
[15:17] the paper is atually outdated
[15:18] * cjd knows that feeling Wink
[15:18] we have brainstormed this idea and went too far from initial one
[15:18] I gather you resolve long forks just by making it expensive to fork the chain, same idea as bitcoin.
[15:19] The first point. Bitcoin provides pretty good way to main authoritative transactions
[15:19] mhm
[15:19] so at first i thought to fork bitcoin
[15:19] ...which is a pain..
[15:20] and make there a new transactions where domains (strings) will be instead of coins (integers)
[15:20] which spams the bitcoin chain but does work
[15:20] also it precludes easy & provable lookups
[15:21] No, I thought to create alternate chain https://en.bitcoin.it/wiki/Alternative_Chains
[15:21] yeap
[15:21] But the main pain of all forks is the 51% attack
[15:21] yeap
[15:21] the long fork attack
[15:22] my first idea was a chain of trees and the root hash of each hash tree would be included in a bitcoin transaction
[15:22] The initial design was the idea to create alternate currency, like namecoin, to motivate people maintain network
[15:23] yeah and that is full of problems as I'm sure you know
[15:23] but Gavin suggested ne to move financial chain to bitcoin
[15:23] and leave domain data in alternate chain
[15:24] alternate block will be merge-mined against bitcoin parent blocks and against bitcoin difficulty
[15:24] ic
[15:24] this makes dianna resitant to 51% attack
[15:24] as long as bitcoin is
[15:25] and people will merge mine because they want to get the btc from "registering" domains
[15:25] how do you do untrusted lookups?
[15:26] one big problem w/ namecoin is you either have the whole chain or you "just trust me"
[15:26] every dianna client will have a dianna block headers chain in local storage. It is short in size enough to put on every client
[15:26] k
[15:27] the actual block data i plan to store in DHT
[15:27] yeah or anywhere
[15:27] HASH=BLOCK DATA
[15:27] so
[15:28] so every diana block will have a hash tree with every domain in existance
[15:28] the headers contain a block merkle root. the client can ask external storage to return him merkle branch of needed domain transaction
[15:28] yeah
[15:28] in this way he can easily verify where external storage returned valid data
[15:28] yeap
[15:29] I wrote about how to implement this, and how to avoid needing the entire database in order to validate a change to it
[15:29] http://ezcrypt.it/LL4n#HzmTvH1pi0G8JtcOTz3xFplq
[15:30] thanks, need some time to read
[15:30] so we have authority and resolving but the stumbling blocks are in getting people to merge mine
[15:30] and in the fact that nobody wants to pay to be an experimenter
[15:31] the price is adjusted to network popularity, so in first stages it will be very low
[15:31] in dianna
[15:31] hmm
[15:31] that is dangerous stuff
[15:32] the smarter you make the governer, the more catistrophically it will fail if it does
[15:32] actually not the price itself
[15:33] now the problem I have is we have somewhere between 50 and 100 active nodes experimenting with cjdns
[15:33] price is defined on hardcore tricks to hardcore connect paid money with doing hash work
[15:33] and they have crypto derived ipv6 addresses
[15:33] (so their addresses suck)
[15:33] but nobody is going to adopt something where they have to pay (anything)
[15:34] thats a problem ?
[15:34] it's a problem for any proposal which requires paying
[15:34] heh
[15:35] I have maybe 2/3 of a solution in mind but mine is incomplete and there are some lingering problems.
[15:35] as are most things
[15:35] I'll let you read my document if you like then we can continue.
[16:02] cjd, what is the root if your single merkle tree? tx hash or block hash?
[16:05] in that document, the merkle tree would be made of transaction output hashes and the root would have to be placed in the merged mining tree
[16:05] kk: nope.. heros wanted Smiley
[16:06] pentarh: for dns, my thinking was that someone would pay btc to the root of the merkle tree as if it were a key hash.
[16:07] please explain. I want to create some domain in this system. What the process will be?
[16:07] I pay btc to miner and he creates a merkle root with a branch of my domain
[16:08] the thinking was if you wanted to add domains, you would recompute the hash tree with the new domains and pay to that root hash as if it were a bitcoin address.
[16:08] no need to involve the miners at all, and using only standard transactions
[16:10] pentarh: each hash tree would include the hash of the last hashtree so they would function as a chain.
[16:10] pentarh: the obvious problem with what I just described is that someone can create a fork by just paying a little more and creating different domains.
[16:11] and since there's no way to know that it has forked, they can reveal the fork a year after it is created thus throwing a huge number of domains into dispute
[16:13] so idea #2 was to resolve forks by merging the domains from each branch together. This is much nicer since it behaves like namecoin but one can add an arbitrary number of domains with only a single transaction spamming the chain.
[16:14] Well, this is interesting. Can I tell what I propose?
[16:14] sure
[16:14] the problem with #2 is that there is no effective way to prove that a domain is valid since anyone can add one later on.
[16:18] I propose to create alternate chain as i described above. The transactions will have input as reference to prev key=value and output key with new value. If there is no input, this assumes a new domain creation. The normal Satoshi pend checks are applied, except that system will forget about prev output if it was TTL blocks ago.
[16:18] ic
[16:18] The reason of putting a new transaction in alternate chain is bitcoin transaction to miner
[16:19] and nothing else
[16:19] your end has to get miners on board
[16:19] which is not insurmountable but it's an issue
[16:19] yes, providing them some extra profit for corresponding extra work
[16:20] yes, the other matter is that early on, the cost needs to be basicly 0 in order to get people to use it
[16:21] miner gather domain transactions to a dianna block. every domain trans has a ref to bitcoin trans. So dianna will know how much money was piad for all transactions in block.
[16:21] So it adds a proportional difficulty
[16:22] I call it PDiff. PDiff=sum(domain_tr_fees)/(Bitcoin_block_reward + bitcoin_block_fees)
[16:23] ok and you'll make everyone have the whole history of headers so any domain lookup can be proven...
[16:23] Miner will merge-mine dianna block with bitcoin difficulty + PDiff addition
[16:23] it sounds workable
[16:24] the main rule is the any paid money must be worked
[16:24] "must be worked"??
[16:25] must have a ground in work
[16:26] how do you prevent a miner from creating thousands and thousands of domains by "paying himself" ?
[16:26] So if miner going to get a profit of 10 BTC in dianna block, and this bitcoin bounty is 50 BTC, he must mine with 10/50 = 25% difficulty addition
[16:26] oic
[16:27] paying himself is the next problem, which resolution I try to tell you
[16:34] that all makes a lot of sense and I hope you can get it to work
[16:34] So. The DIANNA will announce: In this "week" (week is in blocks) the PDiff is 10%. This means hardcore set of single block domain money turover as a percetile of bitoin block turnover. Miner will have to collect domain orders exactly to this amount. Any difference will cause exponental difficulty grow
[16:35] ahh ic
[16:35] this deserves an RFC
[16:36] If miners are hard to collect such more orders, the dianna blocks appear frequency will go down. In this case dianna will announce on next week lower PDiff
[16:36] because programmers need a dense set of rules and none of the layman's terms and discussion
[16:37] will clients need to hold the chain of diana headers or the chain of bitcoin headers?
[16:38] hmm I guess you couldn't have them hold the bitcoin headers
[16:38] And visa versa. If miners are easily collect order on that PDiff, the dianna block frequency will rushed to bitcoin block frequency. So dianna will set higher pdiff in next week
[16:38] it would be nice since that header chain could be used for other notery type stuff
[16:39] yes, this will cause to hold both headers chain
[16:39] I like it. The governer stuff sounds really complex and you have to be prefect on it
[16:40] and this is what version we stopped in
[16:41] would be so much easier if the cost was fixed
[16:41] not better, just easier to implement
[16:42] The price must not be fixed
[16:42] /nod
[16:42] if I set it to 1 btc, and tomorow usd/btc will be 1000, this will be a problem
[16:42] indeed
[16:43] set to X times the average transaction fee in the last 10 blocks ?
[16:43] anything that can be done to avoid the hard work Smiley
[16:44] someone can spam system with low transactions to turn it into free data storage
[16:44] hmm /mod
[16:45] the only way to know the price is to know how much work is doing for certain money turnover. And this value is bitcoin difficulty per block reward
[16:45] oic
[16:46] So I connect the price only to work. And market will decide how much it really costs
[16:46] that makes a lot of sense
[16:46] equivilent btc to k hashes
[16:47] *K
[16:48] the biggest problem that I see is the miners
[16:48] yes, but this all in percetiles. so system can adopt to rising power like bitcoin does
[16:48] what with miners?
[16:49] I see they will have a reason to consolidate
[16:49] why should minerX mine these where they don't make anything off them unless they put in more work
[16:49] when he can mine namecoin and sell it
[16:50] Payment for domain transaction goes directly to miner address
[16:50] He could send this payment by itself, but still have a difficulty overhead
[16:51] doesn't the additional difficuly make it impossible for him to make a profit by merging?
[16:52] i didn't understand
[16:52] hmm I probably didn't understand it right...
[16:53] I thought the prevention against miners paying themselves was to make it so they needed to mine higher difficulty blocks in order to do merged mining.
[16:53] client will send to miner a special transaction with domain name signed by domain key, followed by OP_DROP and then normal bitcoin script
[16:53] hmm clever
[16:53] so transaction is marked as " for foobar domain"
[16:54] The miner can pay to himself like that
[16:54] and order a own domain
[16:54] then he will have to do just extra work
[16:55] So the difficulty overhead and associated electricity spends will be a prime cost of domain
[16:55] I don't quite understand how the extra work works.. It's extra work on the dianna chain and not the bitcoin chain?
[16:56] dianna blocks are merge-mined with bitcoin blocks. They are mined agains parent block difficulty, dianna does not have own difficulty
[16:57] but it has own difficulty correction
[16:58] hrm so in order for a miner to include transactions, he will have to mine bitcoin blocks at higher difficulty than the bitcoin swarm mandates?
[16:58] Miners will mine dianna blocks with BitcoinDifficulty * (1 + Pdiff) in simple case
[16:59] yes, the dianna blocks difficulty will be always a bit higher
[16:59] and dianna will set this "bit" according to its activity
[16:59] if a miner is mining at higher difficulty, doesn't this mean a miner who is merged will need to discard otherwise valid bitcoin blocks?
[17:01] Yes, this will control miners greedy
[17:01] because they have a chance to discard valid bitcoin block
[17:02] if pdiff is too high
[17:02] well wouldn't they still be able to submit it as a non-merged-bitcoin block?
[17:02] noway. parent bitcoin block hash must be included in dianna block
[17:03] this makes totally shared network power
[17:03] nah, I mean if they discover a bitcoin block which is not high enough difficulty for a diana block, they will just submit it as a normal bitcoin block
[17:04] *pretend that they don't mine dianna
[17:04] no and yes
[17:04] BitcoinDifficulty * (1 + Pdiff) is the dianna block difficulty
[17:04] /nod
[17:04] BitcoinDifficulty remains as is
[17:05] I think the biggest problem here is that it requires miners to participate
[17:06] So if miner found a bitcoin block with correct difficulty and still didnt found dianna block. he will have a choice - to submit bitcoin block and continue dianna with new one, or waste some more time to find dianna hash
[17:07] time is money for bitcoin miners
[17:07] they go to great lengths to catapult their blocks out as fast as possible
[17:07] well, yes, he will continue dianna block with next bitcoin one
[17:08] and unfortunately the experimenters and nerds seem to be being overrun by oppertunists and scummy people in the bitcoin community.
[17:08] this will lower dianna frequency and dianna will set lower pdiff
[17:08] can Pdiff be a fraction?
[17:08] yeah
[17:08] which means that unless the miner gets $$ in pocket, they are unlikely to mine
[17:09] esp. if they make money mining namecoin
[17:09] who would want to upset that racket
[17:09] namecoin is a dead body
[17:09] from birth
[17:09] yeap
[17:10] but miners will still mine them because they can sell them
[17:10] and way too many people in the bitcoin community would sell their grandmother for a block Sad
[17:11] I asked enough questions in public to make investors doubt where they invest their money
[17:11] buying namecoins
[17:11] /nod
[17:11] people buy SC2
[17:11] people are dumb
[17:23] dumb people will by forks currency while they not realized that only one have a right to live - bitcoin
[17:23] bitcoin probably
[17:24] but only one. All others will have a possibility of 51% attack
Pages:
Jump to: