Bitcoin Forum
April 30, 2024, 01:01:04 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24 25 »
261  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: July 08, 2015, 10:14:04 PM
Update Shirt:

- Dealing with firewall issues. Its really bad. Bitmessage has not worked in seven days and very frustrating.
- Network is down. Fixing that
- Implementing exchange (this is now high priority)
- Getting consensus from paper to working in golang
- Buying computer equipment
- Hiring people

There is a major issue with China/The Firewall/Bitmessage. Over half the ipo orders never went out. The messages were never sent or were not confirmed. Its not reliable.

I am covered in bug bites and havent slept in a while, so enough vacation and getting back to work now.

Also, this is a good example of a VPN in golang
- https://github.com/bigeagle/gohop

262  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: July 08, 2015, 10:07:51 PM
Do you have any release data for the project?

I am really keen to see this comes to fruition and just can't wait :-)))

Its already been released and running for two years now. There is a link somewhere to the builds.

The only thing left is hacking together the consensus server and then its "done" as Litecoin or Bitcoin. Or Ripple.

Update:

Short update. Longer update to follow.

Server has been down for over a week. Bitmessage has not worked since the 2nd. Getting this fixed.

I am dealing with great firewall issues. Ubuntu wont update. Website load or do not load. Pings to baidu are over 50 seconds sometimes for no reason. stunnel + openvpn give me 22 ms pings and then they go to 30 seconds to 50 seconds. Packet loss rates over 20% to 50% at random.

Ubuntu refuses to update some parts of the day because of DNS poisoning. When connection is established and it works, the download speed is 200 KB/s and drops to 5 KB/s once the gfw starts throttling it.

Whole parts of the internet around Singapore are considered inside the firewall and null routed or unreachable at random. China is blocking not only traffic in China, but traffic that transits through China (which seems to change minute by minute at random). uTox will not connect or was connected and disconnecting once every minute. UDP is being blocked as soon as tox establishes connection, dropping and then reconnecting when block ends. Gmail does not work. Google Play does not work. OpenVPN does not work so connecting to corporate intranet is impossible. Connecting to IPv6 servers is impossible. Nothing works. The whole internet is broken.

The Chinese internet is like driving through Libya.

In China, half the messages being sent out for IPO are not being received. Now I know why.

When I SSH into a server, it is fast and then either drops or slows to hell or if I am lucky gets throttled down to 20 KB/s and transfers that used to take seconds take days.

Google Chrome trying to autoupdate or access gmail, sending out a DNS request can trigger the other UDP connections and SSH session for every person on your router to slow down, disconnect or timeout. There are TCP reset packets being injected into streams for no reason.

Its like driving 60 miles per hour over a dirt road covered in bomb craters.

I have wasted a larger percentage of my life over past week waiting or trying to get basic internet applications working than ever.

I am going to try MPLS or cisco netsec tomorrow because they cannot/do not block those. I have no idea why the Chinese government paid Cisco for the hardware for intentionally making the Chinese internet worse than Africa. The only VPN software that works in China is Cisco IPsec, which was designed by an NSA standards committee to allow the US to spy on foreign corporations. All of the secure VPN protocols are blocked.

They are not blocking political sites. They could have just dns nulled and ip blocked CNN. This is not even "censorship", this is harassment. They are blocking the ubuntu update servers, ssh connections and corporate VPNs (except for Ciscos). The company that sold the government the hardware is terrorizing every corporation in China into buying and installing its shitty NSA backdoor unless they want their ssh connections to drop at random.

The wikileaks cables had instance of the US bribing people to install equipment like this in their countries. In China the government forces you to back door your network for a foreign power, if you want to use the internet or access github.

I literally had scripts that would pull things from github and the scripts went through on two virtual machine and two the of the repos failed on a third virtual machine. It is impossible to automate anything because you dont know if pulling a repo from github will get throttled to 2 KB/s and take a week or if the connection will just drop and it will fail.

"go get" is broken, because the packages are on google servers. The DNS request may fail, or the connection may fail, or it may go through and then fail from an injected reset packet, or it may go through and download quickly then go to 5 KB/s and take a week because throttling kicks in and some packages are blocked.

If you try to "go get" any module that pulls in a module that pulls in a module that pulls in the golang two-fish module, it fails with a cryptic error message and the whole installation script fails. Devops automation inside of the firewall is impossible because packages and software repositories cannot be accessed reliably.

HTTP connection are a crap shot and you just sit there hitting reload until the package shows up. If the page loads slowly, its throttled, so you just keep hitting reload until you get an unthrottled HTTPS connection and the page loads.

When searching for  error message I constantly get ERR_CONNECTION_RESET, ERR_SOCKET_NOT_CONNECTED and have to reload page thirty times until it goes through.

The Chinese government forces all its corporations and every major computer installation to install Cisco hardware, just to use the internet without connections to github dropping. They are blocking open source software like OpenVPN and the internet wont even function without Cisco MPLS and ipsec.

This is not "Censorship" which would be blocking political material. The only explanation that I have for this, is that the governments employees running the program are corrupt and being bribed by Cisco or the US government. Cisco has been caught putting backdoor access, secret remote administration accounts in all of their VOIP hardware and other devices. When you lock yourself out of the device you just call support and they have database and can remote access the device. These are called "customer support backdoors". RSA security had similar back doors in all of the keyfobs used to secure servers with two-factor authentication. Cisco was also caught shipping hardware backdoors to foreign countries. The wikileaks cables show countries getting bribed into installing backdoored equipment.

In the US, this type of blocking was never tried, even when commercial interests like the MPAA/RIAA pushed for it. The government was concerned that it would spark a crypto war and force communications underground. It makes it more difficult to perform surveillance and identify protest leaders and dissents, while having no benefit.

That is exactly what we are seeing in China now.

The VPN slow downs still let you visit the New York Times, twitter and text content. They just block github repos and make doing work impossible. No one inside or outside of China has any rational explanation that holds up to scrutiny.

Another reason, could be the way the Chinese internet is structured. In other nations, the internet is decentralized and companies are peered with each other in a decentralized network. In China there are four state owned backbone companies and lower level service providers are forced to buy bandwidth from the state owned providers. They are only allowed to rent bandwidth, not own the lines and not peer in a way that would allow competition for transit.

Quote
However, different from most of the non-Chinese Internet, the Chinese government owns and controls the access routes to the
Internet, and only allows private enterprises and individuals the rental of bandwidth from state-owned entities (Herold, 2011).

This allows the state to exercise a far greater level of control over the Internet in China than elsewhere, especially in combination with the few and closely monitored connections between the Chinese and the non-Chinese Internet (see e.g. Fallows, 2008), which mean that "China is not on the Internet, it's basically an intranet" (Sherman So as quoted in Fong, 2009). The vast majority of Chinese Internet users do not access the Internet outside China (Roberts, 2011), as it is plagued – from their perspective – with frequent time-outs, very slow speeds, and content in languages other than Chinese.

