Pages:
Author

Topic: [SKY] Skycoin Launch Announcement - page 93. (Read 381579 times)

hero member
Activity: 498
Merit: 500
September 13, 2015, 06:27:30 AM
Development Update:

The exchange is in progress. As soon as the bitcoin/skycoin withdrawals/deposits are done, then it will take a few hours to get order book working.

I cannot wait for the order processing to be automated and to have some liquidity. Application developers will like this exchange and its API. It is very modular.

Windows Builds:

The maintainer for the windows build slipped their fingers and actually deleted the virtual machine for doing the builds. Figuring out a permanent solution for the window builds. Maybe cross compilation with cgo dependencies will work with go 1.5 finally. There is also now a candidate golang implementation of secp256k1 that we could try to get rid of the cgo dependency.

Meshnet:

I am simplified the mesh networking node. I realized that cryptographically signed peer-to-peer message replication is at a higher level than the base routing. I am now doing a dumb ATM type base layer with variable frame sizes and then moving all the logic into the control plane over something like XMPP. I found a stripped alternative to XMPP with everything torn out, that will be good for the router node control plane.

It is called ssmp and can do a million messages a second in benchmark and is very stripped down and has a golang implementation
- https://github.com/aerofs/ssmp
- https://github.com/aerofs/lipwig

It is basicly IRC or AIM/messenging. This is also the protocol that I am standardizing the exchange and miscellaneous skycoin RPCs over.

Networking architecture for the meshnet/dark is complicate and very difficult to get right.
- there are computers
- there is the node, the program/daemon running on the computer
- there is one or more networking interface (physical networking cards, wifi dongles)
- each interface has one or more connections to other nodes (routes)
- each route is transferring messages for one or more paths (multi-segment source to destination packet forwarding)
- within the routes there is a frame, which contains one or more messages
- within the frame there are messages

Then that is just the base layer. You have to do route discovery, announcing routes, path setup, message confirmation, payment settlement and other discrete tasks. That is just the base layer and there are networking layers we need to build up on top of that.

Its been almost two years of prototyping and  thinking of how to structure this and simplify it and what the requirements are and what the best way to implement this will be. I am very happy with result so far.

There are other issues like presenting it as a gui and letting users interact and control it and what the unit operations are for user interaction. That is going to be very important. Not everything can be automated and some things requires human judgement and the ability for people to fiddle with it.

The resulting networking stack is god tier.
hero member
Activity: 498
Merit: 500
September 11, 2015, 08:26:38 PM
Development Update:

I fixed the bug! The blockchain now downloads in under 2 seconds!

I actually have no idea why the blockchain was downloading at all. After receiving new blocks, it was not downloading more blocks until the next block announcement. Now after receiving new blocks, it asks for more blocks.

EVERYONE MUST UPDATE THE CLIENT. GIT PULL

I made change, so that clients can control the number of blocks in each request. The packet format is broken and you need to git pull. I will try to have the windows build updated.
hero member
Activity: 498
Merit: 500
September 11, 2015, 04:51:28 PM
Development Update:

There is a major and very severe bug. I am upset that no one found this or brought it up earlier.

For some reason, for some clients under some networking conditions the blockchain is not downloading until it reaches the head block. On LAN and running multiple instances on the same machine, the blockchain always synchronizes between all the clients in testing. In the real world, behind VPN, with latency, and servers in multiple countries the blockchain is not always syncing. The client can require multiple restarts to get the head block.

This is a race condition.

However, as soon as there is a new block, then the process of downloading blocks appears to resume. This is why I have not noticed this before.

This means, that if I have sent someone coins, for the IPO. They may not have shown up in their wallet! They have the coins in their address, but their client does not know it because they have not received the block with the transaction, no matter how long the client was run locally. That is why some people were reliant upon the public blockchain server to confirm their balances.

I am very upset that this was not communicated to me as a bug. I am looking at problem now.

The whole skycoin networking right now is this set of messages

Quote
// Creates and populates the message configs
func getMessageConfigs() []MessageConfig {
   return []MessageConfig{
      NewMessageConfig("INTR", IntroductionMessage{}),
      NewMessageConfig("GETP", GetPeersMessage{}),
      NewMessageConfig("GIVP", GivePeersMessage{}),
      NewMessageConfig("PING", PingMessage{}),
      NewMessageConfig("PONG", PongMessage{}),
      NewMessageConfig("GETB", GetBlocksMessage{}),
      NewMessageConfig("GIVB", GiveBlocksMessage{}),
      NewMessageConfig("ANNB", AnnounceBlocksMessage{}),
      NewMessageConfig("GETT", GetTxnsMessage{}),
      NewMessageConfig("GIVT", GiveTxnsMessage{}),
      NewMessageConfig("ANNT", AnnounceTxnsMessage{}),
   }
}

