Bitcoin Forum
November 09, 2024, 03:50:19 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 [81] 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 ... 176 »
  Print  
Author Topic: Devcoin  (Read 412926 times)
jackjack
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
April 25, 2013, 09:12:21 AM
 #1601

Also if hard-forking is the only concern we can put an extra field in 'recfile' to allow a pubkey change (newpubkey+signature by current pubkey)

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
markm
Legendary
*
Offline Offline

Activity: 3010
Merit: 1121



View Profile WWW
April 25, 2013, 10:03:14 AM
Last edit: April 25, 2013, 10:30:28 AM by markm
 #1602

Also if hard-forking is the only concern we can put an extra field in 'recfile' to allow a pubkey change (newpubkey+signature by current pubkey)

Not good enough; once the current signer gets run over by a bus it is too late to get them to sign over to someone else.

We use majority right now, that seems more robust though also has its own potential weaknesses presumably.

A majority of the files have to be identical. Its that simple.

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
jackjack
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
April 25, 2013, 10:14:42 AM
 #1603

Majority can still work with that system: everybody signs and broadcasts his signature

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
markm
Legendary
*
Offline Offline

Activity: 3010
Merit: 1121



View Profile WWW
April 25, 2013, 10:30:50 AM
 #1604

Majority can still work with that system: everybody signs and broadcasts his signature


See now that sounds better already.

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
grc
Newbie
*
Offline Offline

Activity: 40
Merit: 0


View Profile
April 25, 2013, 12:56:31 PM
 #1605

Another button design to add to the mix:

https://i.imgur.com/2oxYgw2.png

Larger version
FuzzyBear
Legendary
*
Offline Offline

Activity: 1420
Merit: 1010



View Profile WWW
April 25, 2013, 01:12:21 PM
 #1606

Another button design to add to the mix:



Larger version

Very nice work Smiley

***** Earn DEV at http://devtome.com *****
FinShaggy
Full Member
***
Offline Offline

Activity: 196
Merit: 100


Google/YouTube


View Profile WWW
April 25, 2013, 02:21:50 PM
 #1607

You didn't mention the receiver files. Maybe you simply happened to be in the same directory those files were in when you ran the devcoind? As one place they can be to work is wherever you are when you run the program. They then copy them over from there to their actual destination in a subdirectory of the data directrory. The other option is to specifically put them in that subdirectory yourself, which would usually mean you'd create the diata directrory create its subdirectory and put the receiver files there.

Obviously simplest, it is weren't for the difficulty of conveying to Windows users the concept of "current working directory" and how to put yourself in a particular directrory before running something, would be to make sure you are sitting where those files are when you first run the program.

-MarkM-


When I start to run devcoind, it reports that download from raw.github.com error, so I just copy receiver_0.csv (only this file) to ~/.devcoind/, remove the blk_* and __db* files from ~/.devcoind, restart devcoind and everything works. So I think it's just a temporily  network problem of my own. you see, devcoind download all the other receiver_*.csv files, isn't it?

So I didn't even mention that ...

I've heard "Devcoind" is "Demon" coin or something like that. What is the difference between that (Devcoind) an Devcoin?

If everyone is thinking outside the box, there is a new box.
markm
Legendary
*
Offline Offline

Activity: 3010
Merit: 1121



View Profile WWW
April 25, 2013, 02:41:57 PM
Last edit: April 25, 2013, 03:02:02 PM by markm
 #1608

A daemon is basically what windows would refer to as a system service.

Or what DOS used to call a Terminate and Stay Resident (TSR) program.

Basically a program that drops into the background, disconnecting from the input/output streams you invoked them from. So that once you run the command, you get your command-line input back to type another command instead of having to wait for that program to stop before you can enter some other command (such as to run another program).

Devcoin fires up a whole GUI, as well as still keeping hold of "standard out" (stdout) and "standard error" (stderr) output streams and the "standard input" (stdin) input stream. If you run it from a text mode (command-line) console you will see the stuff it pours out to stdout and stderr, which is (at least mostly) the same stuff that it also sends to the debug.log file.