China may be dropping ssh connections and vpns, just because the state telcoms are cheap, have no incentive for providing good service and are not paid for carrying traffic out of China. They are only being paid by the people at the lower tiers, who are renting transit from them, but do not get paid anything for overseas data.

They appear to just be dropping traffic and packets at random. They may be dropping packets and terminating TCP connections to avoid having to pay for international bandwidth. Also the backbone providers are in competition and refuse to peer with each other for over-seas transit, driving up cost and duplication.

The traffic blocking appears to be centered on reducing bandwidth usage and stopping people from browsing Youtube, netflix and high bandwidth applications. Chat, twitter, gmail and political content is all accessible. Cloud file syncing, sftp, high bandwidth ssh, bitmessage, peer-to-peer, github, bitmessage is the only thing that has problems.

I think the "great firewall" and packet inspection hardware has more to do with cheap ISPs trying to save money by providing African speeds for overseas traffic when they would otherwise have to pay for peerage because of asymmetrical bandwidth patterns. All of the encrypted communications protocols still work.

The choice to ban openvpn while supporting ipsec, suggests desire to ration limited bandwidth to business users. I am not even sure this is "censorship" as much as it is an attempt at not upgrading or paying for traffic leaving country. The fact that github works one minute and stops working or is blocked or dropped at another, suggests this is aggressive traffic filtering and shaping.

Anyways, this is very frustrating experience. Dealing with the firewall made me aware of new types of software unreliability I had never experienced before. Getting work done is almost impossible until I get this resolved.
263  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: June 21, 2015, 03:28:05 AM
Link:

Open Source Bitcoin Hardware Wallet. This stores the keys on microsd card. It only does two things, store private keys and sign data with private keys. JSON API. Keys on device secured by password.

This is major step forward.

https://digitalbitbox.com/




264  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: June 20, 2015, 10:01:21 PM
Links:

Article on community currency.

https://www.opendemocracy.net/od-russia/daniil-dugum/anarchism-russianstyle

Quote
Or the example of Michael Unterguggenberger, mayor of the Austrian town of Wörgl, who issued his own Wörgler Freigeld to save the town from bankruptcy and build a series of public projects over a 13-month period during the Great Depression. After a few years, though, when dozens of other Austrian communities had become jealous of their neighbour's success and decided to replicate the idea, the national bank banned the Freigeld, frightened by the threat to its monopoly.

Likewise, the Bashkirian sovkhoz (state farm) of Shaimuratova responded to the financial crisis of 2008 by issuing its own currency – shaimuratiki. According to the project's initiator, economist Rustam Davletbaev, local currencies can channel unexpressed 'demand' (usually ignored by the market) in the sense that it allows people who want to buy goods (but have no money) to use their own goods or skills in a local system of exchange.

Unfortunately, though, while everyone in Shaimuratovo liked the idea, the local Prosecutor's Office didn't. The fight for shaimuratiki continues, only now at various courts.

265  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: June 13, 2015, 11:57:59 AM
No development on Github for a very long time.

The coin is done. We are working on networking. There are three different groups working independently on that and its not on github yet.

The coin needs
- database for storing blocks
- database for history
- gui improvements
- misc improvements (the blockchain does not save on windows when closing)

We have to move on to next part to keep schedule. Then new people can work on coin improvements. The improvements are marginal at this stage and could take up almost all the project resources if we only focused on that at this stage. Once all the IPO coins are distributed, there are whales with development teams and experience with previous that can handle a lot of this. Including creating website and marketing.

Development Priorities:

Right now, Skywire is blocking next stage of project.
- Skywire is like Tox, tor, I2P or CJDNS in that a hash of a public key becomes and endpoint for communication.
- Each Skywire server is connected to other servers in a fixed topography
- Data between Skywire servers is encrypted
- Skywire servers can forward traffic along a route

Ideally, I want to be able to
- unzip file with a Raspberry PI distro on it on sd card
- set a "master server" public key in a text file in the root
- plug in and boot pi
- pi should generate its public key/address on first boot and communicate back to master/control server

If the PI is behind a firewall it will connect to some default public servers, so can connect to it even if incoming connections are impossible. Then it will be accessible to network. Then I can modify the pi or change configuration or see its connection topology through some master interface.

So I should be able to setup and control two or three hundred nodes will this system. I want to be able to SSH or get terminal on the remote nodes. The set of nodes you control is your "personal cloud".

We are starting with debian but moving to seL4 once we get team in place to work on this. The seL4 kernel is the fastest and most secure linux kernel and uses about 30 Kb of memory and boot time should be less than a second. The code base is 30,000 lines, very small, very fast, no closed source binary blobs.

Applications:

There will be "applications", which are golang directories of source code, that contain everything (all dependencies). I should be able to compile the application (eventually deterministically) and then deploy it on a remote node.

Applications will get one directory for configuration, one directory for data and one directory source code. They will only have
- networking (through Skywire)
- storage
- CPU/computation

- Applications will not be allowed to spew data across the hard drive in random directories like linux programs
- Pigeon will not be allowed to put data under .config of .local, .cache or .purple or unrelated directories
- Applications must be portable and capable of being backed up or moved from machine A to machine B.
- applications should not need to be able to access data in other applications directories by default (a bad app should not be able to steal your bitcoin wallet or scan your drive or overwrite executives in other directories)

Wifi:

If a node has a wifi adapter, I should be able to deploy an application to scan for other skywire wifi nodes and auto-connect to them and peer.

Long Range: Emergency Communications Network

I want a hardware module for HAM radio. There are modules for this in China. Or may us Baofeng. They are relatively cheap.  136-174 MHZ to 400-520MHz bands.

This is for communication during emergency at low bit rate. Emergency communication (SMS type). This project is ASAP priority.

I do not know if the bandwidth will be 5 bits/second to 300 bits/second. Up to 500 Kb/s

http://hackaday.com/2013/02/28/hacking-a-ham-radio/
http://sdrformariners.blogspot.hk/p/blog-page_28.html
http://sdrformariners.blogspot.hk/2014/02/shootout-shortwave-for-50-dollars.html

I need system that is just plug and play and takes less than five seconds to start working. Has to be commercial parts and ready for shipment. Should be able to update the software remotely with the above system. The faster this gets built, the faster the bugs can be worked out and hardware improved.

Hardware Wallet:

I also want a raspberry pi node that has a 3" or 4" touch screen, that can be used as a hardware wallet



So you would have computer (possibly insecure), communicate back to this. Then approve transaction on the device.

I want to be able to check Bitcoin balance through lib-bitcoin (get unspent outputs for address and inject transactions). This requires zero-mq to connect to lib-bitcoin server. Also requires extension to skycoin crypto library to allow construction of local bitcoin transactions. This is planned out but needs resources.

File Storage:

I should be able to do "OwnCloud" type file storage on the nodes. This can be simple golang server with RPC with
- list files (inode record)
- read file
- write file

SOCKS5 Proxy / VPN:

I should be able to deploy an application that lets me connect out of the node to the normal internet. I should be able to tunnel my traffic over Skywire to the exit point. This is a sort of replacement for OpenVPN.

The GUI needs to look like this




Consensus Algorithm:

The consensus algorithm is done. I can do ghetto version with cryptographically signed CSV files on webservers and just poll servers every second. It is not that exciting.

To do it right, it is bottled necked on Skywire. The network connections right now (TCP) are asymmetric (can connect out of firewall, but people cannot connect in) and still based upon IP addresses instead of pub key hashes. So until Skywire is working/designed at basic level its very difficult to run/test this.

I proved mathematically that as long as the user graph has certain property, that it converges.

Misc:

I have servers and they are behind a NAT router, which is daisy chained to another NAT router and I cannot SSH into them. The router configuration is hell. Then the IP address for the servers changed. I could run CJDNS on the severs, but its frustrating to configure/setup for more than a single server. It draws in a huge number of dependencies onto raspberry pi.

I want to be able to copy/paste to the drive, plug it into the server, have it boot and then been able to connect to it instantly and deploy applications on it easily. I only want to care that it is connected to the internet, I dont want to think about the IP address or firewall. I just want to plug it in and not have to think about it or configure it.

So this is moving towards "How computers should be".

Another frustration, is embedding a file system in a file. You can do this with truecrypt. I just want to have a file (an array of bytes) on disk and mount it as file system. You can do this through FUSE in golang and then have golang RPC server with "get file list, read file, write file" 3 command RPC that exposes the file system over the network.

Something like encrypting the file system should just be "take pass phrase, run key derivation function on it, ChaCha20 the blocks using the key".

I need to be able to deliver the same package/application/files to a large number of nodes. It has to be standardized.

If I plug in a flash drive to one device in my network, the file system should show up instantly over the network from the master server, under that device.

So things that should be very simple, that can be very simple (embedding a filesystem in a file, encrypting it, exposing it over the network) are frustrating. I cant have 15 computers and 300 servers if I have to do this amount of management/configuration. 100% of time would be spent in administration.

So these tasks are being vertically integrated into the skycoin toolchain. The first thing that was stripped out and integrated was the cryptography, so that there were no external dependencies. The next thing was Bitcoin address generation. Now checking unspent outputs and injecting transactions into the Bitcoin network needs to be integrated in (lib-bitcoin, zeromq). Networking needs to be integrated in (Skywire, own namespace, plug it in and just works).

The kernel/operating system and devices for nodes needs to be highly controlled and cannot be more complicated than copying files to an sd card, then putting sd card into arm device and plugging it in. It cannot take 30 seconds to boot. It cannot have 800 MB of shit. It cannot stop working after three months because its logging to SD card and fills up the disc and kill itself. Everything needs to be stripped out.

So each of these things, is being outsourced right now. There are some short term contract type assignments and longer term work and then research work.

Skywire is the next step. Then I need a raspberry pi distribution for skywire that I can just plug and play. So the objective is to get people in place, to make steady progress towards the goals we can complete with the current infrastructure and continue extending the infrastructure.

Links:

This is saicoin. This is decentralized file storage where you rent out storage. This is in golang and its interesting to look at the code.

http://www.siacoin.com/
https://github.com/NebulousLabs/Sia

This app is very limited but interesting.

266  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: June 07, 2015, 04:55:13 AM
Update:

Here is benchmark of the Skycoin consensus algorithm and rounds to convergence vs other voter based algorithms.



I think there is an improvement, but current method out performs all methods in literature that we have found so far. The important part is that it converges rapidly in a small number of rounds (less than 10 or 20) and that it does not get stuck in a non-convergent state.

Sznadjd and naive voting sometimes do not converge in 40 rounds. This means network gets stuck in particular state and does not converge. The Skycoin consensus algorithm avoids getting stuck, which is good.

5 rounds convergence, means that if round trip time between California and Japan is 200 millisecond, 5 rounds is about 1 second. So average block times can be as low as 1 to 2 seconds, for this network topology (the wikipedia voter data set).
267  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: June 02, 2015, 12:37:07 AM
Update:

People are trying to destroy Bitcoin. Gavin and Gmaxwell have made statements about being discouraged or threatening to leave project. I believe there is a group trying to destroy Bitcoin from within. They are pushing for standards and changes that will weaken Bitcoin. They have to get the good people forced off the project and get people under their influence into place. So getting rid of objective people who will fight against objectively bad decisions and are difficult to manipulate with bullshit, is necessary. No matter how many times it is explained with logic, why the decisions they are trying to make, are bad for Bitcoin and in fact unnecessary, they keep pushing them over and over and over again. They are going to grind their opposition down until they give up.

There is going to be a major financial crisis by September or within the next 24 months at the latest. After the last financial crisis, we saw a major uptick in Bitcoin activity and I think they want to get rid of it if they can, sometime during the crisis.

I think there will be attacks on mining pools, 51% attacks, attacks in media to discredit Bitcoin and internal conflicts and fights to split the community. I think the major mining pools will be bought out also and there will be fights to control them.

I am getting conflicting information. I think there is a group that wants to take Bitcoin out and another group that wants to control the pools to stop coins from being dumped and do a major pump and runup, like we saw with gox using fake paper dollars to buy up coins to send price up, before imploding.

I think many of the exchanges are running fractional reserve (they only have a fraction of the Bitcoin they say they have) and they will claim they "were hacked" and the coins stolen. People are buying Bitcoin that dont exist and it is creating "paper Bitcoin" that is suppressing the price. This is the same scam that is used to rig gold prices.

Wall Street and regulations are about running scams. There was company doing derivatives trading strategies and they place an order and before the order is placed, another company gets to see their order and gets to bid the price up/down and front run people on an order by order basis. The company had a strategy that was returning 20% per year, but lost all its profits on "slippage" from being front run. The regulators approve. That is basicly how Wall Street works. Its just a legalized scam.

For gold, there are companies that hold physical gold and can sell multiple units of paper gold per physical unit. So they buy $100 in gold and then can sell $500 in paper gold. So all the physical gold ends up with a small number of special companies and when gold prices go up, they have to cover their positions, so they pound the market with more paper gold to keep the price down. Then when fiat and whole economy collapses, the paper gold people are left with worthless coupons, the gold has "disappeared" without changing vaults (the collateral is tiered, so in insolvency a shell corporation ends up getting the physical ahead of the paper gold holders) and they end up with all the gold and everyone else gets nothing. So you buy gold with dollars. They buy gold and can immediately resell it on paper, while still owning it, to get their money back. It is just a giant fraud.

So if you have Bitcoin, keep them in wallet and try to minimize the balance you have on exchanges.

There have been at least two documented examples of DEA agents or other agents writing themselves warrants (possibly under the FISA court) and going into hosting companies for an "investigation", getting access to servers for an exchange and then stealing all the coins from the exchange.