The problem will be in
Quote
NewMessageConfig("GETB", GetBlocksMessage{}),
NewMessageConfig("GIVB", GiveBlocksMessage{}),
NewMessageConfig("ANNB", AnnounceBlocksMessage{}),

The network messages are very simple and elegant.
- get (ask for data)
- give (send data)
- announce (announce you have data)

This demonstrates how difficult distributed systems are. Even in this system with three messages, for syncing the blockchain and where I was 100% sure synchronization was mathematically guaranteed. It still does not occur under certain conditions.

This is also why it is important that the protocol is simple and easy to understate, has the fewest lines of code and has the fewest branch conditions possible.

Limits of Testing For Distributed Systems:

This is a condition where something does not occur (synchronization does not occur under certain conditions).
- It is very easy to detect when something occurs and it is wrong
- it is impossible to prove or demonstrate in general, that something will not occur

As a property of a distributed system, it is equivalent to proving that god does not exist.
- proving a condition occurs
- proving a condition does not occur

In testing, it is easy to verify that the condition occurs and the behavior is correct for the default case or in the test environment.

It is difficult to show that for N nodes, for all possible states of each node and all possible messages that each node emits and in all possible sequences the messages are received, that a particular node eventually reaches a particular state.

Implications of bug

If I said I sent you coins and you cannot see them in wallet. Wait until I fix this bug. The coins are there, but the client sometimes stalls before it reaches the block with the transaction in it. I am fixing this now.

Until then, you can check balances and unspent outputs and transactions for your addresses here

http://skycoin-chompyz.c9.io/outputs
http://skycoin-chompyz.c9.io/blockchain/blocks?start=0&end=500
hero member
Activity: 498
Merit: 500
September 10, 2015, 01:18:52 PM
Skycoin,
Could you tell me in the simplest terms/bullet points , what the post above means for skycoin as if i am a dyslexic 5 year old who knows absolutely nothing about maths and nodes and stuff,
thanks

A New Way to look at Networking
https://www.youtube.com/watch?v=oCZMoY3q2uM

The reason we dont have mesh networks is not because no one wants them. It is because no one has been able to build them. They have tried and failed for 30 years. It requires new networking concepts.

I think we have the math and framework in place that is possible now. This is next generation. Nothing like this has ever existed before. This is fundamentally, a new internet.
hero member
Activity: 784
Merit: 1000
September 10, 2015, 06:14:51 AM

We need to work towards something capable of replacing Bitcoin and none of the existing coins are doing that or working towards that. They are focused on marginal problems.


That's absolutely correct, and you know I am supporting this project, but I will be curious to see how that Bitcoin replacement  will happen since TPTB_needswar (formerly Anonymint) is working for the exactly same objectives.
I think one of yours could succeed but not both projects. I understand TPTB_needswar suggested to work with him and that didn't work out so the war between two good projects will be on :-)))
newbie
Activity: 1
Merit: 0
September 10, 2015, 03:44:18 AM
Skycoin,
Could you tell me in the simplest terms/bullet points , what the post above means for skycoin as if i am a dyslexic 5 year old who knows absolutely nothing about maths and nodes and stuff,
thanks
hero member
Activity: 498
Merit: 500
September 09, 2015, 07:16:46 PM
Update:

Too much. Very busy.

Exchange is in progress.

Exchange Overview:

This is a prototype for a next-generation exchange infrastructure.

http://github.com/skycoin/skycoin-exchange

This is very rough. Your username/login is a public key. Your identifier is a hash of your public key. You sign your messages to the exchange with your public key. This will be stored in a json file locally on the client.

Quote
//send this with every request
//
type MsgAuth struct {
   Address   cipher.Address
   Hash      cipher.SHA256 //hash of the JSON message
   Signature cipher.Sig    //set to zero
   Type      uint16
   Seq       uint64 //nonce, unix time, nanoseconds?
   Msg       []byte
}

On the client, each function will be exposed as a JSON/HTTP request

Quote
/*
   The server gets events from the client and processes them
   - get balance/status
   - get deposit addresses
   - withdrawl bitcoin
   - withdrawl skycoin
   - add bid
   - add ask
   - get order book
*/

Quote
//get status
type PingStatus struct {
   Auth MsgAuth //must be included with every message

}

type PongStatus struct {
   Err string //error?

   Balance map[string]uint64

   DepositAddresses []string

   //list of orders unexecuted?
   //bid orders?
   //ask orders?
}