In unix one customarily puts a d at the end of the name of a program to indicate it is a daemon, thus the name devcoind for the daemon version. Devcoind actually acts not only like a daemon but also like a control-program used to send commands to a daemon. You run it with the -daemon switch to send it into daemon mode, or without the daemon switch to use it as a control-program for sending commands to the copy that you previously already sent into daemon mode.

Often, maybe usually, the control program for talking to a daemon is separate from the daemon program itself, for example the systemd daemon has a systemctl program used to send commands to it instead of including the control-program functionality into the systemd program itself.

Similarly, mysqld is the mysql daemon that is the actual resident database-system system-service whereas mysql is the client program used to send commands to the mysqld to actually create databases, look things up in databases and so on.

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
FinShaggy
Full Member
***
Offline Offline

Activity: 196
Merit: 100


Google/YouTube


View Profile WWW
April 25, 2013, 02:46:43 PM
 #1609

A daemon is basically what windows would refer to as a system service.

Or what DOS used to call a Terminate and Stay Resident (TSR) program.

Basically a program that drops into the background, disconnecting from the input/output streams you invoked them from. So that once you run the command, you get your command-line input back to type another command instead of having to wait for that program to stop before you can enter some other command (such as to run another program).

Devcoin fires up a whole GUI, as well as still keeping hold of "standard out" (stdout) and "standard error" (stderr) output streams and the "standard input" (stdin) input stream. If you run it from a text mode (command-line_ console you will see the stuff it pours out to stdout and stderr, which is (at least mostly) the same stuff that it also sends to the debug.log file.

In unix one customarily puts a d at the end of the name of a program to indicate it is a daemon, thus the name devcoind for the daemon version. Devcoind actually acts not only like a daemon but also like a control-program used to send commands to a daemon. You run it with the -daemon switch to send it into daemon mode, or without the daemon switch to use it as a control-program for sending commands to the copy that you previously already sent into daemon mode.

Often, maybe usually, the control program for talking to a daemon is separate from the daemon program itself, for example the systemd daemon has a systemctl program used to send commands to it instead of including the control-program functionalisty into the systemd program itself.

Similarly, mysqld is the mysql daemon that is the actual resident database-system system-service whereas mysql is the client program used to send commands to the mysqld to actually create databases, look things up in databases and so on.

-MarkM-


So when you say "Daemon" is that similar to the mailer daemon for yahoo?

If everyone is thinking outside the box, there is a new box.
Balthozar
Member
**
Offline Offline

Activity: 98
Merit: 10


View Profile
April 25, 2013, 02:52:58 PM
 #1610

A daemon is basically what windows would refer to as a system service.

Or what DOS used to call a Terminate and Stay Resident (TSR) program.

Basically a program that drops into the background, disconnecting from the input/output streams you invoked them from. So that once you run the command, you get your command-line input back to type another command instead of having to wait for that program to stop before you can enter some other command (such as to run another program).

Devcoin fires up a whole GUI, as well as still keeping hold of "standard out" (stdout) and "standard error" (stderr) output streams and the "standard input" (stdin) input stream. If you run it from a text mode (command-line_ console you will see the stuff it pours out to stdout and stderr, which is (at least mostly) the same stuff that it also sends to the debug.log file.

In unix one customarily puts a d at the end of the name of a program to indicate it is a daemon, thus the name devcoind for the daemon version. Devcoind actually acts not only like a daemon but also like a control-program used to send commands to a daemon. You run it with the -daemon switch to send it into daemon mode, or without the daemon switch to use it as a control-program for sending commands to the copy that you previously already sent into daemon mode.

Often, maybe usually, the control program for talking to a daemon is separate from the daemon program itself, for example the systemd daemon has a systemctl program used to send commands to it instead of including the control-program functionalisty into the systemd program itself.

Similarly, mysqld is the mysql daemon that is the actual resident database-system system-service whereas mysql is the client program used to send commands to the mysqld to actually create databases, look things up in databases and so on.

-MarkM-


So when you say "Daemon" is that similar to the mailer daemon for yahoo?

Yes, it is Fin.

http://devtome.com/doku.php?id=wiki:user:balthozar | Earn Devcoins by Writing | Virtual Currency Exchange
DVC:1kFhM8vtEzbZ43Z5wcadPvNrb4xFXbgze | YAC:YHjjwLgjVfsnANTeb9eKeU3rtyKsFNvVCq | BQC:bUu1W2JEQzVrbFvv3EU4gW6KY2J939JDe1 | WDC:WTqa866TFP6d9HWGpYm2AztDNNMFmQ365s | FRC:1N2x7s8F78WiSFCFQPszLqhWsP6Kk1RXVp | NVC:4KcR3Dcmxz1ZDLK3VA9oHxpG4C3oYMCPeV | FTC:6ugwSRQNXQKNb5EVwQVn4CLoZNpiitiQzt | PPC:PSnEL3tmJejkdAAwiBLxSqbCide1voSKXY
emfox
Full Member
***
Offline Offline

Activity: 276
Merit: 102


View Profile
April 25, 2013, 03:04:10 PM
 #1611

Hello all.

First, I've set up a devcoin block explorer besides my seed node, it's accessable via http://d.evco.in/ and using code from ABE. I just spend several hours, so please tell me there's any mistake. (known: site a little slow, API may be unusable).

Second as you have noticed, I reg a new domain name (a little geeky name Smiley for my devcoin related stuffs (if there's any in the future). e.g. you could directly use http://block.d.evco.in/ to access the explorer, another example, for my personal convenience, I add a http://wallet.d.evco.in/ redirection to https://devda.ch/coins-wallet, and so on.

If you'd like to, please feel free to add your service to the subdomain, just send me a PM or an email.

Oh, forgot to mention, of course, the seed node also now accessable from d.evco.in:52333

Earn Devcoins by Writing
BTC: 1Emfox1WswYcd2YucUskRzqfRWKkcm1Jut DVC: 1Emfox1WswYcd2YucUskRzqfRWKkcm1Jut
IXC: xnRKo3qSDdcPJ4pgTLER3orkquUVQXeLwf
markm
Legendary
*
Offline Offline

Activity: 3010
Merit: 1121



View Profile WWW
April 25, 2013, 03:05:57 PM
 #1612

By the way you usually pronounce the ending d as a separate letter, instead of trying to figure out how to pronounce a word that happens to end in d: "mysql-dee", "system-dee", "bitcoin-dee", "devcoin-dee" etc.

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
FinShaggy
Full Member
***
Offline Offline

Activity: 196
Merit: 100


Google/YouTube


View Profile WWW
April 25, 2013, 03:08:16 PM
 #1613

Thanks for the clarifications guys Smiley

If everyone is thinking outside the box, there is a new box.
FuzzyBear
Legendary
*
Offline Offline

Activity: 1420
Merit: 1010



View Profile WWW
April 25, 2013, 03:50:32 PM
 #1614

Hello all.

First, I've set up a devcoin block explorer besides my seed node, it's accessable via http://d.evco.in/ and using code from ABE. I just spend several hours, so please tell me there's any mistake. (known: site a little slow, API may be unusable).

Second as you have noticed, I reg a new domain name (a little geeky name Smiley for my devcoin related stuffs (if there's any in the future). e.g. you could directly use http://block.d.evco.in/ to access the explorer, another example, for my personal convenience, I add a http://wallet.d.evco.in/ redirection to https://devda.ch/coins-wallet, and so on.

If you'd like to, please feel free to add your service to the subdomain, just send me a PM or an email.

Oh, forgot to mention, of course, the seed node also now accessable from d.evco.in:52333


gtz emfox, again nice work there Smiley i may pester u a little if that ok as i'd like to setup a blockexplorer myself for devcoin and just not had enough time to play with ABE to get familiar enough with it... take it u running it off a linux box?

***** Earn DEV at http://devtome.com *****
emfox
Full Member
***
Offline Offline

Activity: 276
Merit: 102


View Profile
April 25, 2013, 04:01:07 PM
 #1615

Hello all.

First, I've set up a devcoin block explorer besides my seed node, it's accessable via http://d.evco.in/ and using code from ABE. I just spend several hours, so please tell me there's any mistake. (known: site a little slow, API may be unusable).

Second as you have noticed, I reg a new domain name (a little geeky name Smiley for my devcoin related stuffs (if there's any in the future). e.g. you could directly use http://block.d.evco.in/ to access the explorer, another example, for my personal convenience, I add a http://wallet.d.evco.in/ redirection to https://devda.ch/coins-wallet, and so on.

If you'd like to, please feel free to add your service to the subdomain, just send me a PM or an email.

Oh, forgot to mention, of course, the seed node also now accessable from d.evco.in:52333


gtz emfox, again nice work there Smiley i may pester u a little if that ok as i'd like to setup a blockexplorer myself for devcoin and just not had enough time to play with ABE to get familiar enough with it... take it u running it off a linux box?

Yes, a debian box. ABE has not so much documents, but fairy easy to install. You should run your own devcoind first, It's the relative harder part, and then next is database. I struggled for hours with MySQL ... lol

Earn Devcoins by Writing
BTC: 1Emfox1WswYcd2YucUskRzqfRWKkcm1Jut DVC: 1Emfox1WswYcd2YucUskRzqfRWKkcm1Jut
IXC: xnRKo3qSDdcPJ4pgTLER3orkquUVQXeLwf
metazilla
Member
**
Offline Offline

Activity: 75
Merit: 10



View Profile
April 25, 2013, 04:15:41 PM
 #1616

Proposition
  • Hardcode current receiver files
  • Hardcode an Unthinkingbit's signing address
  • Create a new message type 'getrecfile', which only contains the height of the receiver file
  • Create a new message type 'recfile'

    • Height of receiver file -> var_int
    • Pubkey that signs the receiver file -> var_str (because of compressed/uncompressed keys)
    • Signature of the recever file by pubkey (signed message is Height+Receiver_file) -> var_str
    • Receiver file -> var_str


I like this idea, but agree with Mark that having a single signing key is a bad idea. It seems like modifying this system so the majority determines which are the correct files to use (eg. someone sends a "getrecfile", all the nodes respond with a hash of the requested file, the client chooses to download from one of the nodes with a hash that matches the majority of hashes). I can see a few issues with this though: 1) What if you're only connected to one node and it's a malicious node? 2) What happens when a new receiver file is created - if there's only one copy how can we determine if it's from a legitimate source?

This is why I suggested storing this data in the blockchain. Even just storing the hashes of the receiver files would work. That way no one would be able to forge receiver files, at least the old receiver files. And I guess you could store the signing key of the person who is intended to be the next creator of a file, so if they suddenly disappear there just isn't a receiver for that round (or also store a fallback signing key). Then have some sort of democratic system to decide which signing key gets to create a receiver file in 4000 blocks.

jackjack
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
April 25, 2013, 04:56:52 PM
 #1617

Proposition
  • Hardcode current receiver files
  • Hardcode an Unthinkingbit's signing address
  • Create a new message type 'getrecfile', which only contains the height of the receiver file
  • Create a new message type 'recfile'

    • Height of receiver file -> var_int
    • Pubkey that signs the receiver file -> var_str (because of compressed/uncompressed keys)
    • Signature of the recever file by pubkey (signed message is Height+Receiver_file) -> var_str
    • Receiver file -> var_str


I like this idea, but agree with Mark that having a single signing key is a bad idea. It seems like modifying this system so the majority determines which are the correct files to use (eg. someone sends a "getrecfile", all the nodes respond with a hash of the requested file, the client chooses to download from one of the nodes with a hash that matches the majority of hashes). I can see a few issues with this though: 1) What if you're only connected to one node and it's a malicious node? 2) What happens when a new receiver file is created - if there's only one copy how can we determine if it's from a legitimate source?

This is why I suggested storing this data in the blockchain. Even just storing the hashes of the receiver files would work. That way no one would be able to forge receiver files, at least the old receiver files. And I guess you could store the signing key of the person who is intended to be the next creator of a file, so if they suddenly disappear there just isn't a receiver for that round (or also store a fallback signing key). Then have some sort of democratic system to decide which signing key gets to create a receiver file in 4000 blocks.
1) If you're connected to only one node, you know you are vulnerable anyway so ignore the recfiles
2) That's the point of signatures

But we can't do just 'the majority'. It would be too easy to create tons of addresses that sign the same thing
We can do this though: each person has a set of signing pubkeys (possibly weighted) he will trust. His client will then ignore all recfiles from other people. Drawback: possible fork(s!)

I totally agree to store the hashes in the blockchain(*). Problem: someone needs to write in the blockchain, so:
  • Who? Surely Unthinkingbit, then community chosen
  • Can he mine himself special blocks? How can we know these blocks are really from him? His pubkey?
  • If not, does he have to convince all miners to put the hash? How can he send that hash? Email?
  • How can we make the client trust HIS blocks but not others without risking forks?
  • What if there's no receiver file in the block chain until we need it?



(*) but we still need to download the files. So maybe a mixed solution can be used: getrecfile+recfile which we can make non secure and just provide the file (then maybe getdata can be tweaked instead), AND hashes are in the blockchain

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
markm
Legendary
*
Offline Offline

Activity: 3010
Merit: 1121



View Profile WWW
April 25, 2013, 05:57:51 PM
 #1618

Okay lets start with "convince me it is broken".

As in "if it ain't broke don't fix it"...

Seems to work pretty good as it is.

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
Unthinkingbit (OP)
Hero Member
*****
Offline Offline

Activity: 935
Merit: 1015



View Profile
April 25, 2013, 06:12:19 PM
Last edit: April 26, 2013, 06:01:44 PM by Unthinkingbit
 #1619

Also if hard-forking is the only concern we can put an extra field in 'recfile' to allow a pubkey change (newpubkey+signature by current pubkey)
Not good enough; once the current signer gets run over by a bus it is too late to get them to sign over to someone else.

I agree, majority vote is being used to protect against the following:

1) The key holder being run over by a bus.

2) The key being stolen.