The good news, is this will be great for the alts in the long term. They are playing whack-a-man. Two or three dominant coins will have to rise and be destroyed, before we see something that is going to survive in the long term. I think Bitcoin could bounce back immediately and that the effect of the attacks and panic selling may be underwhelming.

The attempts at splitting Bitcoin apart, will move a lot money into the alts. The hardcore people are already to move on, which will be good for people who choose the right coins early.
268  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: May 30, 2015, 06:18:40 PM
Update:

Doing security stuff still.

We are standardizing on an L4 kernel variant called seL4. It is a microkernel which takes ~30 KB of ram and has been formally verified. This is the fastest running kernel and also the most secure. It has about 30,000 lines of code compared to the Linux Kernel's 15 million lines. I want to get this running on a Raspberry pi.

seL4 will work with phone (ARM), Raspberry PI, server or desktop.

I think we will use Genode distribution. It has support for Armory/ARM thumbstick computer. These should be ~$8 or an equivalent available soon. Or can use a raspberry pi.



I want a standardized distribution, that is locked down and can run the Skycoin tool chain and communicate securely over network.

This will give a secure storage/execution environment for Skycoin nodes, communication and key storage. Then will allow deployment of "applications".

I think for windows users, we will just release a small Tinycore that runs in the QEMU emulator (its like Virtual box). Then windows users can have full execution environment and run from source.
269  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: May 10, 2015, 08:21:14 AM
Development Update:

I hate computers.

I am trying to do something very simple. I am trying to get the balance of a Bitcoin address against a remote server, from Golang using a thin client. It is impossible. I have to write the server/client and wrap libbitcoin because it does not exist.

In Skycoin, I can go

http://skycoin-chompyz.c9.io/outputs

And I can see list of output for all addresses against a remote full node and get the balances for addresses instantly.

If I am a merchant and I need a thin client, to check addresses for balance changes, I
- keep a counter (integer) for last block I have seen
- I query http://skycoin-chompyz.c9.io/blockchain and look at "seq" (the block height)
- If I have only seen blocks since 160 and it is at 165, then I get the next block with http://skycoin-chompyz.c9.io/blockchain/block?seq=160 and I keep doing this until I am at the head. I scan each block for transactions I am interested in.

So in Skycoin, I can keep a map of addresses that I am watching for incoming transactions, then I can "walk the chain" and pick out those transactions with a thin client. I can have a billion addresses on the watch list and the map lookup operation is constant time.

In Bitcoin, I am just screwed only thing that has come close to enabling Bitcoin to be usable for developers is libbitcoin and there is not a golang wrapper yet.

I expect the bitcoin client to be hacked. It is going to be buffer overflow attacked. So I want the nodes running the full nodes to be separate from the the user wallets (which should be able to operate as full nodes or thin clients), so that an intentional OpenSSL bug does not loot the Bitcoin private keys. I should not have to run a full node to get balances and inject transactions.

The best solution is to wrap libbitcoin (address unspent balance check and transaction injection), then expose that over a golang RPC. So we can have nodes that are exposing a golang RPC thin client interface. Two functions "get unspent outputs for these addresses" and "inject transaction". Then we craft transactions and handle private key storage on the local computer. This is exactly the same as electrum architecturally but would be a programmatic API that other applications (like the Skycoin wallet) can use.

We might be able to do a libbitcoin RPC in golang. There is very little documentation, but someone is looking into that.

Why we need this:

This infrastructure is required for several things
- we can generate bitcoin addresses deterministically with `go run ./cmd/address_gen/address_gen.go --seed="passphrase" -n=3 -b`



- If you change n, you can generate as many or as few addresses/keys as you want
- if you put -b, they are bitcoin addresses, if there is no -b, they are skycoin addresses
- if there is no --seed="" it will generate a 256 bit seed for you

So we can generate addresses, but cannot check the Bitcoin address balances or send from them yet. As soon as this is done running a brain wallet will be
- pull from github
- run command with pass phrase, then can do balance check and send (in Bitcoin or Skycoin)
- there may be a terminal gui type interface (golang termbox or other terminal interface libraries)

This toolchain completely eliminates the need for wallet files or computers for transporting Bitcoin/Skycoin.

This is being designed to run on portable open source ARM software/hardware, like a raspberry pi. This will be even easier once the crypto library port to pure golang is done. So this tool chain should enable secure hardware wallets. There will be $9 to $20 single chip ARM computers that can run the tool chain soon.








A hot wallet would be loaded from a deterministic wallet seed, then discard the seed and only retain the private keys/addresses. A cold wallet device would load the seed from a secure input device, load keys into ram, do operations (check balances/send) and then forget everything.

Yesterday we throught "it should only take 20 minutes to build one of these devices", but we cannot, because bitcoind is missing API functions and there is no golang library that has them.

We have the private keys, we have the address, we need to
- get the unspent output set for the Bitcoin addresses
- create a Bitcoin transaction, sign it with the private keys, dump it as hex
- inject the transaction into the network

We cant even do that without writing new custom software. This is insanity.

If anyone knows where the documentation is for the libbitcoin zeromq interface wrapper, that would help.
270  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: May 08, 2015, 01:56:23 AM
Is there any use of running "full nodes" or w/e they are called in Skycoin, i.e. running the client with port 6000 open?

Yes. PM me your node IP address and I will add it to the default list.

Skycoin has two modes of peer-to-peer connections
- DHT lookup
- PEX

DHT is disabled by default now and pex is disabled until there is time to fix issue. DHT was too slow and didnt work well.

PEX works very well but peers are exporting ip addresses, even if they are unable to connect to that IP address with an outgoing connection because of firewall, so it was slowing down time to connect to network to unacceptable levels, because vast majority of clients did not have an open port for other peers to connect to. Peer exchange over PEX needs to be refactored, so that there is an exponential backup for failed connections and so failed connections are not constantly readded to list of peers by PEX messages. Then PEX will be re-enabled.

The more full nodes there are, the most copies of the blockchain and the more robust the network. However, we have found that any P2P system is going to end up under sybil attack. We believe, from the Bitcoin node statistics that the network has been captured and that less than ~5000 nodes control block and transaction propagation already.

The number of full nodes is suspiciously constant and does not vary with the number of users running the Bitcoin client
https://getaddr.bitnodes.io/dashboard/

There is a cloud of sybil nodes and they only refer you to other nodes in the sybil cloud. They will never give you an address of a client outside of the set of attack nodes. That is the situation Bitcoin appears to be in, but its not clear.

To deal with this, in Skycoin, we will do a mixture of hard-coded network links between nodes (allowing users to have preferred peer lists, that users can edit by hand) and peer-to-peer connections, to augment the network. The objective is to prevent the sybil nodes from controlling propagation of transaction, block and consensus propagation.
271  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: May 08, 2015, 01:45:27 AM
Update:

The coin is basicly done. Other people can come in and polish up the hundreds of other things now. There are two developers working on front end and api, so will speed it along. Nothing else that is absolutely critical and not incremental needs to be done. There are still hundreds of small changes, improvements, refactoring to be done but it can be ignored for now.