func (self *server) HandleStatus(in PingStatus, out *PongStatus) {
   addr := in.Auth.Address //user ID

   account := self.AccountStates.GetAccount(addr)
   if account != nil {
      out.Err = "account does not exist"
      return
   }

   out.Balance = account.Balance
   //out.SKY_balance = account.SKY_balance
}

Quote
//withdrawl coin

type PingWithdrawl struct {
   Auth     MsgAuth //must be included with every message
   CoinType string  //string for coin type
   Address  string  //address
}

type PongWithdrawl struct {
   Err string //error?

}

There will be a couple of functions like this. The exchange is designed for machines, not humans. It is designed to be integrated into the Skycoin wallet.

The libraries can create Bitcoin, Skycoin, Litecoin, Dogecoin addresses and transactions. You can withdrawal coins from the exchange and back to local wallet with one button.

The exchange is not meant to hold persistent balances. It is only for transacting between the coins.

The data feed that comes from the exchange, gets stored locally. Then you generate the exchange front end from your local data store. This means the response time is instant. It is not querying a remote server for data. The user also can choose their frontend and modify the software for the gui or run algos for trading on top of the exchange API.

The exchange is not distributed, but is federated. This means there can be multiple exchange instances, run by different people that can be accessed, with the same standard API.

You may
- create an account on the exchange
- deposit coins into the account
- then transfer them to another account on the exchange.
- Then the person may withdrawal the coins to their wallet

This enables very fast off blockchain transactions.

Bitcoin may take 10 minutes to move. Skycoin takes 10 seconds to move.
- if you have Skycoin and need to send someone 1 Bitcoin
- you send the exchange Skycoin
- the exchange sells the Skycoin for Bitcoin
- the exchange sends the Bitcoin to the address

So the exchange never needs to hold coins for more than a few minutes. Its not designed like MtGox, where the exchange is going to hold a million Bitcoin until they get hacked and stolen.

The exchange will have a common API for querying and balances and transactions for multiple coins (Skycoin, Bitcoin, Litecoin, Dogecoin).

There is a Chinese company that will build a mobile wallet on top of our libraries, that can store and send multiple coins in the same wallet.

Meshnet:

Massive progress on the mathematical basis of the meshnet.

I found the perfect mathematical representation and method for the meshnet/darknet. The whole meshnet may only be 4,000 lines of code at most. However, it uses an expensive secp256k1 cryptographic operation that takes 250,000 CPU cycles and adds 1 to 4 ms of latency per packet.

I am using openssl with two layers on encryption on a cell phone and it drains the battery. This approach would absolutely annihilate the battery, on the cell phone, but is so elegant compared to the alternative, it maybe the easiest thing to start with.

Maybe can use 64 bit prime and generate a random curve and base point for each connection instead of using the 256 bit curve. This could be broken in a few minutes on a regular computer, but does not matter because it only allows people to forge packets on a path, but the packets are meaningless and traffic is still protected by the end to end symmetrical encryption. So it still achieves the mathematical elegance of the elegant approach and maintains source independent networking.

Instead of doing exponentiation by 256 multiplications on 256 bit numbers in a 256 bit field, this would do exponentiation in 64 bit field with 64 multiplications. I have to do benchmarks to make sure I can do 10 to 20 datagrams a second, without killing the cell phone battery.

So maybe support for a 64 bit, 128 bit and 256 bit secp256k1 curve.

Meshnet Traffic Analysis:

I have also determined that there is no way to stop traffic analysis attacks. If the attacker knows your computer is off or on or has a node on the path you are using, or can listen in on the encrypted traffic they can do traffic analysis and each packet leaks a fractional bit of information. With enough bits of information, they can identify a path, determine whether a specific path transited over a particular link.

If you need anonymous communication, you need to route through a remix network.

- You need a set of nodes, that are sending fixed bandwidth of messages between each other (example: 1 Mb/s) that does not depend upon the traffic being send between the nodes
- You need to bounce through multiple nodes onion routing style
- You must transmit data at a constant bit rate and packet size (one packet per second, every second with  1024 bits per packet)
- at least one node in each bounce must be trustworthy or not belong to the NSA. Ideally your organization should be running the remix nodes and from physically secure locations.
- you need to use asynchronous messaging, not real time

That is the only way to get privacy at a mathematical level. Everything else leaks fractional bits of information.

Another approach is Bitmessage type networks, were every message is replicated peer-to-peer to every peer in the network.

Another approach that is more bandwidth efficient, is to use linear homophobic encryption and network coding over a fixed topology of relay/mixer nodes. This is still an open research area, but there will be functioning networks within a decade on this method.

If each node publicly recorded
- each packet
- its path identifier
- the time it was received
- the time it was sent out and to who