3) The key holder becoming corrupt.

Quote
We use majority right now, that seems more robust though also has its own potential weaknesses presumably.

It's weak when the tree is thin. To fix the fragility issue, when we make round 23 Fuzzy Bear is going to take my place in the peer list with devcoinpool.btc-music.com. Then we will make new receiver files 0 through 22 with the peer list replaced by:

Code:
http://galaxies.mygamesonline.org/receiver.csv
http://devcoinpool.btc-music.com/receiver/receiver_22.csv
http://devcoinblockexplorer.info/receiver/receiver.csv
http://devtome.com/files/receiver.csv
http://devcoin.darkgamex.ch/receiver.csv

Then the file admins will upload all the replaced files to their sites. Then the code to get the first file in receiver.h will be changed from:

Code:
stepText = getInternetText("https://raw.github.com/Unthinkingbit/charity/master/receiver_0.csv");

to something like:

Code:
string peerText = string("_beginpeers\n");
peerText += string("http://galaxies.mygamesonline.org/receiver.csv\n");
peerText += string("http://devcoinpool.btc-music.com/receiver/receiver.csv\n");
peerText += string("http://devcoinblockexplorer.info/receiver/receiver.csv\n");
peerText += string("http://devtome.com/files/receiver.csv\n");
peerText += string("http://devcoin.darkgamex.ch/receiver.csv\n");
peerText += string("_beginpeers\n");
stepText = getCommonOutputByText(peerText, string("0"));

Once that is done, devcoin will be able to bootstrap even if 2 out of 5 sites are down. In future roughly every time we double the number of file administrators, we'll rewiden the tree.

Unthinkingbit (OP)
Hero Member
*****
Offline Offline

Activity: 935
Merit: 1015



View Profile
April 25, 2013, 06:29:41 PM
 #1620

Hello all.

First, I've set up a devcoin block explorer besides my seed node, it's accessable via http://d.evco.in/ and using code from ABE. I just spend several hours, so please tell me there's any mistake. (known: site a little slow, API may be unusable).

Thanks! You got the third 2 share award for a devcoin block explorer:
https://bitcointalk.org/index.php?topic=34586.msg937183#msg937183

There is now one block explorer award remaining.

You'll also get 2/5 of a share as long as you maintain it. I added it to the list of devcoin block explorers at:
http://www.devtome.com/doku.php?id=devcoin_block_explorer

Pages: « 1 ... 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 [81] 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 ... 176 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!