After the IPO receipts are done, then schedule is cleared for consensus implementation and meshnet/darknet.

This is the CJDNS networking stack



Skywire is similar, but is simpler.

The Skywire networking is designed to be "modular" in the sense that it can be torn apart.
- the routing algorithm in network can be swapped out/changed, its source routed
- the TUN adapter is just an application on top of the base layer
- multiple-homing and multiplexing is handled at higher level and can be changed or controlled by application
- settlement and payments for bandwidth

There are a large number of pieces. The objective is get them working at the ghetto level, even if they have to be centralized. Then people can fix or improve them later. Then we can move on to the next part. The crypto/blockchain had to be perfect, but now we can shift back to cowboy development.

We built most of the infrastructure for internal usage and not for some abstract purpose. We tried doing ICO/exchange with automated bot over bitmessage, tox, xmpp and I was not happy with any of the solutions. I just wanted to be able to put in a public key for a node, connect to that node and be able to send bytes. We had
- reliability issues. Direct connections from Russia/China/Hong Kong through Europe and North America were failing and connections from US to China were constantly connecting/disconnecting. The reliability of direct routes between nodes on the IP namespace seems to be decreasing and was never 100%. Many users have reported that CJDNS has higher reliability than IP because it is not reliant upon direct paths
- connecting all nodes to VPN was failing because of DNS failures. Dependence upon DNS resulted in dropped/timed out connections. Failure requiring restart by hand with RTNETLINK answers: Operation not permitted Linux route delete command failed: external program exited with error status: 2
- Bitmessage could not send more than one message every five minutes. Bitmessage was completely taken out by flood attack during a period when we were testing it. Message latency was in minutes, compared to real time
- TOX worked very well, but the programmatic API for golang was lacking and did not work for a full month. After the API was fixed, worked but then connections between the North America and China keep connecting/disconnecting.

So the requirements are
- multi-hop (unix-to-unix copy, source routed)
- link layer encryption between nodes
- no reliance upon the DNS system
- own namespace independent of IPv4/IPv6 (which is only used for transport)

There is someone implementing the basic protocol now. Then once we have length prefixed packets flowing over it, then we need to
- add a golang TUN adapter, so we can tunnel VPN connection over it and use it like a VPN.
- need to use add wifi controller library to scan for local nodes and connect automatically and form links (fixed connectivity meshnet functionality)
- need routing algorithm that will scale. While the network is 10,000 nodes, then any routing algorithm is fine.
- get coin payments for transit setup. Then people can get coins for reliable links out of difficult countries
- get "pirate box" you can just plug into ethernet and connect to a bunch of nodes in network and start relaying traffic and provides open access wifi connection over skywire

Once the software is useful, then there will be non-speculative capital inflows.

I dont think end-users care about software quality as much as usability and that it works. It does same thing and has same reliability, but it costs 5x the mental effort and frustration for developers. However, if you are building foundation for larger system it is important. I think we should go on rampage of implementing new things and ignore technical debt/refactoring for a while. As soon as something is working, just move on to next thing instead of improving or refactoring already working components. Then refactor and move things around later.

Then there loose ends that are frustrating. I want to get the ECC cryptography completely in golang, to enable cross compilation for windows/osx/arm/linux, however this will require a significant testing and will require auditing and fuzzing again.

This is a very incremental process. I am moving towards being able to run brain wallet on a raspberry pi and have a remote lib-bitcoin node and be able to check balances and being able to process Bitcoin/Skycoin transactions from that. I am also moving towards, being able to run skywire on a raspberry pi and connect the laptop to the ethernet port and have all traffic for laptop tunneled over skywire, in hardware.

Rant:

I think OP redecentralize is heading towards secession from the existing internet.

Computing is moving away from spatial localized storage and processing, to computations that exist in an abstract mathematical space that governments cannot control or shut down anymore than they can regulate the integers. If f is a computation and, X and Y are data, and f(X) = Y and the computational/program f has serialization F, and H is a hash function of data to a hash, then any two computers computing f(X) will receive the same Y. This computation can be described by a tuple of 3 hashes, (H(F), H(X), H(Y))

If someone give you the hash H(Y), you can look in your local hash for that data and if you do not have it, you can go to the network to find someone who does (a distributed key-value store, distributed hash table). If you want to verify the computation then you get the data F and data X, from hashes H(F) and H(X) and then compute f(X) and verify that H(f(X)) = H(Y). This is a functional or algebraic representation of procedural computation.

There is a set of all data, which contains the Xs and Ys and serializations of the computations applied to them and network of N computers and each computer has a subset of the set of all Xs and performs a subset computations. There is a "global" computer which is the union of all the data and serializations of computations (functions that can be applied to the data) across all the computers in the network and there is a projection from the global computer to localized computation (a single CPU/memory/communication unit) which only has a subset of the state.

Urbit and Nook were the first systems to head in that direction, but also the piratebay after it was seized. The data delocalized from physical space. It is now moving to bitorrent sync and eventually IPFS.

When you make a request to the piratebay, there is a database D which is a collection or set of objects D = (X1, X2, ...). The url is a function (a deterministic, procedural computation in a subset of C) f, that when applied to D with some parameter returns a webpage. You may even augment the data structure storing D, with some extra structure, such as an index to allow efficient lookup of entries or computation of the returned page. If the user has a copy of D, then they can perform the function F locally, instead of doing it against a remote server and result is the same.

The database D starts as the null set of data objects, then a succession of transactions, creating and modifying data objects is applied against it. This is essentially the "blockchain". A snapshot against the database can be stored as you serialize D to a byte string and then hash it. So you can either start with the null set and then apply each transaction against the state since genesis, or start at a snapshot and then apply the transactions after the snapshot. To propagate transactions or snapshots peer-to-peer across the network, such each node is pseudo-anonymous you need a criteria for acceptance of a transaction, to prevent malicious nodes from spamming junk or conflicting transactions. This is something like "the hash of the transaction is signed by the owner of the database". If there is a total ordering of transactions (maps from the state, to a new state), this is equivalent to the blockchain.

Modifying the database is the application of a function f, that maps the database from its existing state into its new state (also called a transaction). In the abstract functional space, where data is identified by the hash of its serialization, where functions consume multiple data objects in the database and output multiple new data objects in the database (collection of data objects), then the set of data objects and set of transactions on the data objects forms a directed bipartite graph. With an arrow from a data object to a transaction if the transaction consumed that data object, and an arrow from a transaction to a data object if that object was created by that transaction.

In other words, Bitcoin and the Piratebay are basicly the same mathematical object. Its just a distributed NoSQL database in a functional space, where transactions are functions on the data of the collection of objects. "Consensus" is the problem of resolving writes or consumption by two separate transactions that "spend", consume or input the same data object, such that if one node admits a transaction over another choice, all other nodes will admit the same transaction.

There are two types of maps/functions
- maps that are actions on the state of the program itself, which when applied to the program/node/computer map it from an existing state to a new state. These are procedural computations. These can be database writes, lines/statements in a C program within a function, functions called within a C program, database transactions, bitcoin transactions, POST URLs. This is the action of a computation.
- maps that are functional and return one or more values from the state, but do not modifying it (do not map the state to a new state). These are pure functions. These can be functions that return JSON from a database (a url handler), compilers (functions that map from source code to an executable), checking the balance of an address, GET URLS. These types of function describe the application of a procedural program to serialized data or state and the returned result.
- there are composite functions, such as a function that computes a value from existing values and makes an assignment to a new variable. The calculation of the value is functional, but the assignment operator is an action on the program state.

A node/computer has a state S and a computation f is just a map f: S -> S. The application of a function that could be called on the node, is just a map from the state to a new state. If two functions commute f*g = g*f, f(g(x)) = g(f(x)) for all x in S, then this corresponds to notion of parallelism of concurrency. The execution of each program can be considered to be series of actions applied to the state, f1, f2, f3, f4, etc...
- if two lines of a C program are treated as functions on the state of the computer, mapping it to a new state, then if the functions f,g commute it means which operation is carried out first and which is carried out second, does not affect the program state. It suggests they can be carried out in parallel (can be computed on the same clock cycle) if the program is restricted.
- two goroutines may each awake when data comes in. The action of the respective go routines are f1 and f2. If f1*f2 = f2*f1, if the action of the goroutines on the program state can be shown to commute, then the program state does not depend on the order which the two goroutines execute
- at the source level, if there are two C source files with macros, then commutation of the actions means that the evaluation of the macros does not depend on the order of inclusion of the source files

If an execution of a program is a series of actions on the state, f1, f2, f3, f4, then there is a partial ordering defined by whether swapping two actions changes the composite map. This is a dependency map for data flows and its structure the ultimate limitation for automatic parallelism, it is useful to draw a diagram for a normal program, for program with goroutine, then for a GPU with a two stage vertex/texture pipeline that takes in a texture and list of vertices and returns a 2d pixel array. For the GPU shader, you can draw the dependency graph at different layers of granularity, with projections between the layers. Programs appears to have a strict hierarchy of granularity enforced by the memory model and actions at each level correspond to different granularity of computation.  

The summary is, that I think there is a language that has the same syntax as C (a hyper minimalist version of C), but which formalizes what bitcoin/skycoin are in a categorical aesthetic. A function has a representation as machine code (an executable form, or action) but also as a textual form (a serialization as bytes) and an algebraic form (a declarative objective in a functional space that can be reasoned about). A skycoin transaction is both json and a serialized struct, with an isomorphism for converting between the machine and human readable forms.

If f maps from skycoin transactions as struct to skycoin transactions as json, a g maps between json and struct, then the composition f*g = identity and g*f = identity.  f(g(x)) = x for all valid x.  

Also, although transactions are structs they have representation as bytes (reification for transport over wire), they are actually functions. A transaction is a function applied against the unspent output set, that consumes outputs and creates new outputs. A block just contains an array of transactions (which must commute with each other). The fact that transactions commute, means that two transactions cannot spend the same outputs. If the output set is ordered, it also means that a transaction cannot spend an output created in the current block.

So when I look at
- Golang (reflection, reification,  CSP, multiple return)
- Docker (determinism, minification and reification/serialization of execution environment)
- IFPS (spatial delocalization of data)
- Nook/Urbit
- Skycoin
- LLVM
- NixOS (linux with declarative/fuctional package manager, deterministic package builds)
- Tox (public key hashes as communication endpoints)
- Cloud computing / CoreOS (creation and deletion operators for computation devices in a set (spawn instance, shutdown instance), standardized computation/storage objects as a communication endpoint, )
- etc...

I am seeing a definite move of computing towards a categorical aesthetic. In each of these projects, existing things are being torn apart and reconstructed at a new level of modularity, through simplification.

Many people are distracted and fixated on the wrong things.

For instance, people were fixated on a single aspect such as "charging by the hour" for computing resources for cloud computing. When there are multiple aspects, that were more important.

Aspect 1: Creation/Deletion operators in cloud computing
- there is a set of computer/memory/communication objects (call them nodes)
- there was an operator that creates a new computer/memory/communications object and adds it to the set
- there is an operator that destroys an existing computer/memory/communications object and removes it from the set

Aspect 2: Agoric Computing
- renting out computation/storage by hour/minute. Fungibility of resources

Aspect 3: Separation of Storage and Computing
- the place data is stored for processing and what its written out (S3, NAS) is independent on the computing nodes
- spatial delocalization of data


For Bitcoin, the two aspects were

Aspect 1: Spatial Delocalization of Data
- each node had copy of blockchain and ledger.
- The blockchain exists as a monad in an abstract mathematical space, independent of any of the spatially existing nodes in physical reality.

Aspect 2: Determinism of Computation
- each node, could derive the same balance and state, given the same data (blockchain) as input

Aspect 3: Consensus
- each node ran a process, where every node arrives at the same blockchain (the consensus chain) through a process of communication

Bitcoin accomplishes #2 as best it can, within the language limitations of C/C++. Bitcoin accomplishes #3 in a resource intensive process that is still spatially localized. So Skycoin is a movement of Bitcoin closer towards the category theory aesthetic.

Bitcoin/Skycoin, is in some ways a movement towards an algebraic or categorical aesthetic for money, just as Nook, Urbit and a are a movement towards a categorical aesthetic for computation.
272  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: May 03, 2015, 03:24:28 AM
Here to download wallet client: http://128.199.188.22/

Excuse me i try to open the wallet but it is not working
Address_gen and Skycoin.exe nothing happen, what to do please?

Open it and then set web browser to

http://127.0.0.1:6420/

http://127.0.0.1:6420/blockchain/blocks?start=0&end=500
http://127.0.0.1:6420/blockchain
http://127.0.0.1:6420/blockchain/block?seq=0
http://127.0.0.1:6420/outputs
http://127.0.0.1:6420/transactions
http://127.0.0.1:6420/network/connections

Make sure you have at least one connection. Also make sure that seq in /blockchain is over 130 . That is head of current block

Notes:

/outputs shows the unspent outputs. Those are what your transactions spend. If you have 20 coins in an an output, you send someone 15 coins and send 5 coins back to yourself. So the output is consumed and two new unspent outputs are created. This is much cleaner than Bitcoin.

The /blockchain/blocks shows you json for the blocks. The block header just wraps and array of transactions. The transaction json representation is isomorphic with the binary serialization. You can convert back and forth and get same result.

Skycoin technically does not need a blockchain and does not even need consensus to operate. It does not need a total ordering over blocks or transactions. You can technically use a partial ordering over transactions or the transaction/output graph forms a directed bipartite graph (arrows go from from outputs to transactions spending those outputs and arrows go from transactions to the outputs they create) and you can do consensus over equivalence classes on the directed bipartite graph. The Bitcoin transaction graph is a multi-graph and Skycoin's transaction ledger graph is a directed bipartite graph so its much cleaner mathematically.

The third generation of Skycoin may not have a blockchain or "consensus" and just operate on the equivalence classes of the directed bipartite graph, but havent decided yet. As long as you do not create two transactions spending the same output, then local and global consensus are same. You only have to resolve problems when two transactions spend the same outputs and each node needs to decide which transaction to accept/reject. As long as every node in network comes to same decision within finite time period, then its ok. In this model the consensus choices are not on the tree of blocks, but choice between transactions that have intersecting sets of unspent outputs they are spending. The default behavior for non-pathological transactions is just to accept them. Problematic or conflicting transactions or double spends do not affect users at all, not involved in the double spend and the outputs created from the conflicting transactions would be frozen until issue was resolved. Transactions trying to do retroactive double spends (spending outputs that were already spent, more than 30 seconds ago) would just get rejected and not create problem. I call this "ghetto coin" or "simple coin" because it strips out everything from Bitcoin and reveals that mining or blocks are not even needed. This opens up problem of figuring out set of all nodes on network and doing an "audit" to make sure that they have the same output set, so you can be confident your unspent outputs are uncontested, but in general as long as you are only doing with trustworthy users with secure private keys, there is no issue. Its very easy to just kick cheating nodes off network, if they violate the timestamp rules and try to retroactively revert consensus. This would be major change, but may be worth doing. Will have to see, after global block level consensus is implemented, if it is worth doing.

Also in Skycoin, you also do not need the full blockchain. If you know the unspent output set, the header of the last block, then you can start running the client and process the next block. Blocks are designed to be small and frequent. A few seconds instead of 10 minutes, so the network should only need 2 to  5 KB/s maximum to operate. The maximum Skycoin blocksize will never be more than 10 KB. The network is designed to scale out in other ways (off blockchain transactions). Nothing in the Skycoin code base uses the old blocks or transaction history. They just sit there on disc, inert for historical purposes (eventually for transaction history and blockchain explorer).

There are no hash collisions in Skycoin because there are no duplicate coinbase outputs and hash collisions are checked for. So this is massive cleanup over the Bitcoin codebase and system. The transactions are also ledger portable, so the can just be copied over to new ledger, keeping ownership of assets intact.

The codebase is in Golang, so there are no buffer overflow attacks. Future changes in code base can cause your client to crash, but cannot introduce a bug that allows your wallets to be stolen or computer to be hijacked. In Bitcoin, the client is in C++ and any library or change to code could introduce buffer overflow that allows your coins to be stolen remotely from network. Skycoin's cryptography is also self-contained, where as Bitcoin relies upon OpenSSH, which is notorious for having bugs and intentional backdoors and Bitcoin has already been burned several times by OpenSSH changes.

We also have a local web-wallet. The server for the web wallet is hosted on your computer and does not access remote servers. So it cannot be hijacked and used to steal coins, while it can look very good and behave like a web-app. In Bitcoin, almost all coins are stored on third party servers like Coinbase, exchanges and 3rd party wallets, that are high value targets to attack. Users trade privacy and risk of theft, for usability.

Skycoin also improves on Bitcoin by having a deterministic wallets. If you write the seed down, you cant lose coins. So you can write wallet seed on piece of paper, delete the file and put the paper in your wallet or memorize it. In Bitcoin, you can lose coins, even if you back up the wallet.

There are thousands of small details like this. I actually want to puke, when I have to read people complaining about 10 million dollar valuation, when the free float valuation is actually only $200,000. I also want to puke, that Ripple's "valuation" is 250 million or 750 million, when I know the truth.

There are of course hundreds of bugs we need to fix and need a lot of polish everywhere. Since we are coding this from scratch, we dont have all the features or functionality a coin should have yet. We would like to have our own web-browser embedded for the wallet, because when you type in your wallet seed or any information into the web-browser, that is going to Microsoft/Google, NSA and third parties are getting copies. That is true for any web-wallet. They are going to steal a few coins here and there and users will have no idea.

One of our main goals is to keep the coins from being stolen. If anyone has their Skycoin stolen, it should be because they are stupid and its their fault, not because their ISP is hijacking HTTPS sessions and allowing 3rd parties to insert javascript onto Bitcoin web-wallets to the highest bidder. ISPs have been caught replacing ads on websites and javascript, on the wire to steal ad revenue from the blogs and Google. My personal attitude is "If they can get away with it, they are going to do it". HTTPS is supposed to be secure, but there are companies selling boxes, that hijack the HTTPS session, downgrade it to an insecure mode and let them change and insert traffic/ads/javascript/tracking cookies into websites. ISPs sell that data to advertisers and are upset about HTTPS upgrades because they cant sell encrypted user data for money, or substitute ads on websites if the traffic is securely encrypted.

So instead of making users jump through hooks for security, we have to make sure that the default and easiest way is secure.

IPO Update:

Will slog it through and finish rest of receipts right now.
273  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: May 02, 2015, 04:24:29 PM
Hi
I see "Acknowledgement of the message received" but i did not receive any test coins
My skycoin adress is 2jNYhHCuqQtU8kKkLf8ZZmKj6fywTL7fw2e
Maybe i forget one step?

You received 1000 coins to 2jNYhHCuqQtU8kKkLf8ZZmKj6fywTL7fw2e in block 63
http://skycoin-chompyz.c9.io/blockchain/block?seq=63

If you are not syncing/downloading the blocks, check

http://127.0.0.1:6420/blockchain

Seq is the height of the current block. Timestamp is the unix time of the highest block. Networking is still being debugged and it is working reliably for 90% of users, but some cannot find servers to sync chain with reliably. I added high reliability servers to use as default and that fixed problem for some people, but others still have issue connecting to them.

See
http://127.0.0.1:6420/network/connections

This should show you network connections. You should make sure you have at least once connection (ideally multiple). We have to add option in gui to show this and allow adding servers by hand.

We also have to re-enable the indicator for whether the local block chain is syncing or has synced with network.

Hi skycoin,

Just wondering if it will be long before I will be able to use a workable client for windows as I am still unable to get the coins that you have sent me into my wallet.
I am hanging out for a link for a client that will work.

Thanks

I think there are windows builds now.

http://128.199.188.22/
274  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: May 02, 2015, 06:07:39 AM
IPO Update:

25% of the IPO receipts have been processed. I am this far down list now. I have not even gotten to processing the orders for the Skycoin devs yet.



I feel very bad that it is taking this long. February is almost done. Some near the top are done, so about 25% of total receipts are processed.

I generated a sequence of cold wallet addresses deterministic with skycoin, imported them into bitcoind with bash script, locked the wallet and then moved it from the cold computer to hot computer, so receipt can be verified.



So each Bitcoin address is going into spreadsheet and is labeled, then have to send coins out and then confirm it.

This is honestly hell. My fingers are sore from doing spreadsheets.

The coins started so locked down, that it was taking 10 minutes per order and now its down to 2 minutes.The amount of people in IPO is just right. Lots of developers (presumably because you have to build client from source). I think we scared away all the catcoin and pump and dumpers.

This is turning out very well.
275  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: May 01, 2015, 07:20:53 PM
IPO Update:

I am almost done processing the IPO receipts/orders for February. So check Bitmessage.

My fingers hurt. I still have to do March and April.

After receipts are done, will try to code an exchange bot for Bitcoin/Skycoin convertibility. There will be a few Bitcoin per hour of liquidity injected, to keep the price floor at the IPO level and ensure convertibility between BTC/SKY.

The wallet binaries will be put onto a domain as soon as the DNS is setup. I dont like adding a dependency on DNS. Even with HTTPS, binaries can be intercepted and backdoored over HTTPS. People downloading binaries over TOR are seeing trojans added to executables through certain exit nodes. I think Skycoin binary distribution should be IPFS eventually, as it cannot be blocked (peer-to-peer) and is authenticated through cryptography to prevent the binary from being modified. With HTTP/DNS website being secondary or backup. We are waiting on upgrade for the cryptography library, to pure go, so that we can have cross platform builds for Windows, Linux, Windows from a single secure machine.

Most of the people are running from source out of github, it is still in development and I dont want to frustrate windows users too much. I think it almost ready enough that a public binaries would be ok.
276  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: April 29, 2015, 06:13:53 PM
IPO Update:

Processing more ipo receipts. I am still processing the orders from February. My fingers are falling off from processing 1 Bitcoin orders.

I can only respond to 30 receipts per hour (~2 minutes per receipt, with breaks) and have a few hundred left.
277  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: April 26, 2015, 05:33:41 AM
Update:

Processing more receipts. Everyone who sent receipts will eventually get the coins requested.

IPO Support

At least one Chinese user in QQ chat has mentioned they have sent bitcoin and not received coins. The outputs are being double checked to make sure they are created, but if you have any problems, check

http://skycoin-chompyz.c9.io/blockchain/blocks?start=0&end=500
http://skycoin-chompyz.c9.io/outputs

If your coins appear there, but not in client then it means client is having difficult syncing.

If the coins do not appear there, message on Bitmessage and we will check ledger and resend coins

Todo:

The network has been operating for a few weeks now. It is working pretty well, but there are reliability issues over open internet that did not occur in the VPN testing environment.

The two major improvements that are needed are
- queuing pending transactions, ensuring they are executed, blocking wallet from creating new transactions until existing transactions are executed, putting indicator in GUI to allow diagnosis of transactions that fail to propagate
- major refactor of PEX (peer-exchange). Peer-to-peer works perfectly when every client is equal, fast, has reliable network connection, allow incoming connections and same version of software. In real world, we have encountered a bunch of edge cases that require a full refactor of PEX. PEX is the library that manages peer-swarms, exchanges peer introduction and is component for maintaining connectivity in peer-swarms. This is only used in Skycoin Daemon right now, but can be used to build other P2P applications in future.


Open Source Hardware Projects:

Open Source Laptop:
https://www.crowdsupply.com/kosagi/novena



USB Armory: Open Source USB Stick Computer
https://www.crowdsupply.com/inverse-path/usb-armory


Open Source Direct Frequency Synthesis.
https://www.crowdsupply.com/arachnid-labs/tsunami



Open Source Laptop with Linux OS with no backdoored binary blobs in the kernel
https://www.crowdsupply.com/purism/librem-15





China manufactures apple equivalent aluminum laptop cases. You put a motherboard in it and a screen and you have a laptop.
278  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: April 19, 2015, 05:25:15 AM
...I wonder why yesterday everything was running smoothly

Have you pulled the updates code from the repository?
OP suggested doing it every second day.
Many small changes are added now to correct bugs etc.

That might be it... I used the client from here https://bitcointalk.org/index.php?topic=380441.msg11060146#msg11060146, so I might not have the latest code revisions in it!

As soon as the crypto library is ported completely to golang (there is a single C dependency right now), then we will have automatic cross platform builds for all platforms. Right now windows has to be done by hand.

The cross platform build tool fails when there are cgo dependencies.
279  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: April 19, 2015, 05:12:17 AM
Update:

Procrastinating. Getting back to sending out more IPO messages.

There is a huge amount of work queued up now.

Bug Fixes: Networking

Yesterday, as soon as soon people started connecting to network, we found out how unreliable the internet is. People had difficulty connecting to servers. The majority of client did not have open ports so could not accept incoming connections. People had to wait hours for connections and then transactions were not propagating for some users, depending on country.

I disabled DHT and PEX and just hardcoded list of servers and then clients connected within half a second and it worked.

Peer-to-peer appears to work best when there are at least a few fast servers the client is guaranteed to connect to.

- PEX needs to be updated to keep track of which peers allow incoming connections.
- A user should not pass a peers unless they have succeeded at making an incoming connection to that peer
- Only a fraction of the peer list should be passed each request
- Connection attempts should use exponential back-off
- PEX needs to store and save the last time a connection succeeded for that peer
- We need to get UDP+hole punch for next networking refactor

I have a sketch now, of how Skywire will fit into the existing networking refactor.
280  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [SKY] Skycoin Launch Announcement on: April 18, 2015, 05:25:53 AM
Update:

There was a "disappearing coins" bug on windows.
- You download all ~120 blocks, you see 100 coins
- You close client, there is not sig signal for clear program exit triggered on windows, so you lose all the blocks (they are not saved to disc, like they are on exit, on linux)
- You open client and the coins are "missing", until you redownload the blockchain to current head

So coins were still there and appears to just be bug with blockchain not being saved to disc on exit on windows. So coins dont appear until the blockchain has been redownloaded.

This needs to be fixed.

Other bugs/Things to do
- connecting to network takes a bit of time. Some users cannot connect at all.
- PEX stores and exchanges peer lists. It is exchanging peers that cannot be connected to (only allow outgoing connections). PEX should only store peers that allow incoming connections.
- PEX should keep time you last connected to peer and keep list sorted. So you immediately connect to old peers on restart.
- PEX should be moved into the skycoin repo, so we can update it
- PEX needs interface in GUI, to allow you to see peers you are connected to and to add peers by hand, as default connections
- PEX needs option to only connect to selected list of peers and not publicly (in case you need hide application)
- Networking is still TCP/IP. We need to upgrade to UDP with hole punching. Until then, it is very difficult to connect to people behind firewall. The connection interface is abstracted, so adding new types of connection type (HTTPS, UDP) should be easy

Transaction Queue TODO
- the /transactions does not show pending transactions, but instead shows outputs. Need to fix this
- need to show pending transactions in and out, for your wallet, in the gui
- need to queue up transactions when multiple transactions are outgoing from same wallet

There are a few hundred improvements, like this that need to be made until its perfect.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24 25 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!