And published this data publicly, then it would not reduce the privacy of the network.

Meshnet/Darknet Structure

I found a way of doing source independent networking for the network.
- a node has a public key and hashes public key to an address
- a route is also identified by a public key
- a node can push or pull over a path and "subscribes" to the route
- each message on the route is signed by the public key for the route

In the graph of nodes, there are transitive closures over a communication path

If node A is connected to B, A->B and B->C and A->C

If path A->C gets blocked, then A can use the transitive closure and send data A->B->C

The way the math works, point-to-point, any-cast and multicast are unified. multi-homing and the default case are unified.

Multi-homing means
A->B1->C
A->B2->C

It means that traffic from A to C can be multiplexed over both routes. Then A exposes this as A->C

The networking is also, asymmetric. This means that the data-flow can be uni-directional and the control channel can be on a transitive closure to the data source.

I am not doing network coding yet. I have not reduced it to a tractable math problem yet.

There is a very important parameter for the network called the bandwidth latency product. It is the product of the bandwidth per second between two links and time between when a packet is sent and when the confirmation of a packet is received. This defines the size of the window of data in transit between two nodes.

So if you have a connection that is transmitting to Mars at 1 Mb/s and it takes 13 minutes there and back. It will be 13 minutes until packet arrives and 26 minutes until packet confirmation. So if packet drops, then you will not be able to re-transmit for 26 minutes. There is 780 Mbits of data in the transit at a time. Then another 780 Mbits which has been received, but is awaiting confirmation.

The highest throughput path and the lowest latency path are different.
- latency from sending to receiving
- latency from sending to confirmation
- maximum bandwidth along the path
- available bandwidth along the path

Latency and throughput are difference criteria. There are different paths that minimize these.

The network need to be scale and time invariant. So if you have a truck, with a node with a 1 TB hard disc, that drives between two access points every 8 hours. Then it can ferry 1 TB every 8 hours. It will have a fixed buffer, for each path and will fill up the buffer, then when it has access, will dump the buffer.

This is a multi-agent system. Each node is an agent. It has two levels
- individual nodes
- groups of nodes controlled by same person

Each node has inputs/output connections. There are things like peering connections, meaning that your network and another network agree not to charge each other for transit.

You have a mixture of cooperation and competition.
If there is a path
A -> B
B -> C

And A->B is on one network controlled by person 1 and B->C is controlled by person 2. Then you may both make more money by creating path A->B->C and announcing it as A->C and then splitting revenue over path.

So this type of network has
- nodes
- paths
- routes

I do not have the optimal algorithm yet or a good rule for aggregation of paths across the network between two pool operators.

You have
- local metrics (for individual node)
- metrics over your internal network of nodes
- global metrics over the whole network of nodes

So a node may use a lot of bandwidth, but if the bandwidth is between nodes within your network, then over the network the cost sums to zero. It balances out. You are charging yourself for bandwidth and crediting yourself for bandwidth.

Maximizing over whole network is another thing.

Then there is congestion control. Which is difficult. In TCP/IP, congestion control occurs by waiting for packets to drop and then halving the connection speed. In Skywire, the bucket fills and latency increases. The connection is not bidirectional, so there is no direct control channel for confirmations. So it is similar to UDP but is only in one direction.

In TOR there is one algorithm for encrypting data going forward and one for data going backwards. Here there is only one algorithm.

Another thing is that the identifier of the node and the location of a node are two separate things now. A location is a position of the node in the network topology and an identifier is a public key. A node knows its connections and maybe the second degree connections. There are location sensitive hashes where two things that are close together will hash to similar values. There is a network topology where each node is a fixed number of hops from any other node, while keeping memory usage constant.

Normally developers throw together whatever they can with the tools they have. The power of the software is at the level of the scaffolding they are building on.  For these types of projects we have had to build two or three levels of scaffolding from scratch, just to make it tractable. To work, it needs to be simple in terms of the number of concepts and components. The concepts need to be simple, but they appear complex because they are new. I do not think a viable network is possible on the same networking concepts as IPv4.

Nothing like this has ever been built before. I am simplifying it as much as possible.

IPO:

Check Bitmessage. I think I have responded to everyone.
hero member
Activity: 498
Merit: 500
September 09, 2015, 11:43:12 AM
Hello Skycoin,

I need help with regard to how the wallet is working.
I am still unable to get any coins you have sent to show in wallet.

I am having problems with the way it is working.
I have to take my old wallet files out of the wallet folder for skycoin to run properly, and then when it runs it creates a new wallet in the folder.
If I place my older created wallets back into the wallet folder, skycoin wont start up.
So I am stuck with not being able to receive the coins you have sent me with the older wallet files. This problem has lasted for months.
Do you know about and understand this problem? Will it be fixed and will I eventually be able to receive my coins?
Will skycoin eventually be able to run with the older created wallet files?
Will you have to send the coins again with newly created wallet address, and if so what happens to the old address and coins, and it may be possible that the problem repeats itself anyway?

Please can you let me know what is the problem here and what is to be done to fix it? I am using windows.

Thank you.

LOL. That wallet file must be really old. Do this.
- Open the wallet file with a text editor. The old wallet file, its JSON. Get the "seed" that generated the wallet.
- Now, go and hit "Load Wallet From Seed" in the Skycoin client. Put the seed value in the text box and hit button. Now the wallet is loaded.

Then should work.

I tried to design this, so you can just remember a pass phrase and access the coins/wallets anywhere. Without having to carry around a thumb drive or file, that can be confiscated or stolen. If you have bitcoin on an encrypted wallet, encrypted on the thumb drive, the thumb drive can still be stolen at border crossings. So even if they cannot steal the coins, they can stop you from having access to them. Where as a pass phrase in the brain cannot be stolen or confiscated.

So if a SWAT team breaks into your house and shoots your puppy and then steal all your computers
- you will lose access to the coins/funds stored on the computer  (Bitcoin)
- if you do not have disc encryption the funds will be stolen
- If you have remember the wallet seed, you can regenerate the wallet and get access to the funds (Skycoin)
- If you have disc encryption and use a brain wallet, the wallet cannot be recovered by the thieves and you can regenerate the wallet from the seed pass phrase.

The disc encryption in use on windows and OSX is backdoored. It uses the TPP (Trusted Platform Module) and there is a law enforcement and government back door. Windows was modified to prevent users from using file system in user space (FUSE) and the developer of true-crypt was threatened into taking it down and not working on it anymore. When a truecrypt partition is seized by mafia/government/terrorists, the thieves cannot read it. So it has to be banned.

I have this

{
    "id": "666",
    "type": "Simple",
    "name": "",
    "filename": "2015_05_05_.wlt",
    "entries": [
        {
            "address": "XWN",
            "public_key": "03",
            "secret_key": "62"
        }
    ],
    "extra": {
        "id": "666"
  
Which one is the SEED? Id, public key, secret key?


Ok. Your wallet is really really old. I do not even think the public had access to that version.

Take this

Create a file "2015_00_01_ffff.wlt" in your wallet folder.

add this to the file

Quote
{
    "meta": {
        "coin": "sky",
        "filename": "2015_01_01_ffff.wlt",
        "seed": "test"
        "type": "deterministic"
    },
    "entries": [
        {
            "address": "",
            "public_key": "",
            "secret_key": "SECRET KEY HERE",
        }
    ]
}

See where it says "SECRET KEY HERE". Put your secret key there. Then run the Skycoin client. That should work

Then you can send the coins to a new wallet. Tell me if that works.

If you take a normal wallet file and then delete the pubkey and address and just put in a secret_key, then it should load the wallet and it will regenerate the address and pubkey, from the secret key. That is a backup, for adding private keys by hand if you need to load them, and use the GUI and do not want to create the transaction and sign them by hand from the command line.
legendary
Activity: 910
Merit: 1000
sr. member
Activity: 260
Merit: 250
August 30, 2015, 12:55:45 PM
Hello Skycoin,

I need help with regard to how the wallet is working.
I am still unable to get any coins you have sent to show in wallet.

I am having problems with the way it is working.
I have to take my old wallet files out of the wallet folder for skycoin to run properly, and then when it runs it creates a new wallet in the folder.
If I place my older created wallets back into the wallet folder, skycoin wont start up.
So I am stuck with not being able to receive the coins you have sent me with the older wallet files. This problem has lasted for months.
Do you know about and understand this problem? Will it be fixed and will I eventually be able to receive my coins?
Will skycoin eventually be able to run with the older created wallet files?
Will you have to send the coins again with newly created wallet address, and if so what happens to the old address and coins, and it may be possible that the problem repeats itself anyway?

Please can you let me know what is the problem here and what is to be done to fix it? I am using windows.

Thank you.

LOL. That wallet file must be really old. Do this.
- Open the wallet file with a text editor. The old wallet file, its JSON. Get the "seed" that generated the wallet.
- Now, go and hit "Load Wallet From Seed" in the Skycoin client. Put the seed value in the text box and hit button. Now the wallet is loaded.

Then should work.

I tried to design this, so you can just remember a pass phrase and access the coins/wallets anywhere. Without having to carry around a thumb drive or file, that can be confiscated or stolen. If you have bitcoin on an encrypted wallet, encrypted on the thumb drive, the thumb drive can still be stolen at border crossings. So even if they cannot steal the coins, they can stop you from having access to them. Where as a pass phrase in the brain cannot be stolen or confiscated.

So if a SWAT team breaks into your house and shoots your puppy and then steal all your computers
- you will lose access to the coins/funds stored on the computer  (Bitcoin)
- if you do not have disc encryption the funds will be stolen
- If you have remember the wallet seed, you can regenerate the wallet and get access to the funds (Skycoin)
- If you have disc encryption and use a brain wallet, the wallet cannot be recovered by the thieves and you can regenerate the wallet from the seed pass phrase.

The disc encryption in use on windows and OSX is backdoored. It uses the TPP (Trusted Platform Module) and there is a law enforcement and government back door. Windows was modified to prevent users from using file system in user space (FUSE) and the developer of true-crypt was threatened into taking it down and not working on it anymore. When a truecrypt partition is seized by mafia/government/terrorists, the thieves cannot read it. So it has to be banned.

I have this

{
    "id": "666",
    "type": "Simple",
    "name": "",
    "filename": "2015_05_05_.wlt",
    "entries": [
        {
            "address": "XWN",
            "public_key": "03",
            "secret_key": "62"
        }
    ],
    "extra": {
        "id": "666"
 
Which one is the SEED? Id, public key, secret key?
legendary
Activity: 1036
Merit: 1000
August 29, 2015, 10:52:07 AM

Windows client is here: http://128.199.188.22/

Run the client and run http://127.0.0.1:6420/ in the web broswer

The windows client may still have bug, where it needs to re-download all the blocks every time it is opened. This means balances disappear until the blocks are redownloaded, then reappear. Go to http://127.0.0.1:6420/blockchain and check the block depth (seq).



Excuse me what does it mean check the block depth (seg) ?
My wallet have bug and not sync
hero member
Activity: 498
Merit: 500
August 29, 2015, 09:48:43 AM
Quote
I have to agree with you. In all the ups and downs with bitcoin I never worried because with all the hacks and scams that crashed the price, none of it was about bitcoin itself. I've never worried and never considered selling... until now. Now this blocksteam crap IS about bitcoin, and it's potentially very bad for bitcoin value. I've never been so worried about the future of bitcoin as I am now. And it's not really bitcoin, it's the management of bitcoin, but it's critical nonetheless and it's going off the rails.



This is about power and control over Bitcoin's code base.

Everyone must read this paper

http://linkinghub.elsevier.com/retrieve/pii/S0306-9877(09)00795-6
http://www.medical-hypotheses.com/article/S0306-9877(09)00795-6/pdf


The blockchain is being spammed. This was enabled by a reduction of transaction fees from 8 cents to 0.2 cents. Bitcoin processes 604800 transactions per day and we do not even have that many Bitcoin users. The only way the block size would need to be increased is if people are spamming.

Problem -> Reaction -> Solution

Bitcoin blocks congested by intentional spam. Transactions taking forever to process -> Panic -> BitcoinXT

The correct reaction, is to raise the transaction fee to stop the spamming.

Hegel is at work at subverting Bitcoin.

Quote
the problem of bitcoin is actually still a consensus problem and now mining pools controls the consensus. not good, but still better than a central authority

We need to work towards something capable of replacing Bitcoin and none of the existing coins are doing that or working towards that. They are focused on marginal problems.
hero member
Activity: 498
Merit: 500
August 26, 2015, 08:51:39 AM
Development Update:

The blockchain now saves automatically every 30 seconds. This should fix the windows bug. I will try to get the windows client updated to new version when the maintainer wakes up.

The public blockchain server is online again.

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

One of the Skycoin devs who has been on vacation for over six months, is back (I think). If he is doing the exchange, then I am pounding out the darknet implementation right now.
hero member
Activity: 498
Merit: 500
August 25, 2015, 05:17:51 PM

I have the base layer designed. I am implementing a simple tool like shadowsocks, that can connect point-to-point between multiple servers (the node), assign itself an address and then just copy/paste packets. Then a simple "control plane" for remotely controlling the node over json. Or just a json configuration file to start. Then a web application for integrating all the data from the control planes for multiple nodes, to allow multiple nodes to be controlled from one place.

Once you are inside the network, no one can find the IP address of the servers being used. So they cannot be raided or taken down. However, if you have a list of public nodes, then the government can identify them and take them down.


Why you are not using I2P for that?


Yes very similar to I2P. That is exactly what it is. Except I want to keep everything on one codebase in one language, with standardized crypto primitives. I2P works very well, but new techniques and ideas have been developed since it was implemented.

I2P was ahead of its time. I cannot believe that it is twelve years old already.
hero member
Activity: 498
Merit: 500
August 25, 2015, 05:15:43 PM
Development Update:

I ran a server, with the public interface exposed to the wild internet. It ran for four months without crashing!

Then a bot stumbled upon this

Quote
[gnet:DEBUG] Convert, Message type daemon.GetBlocksMessage
[skycoin.daemon:DEBUG] Got 0 blocks since 233
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x50a38d]

goroutine 13 [running]:
github.com/skycoin/skycoin/src/daemon.RPC.GetConnection(0xc2081ea000, 0xc20816936d, 0x9, 0x18)
   /home/user/.gvm/pkgsets/go1.4/global/src/github.com/skycoin/skycoin/src/daemon/rpc.go:51 +0x33d

Triggering a "invalid memory address or nil pointer dereference"

Then I just patched that

https://github.com/skycoin/skycoin/commit/7e25e061d7a950a8f1ce2fc11af914d71dd87010

The Skycoin client flow paths are so streamlined, that the reliability is really amazing. I have only found very of these kinds of bugs so far.
hero member
Activity: 784
Merit: 1000
August 25, 2015, 04:40:29 PM

I have the base layer designed. I am implementing a simple tool like shadowsocks, that can connect point-to-point between multiple servers (the node), assign itself an address and then just copy/paste packets. Then a simple "control plane" for remotely controlling the node over json. Or just a json configuration file to start. Then a web application for integrating all the data from the control planes for multiple nodes, to allow multiple nodes to be controlled from one place.

Once you are inside the network, no one can find the IP address of the servers being used. So they cannot be raided or taken down. However, if you have a list of public nodes, then the government can identify them and take them down.


Why you are not using I2P for that?
hero member
Activity: 498
Merit: 500
August 25, 2015, 02:48:41 PM
Development Update: Peer Exchange Algorithm Problems

There is no satisfactory solution for sharing peer lists. You should only share peers if they accept incoming connections, otherwise the client spends a lot of time trying to connect to the majority of peers, which cannot accept incoming connections, so sharing the peer does not help anyone.  Knowledge that the peer accepts incoming connections will not propagate until it receives at least the first incoming connection. However if a peer accepts incoming connections, it will initially only connect to peers in a list using outgoing connections, so no one will ever connect back to the peer and learn that it accepts incoming connections.

Peer-to-peer has major problems because of this and became the majority of peers do not accept incoming connections. The majority of connection attempts fail and it takes too long to connect to the network. At once connection attempt per 5 seconds and with one in ten peers accepting incoming connections, it takes up to 50 seconds to connect to network and sometimes two minutes.

There is no solution, so the brute force method might be best. I may put exponential back-off per per on outgoing connection attempts and then change the 5 seconds per connection attempt, to 1 second per connection attempt.

Development Update:

Skycoin could be made into a very solid coin, that is efficient, has no unneeded features or clutter and has a secure and innovative consensus algorithm that could be the first coin that offers a viable alternative to Bitcoin's mining. That would put it around litecoin.

Then the priority is on creating capital inflows.

About 10% of internet users are using VPNs for accessing content that is blocked in their geographic region. The Chinese firewall is severe and another large market. Meshnets in the long term. All of Youtube, video, music content on the internet will eventually be pushed into the darknet and unregulated spaces. Reddit, blogs and secure communication applications will eventually be pushed there also.

So the bulk of internet traffic.

The content is not being pushed to a darknet space, but to a distributed space such as IPFS, content addressable networking and OpenBazaar. This will happen over the next twenty years. It is already happening now, but piecemeal and the base layer of the software stack does not exist yet and developers are just duct-taping together whatever tools they can get their hands on.

If you have the SHA256 of a video file, you dont care where you download the actual data from because you can verify the data.You dont care where you downloaded it from, you so you dont need a centralized server. If you know the SHA256 hash of an html website, then you dont care where the data comes from. The website becomes decentralized. You do not need Youtube anymore and the HTML and video gets moved into a content addressable space and the data gets replicated peer-to-peer.

I have the base layer designed. I am implementing a simple tool like shadowsocks, that can connect point-to-point between multiple servers (the node), assign itself an address and then just copy/paste packets. Then a simple "control plane" for remotely controlling the node over json. Or just a json configuration file to start. Then a web application for integrating all the data from the control planes for multiple nodes, to allow multiple nodes to be controlled from one place.

Once you are inside the network, no one can find the IP address of the servers being used. So they cannot be raided or taken down. However, if you have a list of public nodes, then the government can identify them and take them down.
hero member
Activity: 784
Merit: 1000
August 25, 2015, 08:28:31 AM
Quite spot on with regards to banking. This short movie summarizes very nicely and quite understandably why the reserve banking system is the biggest scam in the history of mankind

https://www.youtube.com/watch?v=iFDe5kUUyT0

Great post the rest as well, but I don't agree with the anti US and anti Western sentiment of it. No doubt that we are completely and unmanageably fucked up, but it isn't the result of the calculated control from the evil US and western governments - it is the result of what you have said that "you start to ask why and realize that it is just human nature". Indeed this Netflix and state media watching, brainwashed society - in which many citizens are suicidal when Michael Jackson or Kim Jong-il die - has developed a corrupt system all over the world from the US to China, from Russia to the UK.

Armstrong tell us at http://www.armstrongeconomics.com/ what is going to happen when the events starting to unfold from this year October - chaos, economic depression, riotings and most likely increased totalitarian oppression.

The good news is, technology projects like Skycoin can provide us with tools to make life a bit easier and comfortable under this totalitarian state control. So yes, we the community should support this project.
On the other hand I think Armstrong is quite correct in saying that there is no way the government will allow that a digital currency hide money from the tax man. Sorry, the users won't be able to operate a decentralized payment network. You will be able to start it but once it start distracting the tax collection of the state then it will be destroyed by all kind of law enforcement agencies. You - just like anyone who use such technology and payment methods - will be hunted down by the law enforcement forces. (I understand your mesh network intends to mitigate this risk, but such autonomous communication network will be switched off as well). It's still worth trying - that's how things are progressing.
hero member
Activity: 672
Merit: 500
http://fuk.io - check it out!
August 24, 2015, 11:38:08 PM
so this coin ever had a budget? i thought its all in pre-stage
hero member
Activity: 784
Merit: 1000
August 24, 2015, 06:20:34 PM


Something like that, but this man, skycoin at least innovates and contributes something to the information technology field. Some of his topics even have some serious social or political aspects like the Mesh Network (not that it is feasible at all in the context of this project but it is a great research subject and one way to address totalitarian oppression).

In my opinion this is one of the very few projects that has a real value.
There is for example Bob's latest venture the CryptoCircuits coin. What the fuck is that? 400-500 users - of course many of them shills and sockpuppets of Bob, but there are quite a lot real users as well - sell to each other a completely useless and meaningless digital currency. They hype and hope to get some newbies' money into the coin. Hype & Hope and Pump & Dump.  The USP (unique selling point) is the bot in the wallet. So they can trade with each other from the wallet the otherwise completely useless digital currency that isn't related to any real world use cases. Wtf? What a great innovation is that: trade from the wallet a completely useless digital currency! But to be fair, at least CryptoCircuits created something with the wallet bot - 99% of the coins create absolutely nothing except rename a few parameters during the clone of BTC or LTC code base.

No wonder digital currency is dead and even Bitcoin is in trouble, though probably Bitcoin eventually survive. There is no connection between real world and digital currencies, only a few thousands of us in this forum excited/interested about digital currencies. That's all the digital currency movement worldwide. That's all became Satoshi's remarkable idea about decentralized ledger and digital currency, a few thousands of us in this Forum. That is pathetic really after the so much hype digital currency received in the worldwide media.

Skycoin or the work of TPTB_need_war and his incoming coin relate real world problems to digital currency and in my opinion they are worth the support of the community even that in the case of Skycoin it is unlikely that there will be any profit for the investors.

I essentially agree, Bitcoin has really boiled down, tons of failed VC backed startups already mounting up...

However, Bitcoin has been a 100% success in my eyes as ALL I ever wanted to do was 1) Play Poker and 2) Deposit at 5Dimes/Heritage/Pinnacle/Bookmaker/Betonline and I can, in bitcoin.

Black market uses alone never justified a $1200 or $600 price probably wouldn't for a long time. I wish it never went over $150 and instead grew slowly. Oh well, we'll be back to $150 shortly Smiley


You are right, Bitcoin is a success and a remarkable story based on a remarkable innovation and that is still true when Bitcoin is in trouble at this moment in time. I expect Bitcoin and 1-2 other coins will survive, but 99% of all shits simply disappear.

As you said the high price was fake, in fact the $1,200 price was the pure product of the two Mtgox bots, it was a fraud and not the only one around Bitcoin and other digital currencies. No wonder this few thousands user base can't be extended and the consumers are completely ignorant about crypto. The good news is that completely new and radical approaches like Skycoin, TPTB_need_war coin and GadgetCoin could bring life in this stagnating economy that digital currency became.

Pages:
Jump to: