Bitcoin Forum
December 15, 2024, 02:11:04 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 [112] 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 ... 200 »
  Print  
Author Topic: [SKY] Skycoin Launch Announcement  (Read 381591 times)
skycoin (OP)
Hero Member
*****
Offline Offline

Activity: 498
Merit: 500


View Profile WWW
December 23, 2015, 06:06:39 PM
 #2221

Update



The crypto port is done. Major milestone done!

I was almost ready to give up on getting it working, from frustration.

The actual bug was fixed nine days ago and the problem was in the test environment.

The test suite was failing in the test environment, but turns out is passed if the tests are run when the working directory is within the $GOPATH, but fails when the tests are run outside of the $GOPATH. This has something to do with how golang handles symbolic links (which do not exist in Plan 9...).  When the tests are run from outside of $GOPATH it was using a cached, older version of a package in a sub-directory of the original package and was not recompiling the library, when changes were made...

We also recently found another pure golang secp256k1 implementation
- https://godoc.org/github.com/btcsuite/btcd/btcec

Next:

I am trying to get cross compilation for OSX, Linux, Windows working now.

Then will post new version of the Skycoin client.

Next:

I am writing small library to get bitcoin unspent outputs for an address and to sign bitcoin transaction.

Then will make small test website, where
- you put in skycoin address
- server generates a deterministic bitcoin address to send coins to.
- server waits for transaction to clear and then sends Skycoin

That will make sure that bitcoin/skycoin transactions are working. (There is minor issue with transaction injection and transaction status in the skycoin client that has to be fixed, where transaction takes too long to propagate if transaction was created before the node is connected to any nodes in the network). We also need improved transaction tracking and status for users and for exchanges.

Then can do order book and will have a full exchange and liquidity.

---

Then can finally do the meshnet/darknet/vpn prototype first version. I want to get something working very quickly, but it may not be mature for a year or even two years, before there is nothing left to do in terms of architecture and scope.

- There is no cross platform implementation of ncurses for terminal applications and other hassles.
- There is no cross platform VPN frontend and it will only run on linux initially.
- Applications like Bitorrent will have to be ported to run directly/natively in the name space (like they do in Tox and I2P)
- Decentralized versions of applications like instant messaging, email, twitter, facebook, youtube will eventually have to be written for the network namespace
- a go like scripting language may be needed for application development, networking
- we may need something like "angular.js for terminal applications" and a cross platform OpenGL terminal with standardized interface for controlling the terminal over the network
- there are open problems with how payments should be settled, pricing, preventing artificially induced scarcity in the coin economy that would restrict network expansion (applied economics, multi-agents simulations, cybernetics, economy design)
- etc..

Over the next decade, the whole internet is being rewritten from scratch to address the current challenges it is facing. There are dozens of protocols under development, such as
- IPFS
- tox
- bitcoin
- cjdns
- aether
- telehash
- bitmessage
- namecoin
- bittorent-sync
- dozens upon dozens of others

We are in the middle of an internet reformation and second wave of decentralizatoin.

- We are seeing the first community meshnets being built in Athens right now, using crude software and duct tape.
- The first radios and networking equipment for practical meshnets are being released or have been released in the past six months. Small local ISPs, bridging the last mile are proliferating
- the existing generation of privacy tools and VPNs will soon be rendered useless by government blocking technology now being installed and a new wave of patriot act bills being passed passed in nearly every country globally (and even being pushed at the UN level)
- We are seeing global cyberwar, with governments and corporations block or degrading access to blocks and content they do not like and trying to weaponize the internet as an instrument for thought control, surveillance and oppression
- The TPP will completely destroy the public internet.
- The existing internet is susceptible to balkanization because it was not designed to be immune to politics. Companies like Google and multi-nationals see what is happening with the public internet and are already using their own MPLS installations and dumping money into Software Defined Networking infrastructure.
- The UN and communist run organizations funded by third world dictators are trying to take over the standards committees and seize control of the internet. They are proposing taxes on international internet traffic (so that a country's regime can exercise monopolistic control over all content/knowledge/severs/information/books/movies/television/content in the country). The existing internet will not survive in its current form for another decade. We are seeing each country building their own North Korean like internet, so that dictators, corporations and bureaucrats can dominate and control it.
- Internet kill switches, biometrics, DNA databases, backdoors in everything, mass surveillance built into every television, internet enabled light bulb, laptop, computer and cell phone. Building blocks for a new dystopian totalitarian police state. The western governments will not stop the mass shootings and terrorist attacks, until there is not a single right left to take away.



I cannot exaggerate what politicians are attempting to do is.
- tax international internet traffic
- ban encryption
- ban anonymous speech
- ban anything governments/politicians/corporations/bureaucrats cannot control
- global internet tax to fund UN internet occupation force and UN internet police
- make criticizing corporations illegal. Make users liable for any speech that hurts corporate profits (TPP treaty)
- Hillary Clinton's "Manhattan Project" to stop internet encryption

So I think this will do well. We are heading towards a world, where the surface internet is becoming a corporate shit net for stupid people and anything worth knowing is being pushed underground by governments and corporations.

Economically, we are passing the inflection point, where it is cheaper for communities to build their own internet infrastructure and own the infrastructure, rather than having monopolistic ISPs with poor service and 98% profit margins.

The practical problem, is that no one has ever built anything like his before. Enough of the pieces have been solved by different project, that most of the risk has been removed, but integrating them into a new piece of software will still be work. Especially for the UI components and what cannot be automated completely by machine.

freigeist
Hero Member
*****
Offline Offline

Activity: 1115
Merit: 535


View Profile
December 23, 2015, 08:05:20 PM
 #2222


For javascript/html interface, it polls with get/post, but need way to send an event back from the application to the web-browser. This is called "push notifications' or WebRTC.

I have to decide whether the interface should be Angular.JS or just use jQuery or application specific/terminal.

I still have not idea

Writing this interface is a horrible nightmare. It is 5x more work than the exchange back end. This is pure insanity. I cannot believe I have spent two days on this already.

Hello.

Maybe it would be easier to use WEB Sockets in HTML5 coupled with jquery.
I think you are more flexible if you use this because you could define your own protocol and events
by sending JSON or any other format in real time back and forth from the server to the client.







td services
Sr. Member
****
Offline Offline

Activity: 448
Merit: 250


black swan hunter


View Profile
December 24, 2015, 07:59:05 PM
 #2223



The fluoride comments remind me a lot of the beginning of this movie - "They're poisoning our bodily fluids!"

Great stuff in this thread, I can't stop reading it as it comes out. Still say the University System is the hidden but highly visible backbone of what Skycoin describes. Recruits are inducted and training starts while in college, not just after.
cryptomite
Full Member
***
Offline Offline

Activity: 304
Merit: 100



View Profile
December 26, 2015, 04:10:43 AM
 #2224

Keep up the good work!!

skycoin (OP)
Hero Member
*****
Offline Offline

Activity: 498
Merit: 500


View Profile WWW
January 02, 2016, 02:37:45 AM
Last edit: July 04, 2017, 11:35:09 AM by skycoin
 #2225

Update:

Too many things. Will try to keep it brief.

New Build:

The new build for windows is almost ready. A few small changes left.

Cross Compilation:

Cross compilation is now working flawlessly! We have builds for Windows, OSX, Linux, BSD, Plan9, Arm, NaCL. It is completely automated.



Deterministic Builds:

Deterministic builds and pulling all the dependencies inside of the library will be done by about Go 1.6!

Deterministic builds, means that if two people compile the source, they will receive binary identical outputs. This means that the binaries cannot be back doored and can be verified.

You take the source code for the golang binary and compile it, with itself and should get the same binary output as the original executable. Then you compile the binary, to get the output.

This is a major milestone for security.

Elimination of external dependencies:

Bitcoin has had several bugs introduced (intentionally or not) by external dependencies, that would have allowed every node on the network to be taken our or a quarter of the total bitcoin stolen.

See:
- http://www.talosintel.com/reports/TALOS-2015-0035/
- https://bitcoin.org/en/alert/2015-10-12-upnp-vulnerability

For instance
- heartbleed in the bitcoin merchant protocol from OpenSSL
- the remote execution UPNP vulnerability introduced into bitcoind and enabled by default
- the glibc DNS resolution remote code execution vulnerability

If a developer can introduce one of these bugs, they can sell it for hundreds of thousands of dollars to the NSA, private companies, FSB or others. They can also use it to loot millions of dollars from exchanges and users. We are in the middle of a cyber war.

Skycoin has removed all external dependencies. Everything is in golang. Everything is memory safe. Everything will eventually be moved into the repo once golang support for vendored dependencies is worked out.

We are not even dependent upon the system DNS resolver.

We are moving towards being able to run skycoin on an seL4 kernel (34,000 lines of code) on a raspberry pi. This eliminates everything (systemd, the operating system, just everything cut out). You can run it over a serial cable, if there is not a USB driver. The exchange, wallet and other infrastructure will be able to take advantage of this also.

MtGox and Silk Road was running with a PHP front end, but there are numerous PHP zero days. Even running Silk Road over tor, governments can root the server or get remote execution very easily.

Attacks on Bitcoin

There will be severe, state directed attacked on Bitcoin soon.

Gmaxwell was harassed off the development team by a mob.
- https://www.reddit.com/r/Bitcoin/comments/3x7mrr/gmaxwell_unullc_no_longer_a_bitcoin_committer_on/

They create a wedge issue, the split community and then fund a lynch mob targeting particular people. They target the immune system and people who cannot be subverted through bribery or influence. They attack the immune system and people who are stubborn at refusing unreasonable additions and "Compromising" by doing something 50%, that should not be done at all.

Gmaxwell opposed the addition of the bitcoin merchant protocol, that later introduced vulnerability to heart bleed. This bug allowed private keys to be read out from wallets, on any bitcoind node attached to the network.

The depressions, creation of debt and harvesting of assets is a completely monetary phenomenon. Banks load the economy up with money (Debt, printed out of thin air) during the boom, then do a harvest cycle where they pull money back creating a depression and causing defaults and seizing the asset.

Bitcoin and Gold limit the ability of central bankers to send economies into depressions and loot assets, so they will be banned, restricted, attacked. The powers, do not have a response to Bitcoin or feasible methods of shutting it down and so have not made the community aware that it is targeted for destruction (as an external enemy, creates group cohesion and resistance). They will attack bitcoin through third parties, hacks, media, "terrorism", buffer overflows, infiltration of community, security vulnerabilities and so on. They will split the community, try to make it non-effective at achieving group goals or coordinating and try to create group in-fighting and attack leadership. In other words Psychological Operations.

A simple mathematical model, shows that the price of Bitcoin is held up by capital flows. This means that when Bitcoin is destroyed, the market cap will not be destroyed, but will just move into the other coins.

Meshnet Routing Algorithm

I have a simple DHT algorithm now that embeds the node public key hashes onto a chord and can find nodes by address.

This is one of the most difficult parts.

This is another algorithm that is similar. This part of the meshnet can be swapped out and its an area that will take years of research and testing and something that will need to be updated as better algorithms are developed.

Multi Named VDHT Routing
- https://www.newtolife.net/multi-named-vdht-routing.html
- https://www.newtolife.net/experimenting-with-virtual-dht-routing.html



We have a few graduate students, who are only interested in this problem and bench marking and trying different algorithms and writing papers.

There is an efficient algorithm using ant colony optimization and a version using particle swarm optimization that approximates a path integral for electron diffusion on a graph that has a name like "quantum electron something" that someone wanted to implement.

Meshnet Adaption

On the ground, people are creating their own ISPs and communication networks.
- http://arstechnica.com/information-technology/2015/11/how-a-group-of-neighbors-created-their-own-internet-service/

Global Survey of Free Networks
- http://p2pfoundation.net/Global_Survey_of_Free_Networks

I have researched all the tools and hardware they are using.

Not that meshnets are becoming viable, the government/FCC is trying to ban the ability to flash the firmware or use open source firmware for wifi routers. "Hackaday reports that the FCC is introducing new rules which ban firmware modifications for the radio systems in WiFi routers and other wireless devices". "The PDF explicitly mentions DD-WRT as an example of what should not be permitted".

Radios

There is new radio equipment and software being released monthly now. We do not have to worry about this

- https://github.com/srslte/srsue
- http://spectrum.ieee.org/telecom/wireless/softwaredefined-radio-will-let-communities-build-their-own-4g-networks
- http://spectrum.ieee.org/geek-life/hands-on/softwaredefined-radio-part-ii

Proxygambit
https://hackaday.com/2015/07/16/proxygambit-better-than-proxyham-takes-coffee-shop-wifi-global/
https://hackaday.com/tag/proxyham/

https://github.com/samyk/proxygambit
- 150 Mbps+
- +10 km range, line of sight

Security Summary:

Surveillance Update:

And likewise all of your smartphone keystrokes are broadcasted over the air to the mobile carrier as well via CarrierIQ. Which comes enabled on most Android phones.
- https://boingboing.net/2015/12/29/windows-10-covertly-sends-your.html
- https://www.youtube.com/watch?v=T17XQI_AYNo

Windows 10:
- https://boingboing.net/2015/12/29/windows-10-covertly-sends-your.html
- Windows 10 covertly sends your disk-encryption keys to Microsoft
- a remote killswitch that lets it disable your hardware
- keyloggingt, by default, sends it all to Microsoft
- browser-history logging that, by default, sends it all to Microsoft

These backdoors are severe. Bitcoin can be stolen both on Android and on Windows 10, by the government anyone who knows one of hundreds of exploits. The data they are collecting is handled by private companies who use the data for profit.

The data is first collected by a private company, which then goes to another private company owned by a cartel member, then goes into NSA/govt and then leaves NSA for DHS/FBI local police and various compartmentalized programs. Most of the surveillance was implemented illegally and outside of the law, using threat of force or bribery.

Police are going to get the ability to one click root kit your phone and steal your bitcoin, steal your pictures, contact book, track your location and especially to harass people. The government will be using a range of "effects based operations" against anyone opposing the police state from harassment, to emptying people's bank accounts.

Cryptography and an open internet is the only thing stopping it. Until land ownership, defense, food production, manufacturing, transportation and communications are open source and under control of the local community, humanity will not be safe from the threat of the emerging cybernetic enslavement state.

digi123
Full Member
***
Offline Offline

Activity: 236
Merit: 100


View Profile
January 03, 2016, 07:44:12 AM
 #2226

"New Build:

The new build for windows is almost ready. A few small changes left."

Yay! can't wait.
altcoinUK
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1000


View Profile
January 05, 2016, 06:54:03 PM
 #2227

Great progress, thanks!
skycoin (OP)
Hero Member
*****
Offline Offline

Activity: 498
Merit: 500


View Profile WWW
January 06, 2016, 03:28:42 AM
Last edit: July 04, 2017, 11:20:37 AM by skycoin
 #2228

Update:

We have contractor working on high security exchange.
- the existing exchanges are in PHP. There are zero days in PHP, so many companies can easily gain access. Even darknet websites in PHP on tor are not safe
- we are getting a special golang abstract, that is an event channel for coin balances, transactions, unspent outputs. Once a coin meets the interface, it can be plugged in.
- this "exchange" is a bit different than anything before. it is more like a thin client abstraction layer.

Distributed Applications:

Building these systems requires
- a binary serialization of golang objects (we did this)
- metadata extraction/exchange for structs/methods exposed (still need this)
- something like a native version of DCOM or CORBA

- The exchange exposes and "Account Object" and you can make requests on the object, such as creating bid/ask order or generating new deposit address.
- There is a feed of 'events' such as state changes, bid order canceled, new bitcoin deposited, withdrawal competed. These are mirrored locally
- this is a "distributed object framework"

For each coin, there is an object where you can
- get unspent outputs for addresses
- inject locally signed transaction
- event feed for pending transaction related to your watched addresses

This means
- you can check balances of your addresses
- you can get the unspent outputs for the addresses
- you can sign transactions and inject them into the network without having the coin installed
- the private keys are local

There is a communication channel
- it is abstracted and can be over Email, instant messaging, text messaging, bitmessage, TCP or other
- the communication endpoints and transports are arbitrary and swapable (this will become important later, as governments destroy the internet)
- the endpoints are authenticated by the public key cryptography

I am going to do this later (after the other things). I want a clean framework for building these services.

Cross Compilation

To cross compile skycoin, do

Install Gox:
go get https://github.com/mitchellh/gox
gox -build-toolchain

Compile:
cd $GOPATH/src/github.com/skycoin/skycoin
$G = skycoin-0.3
gox -output="$HOME/builds/$G-{{.OS}}-{{.Arch}}/$G/address_gen" ./address_gen/
gox -output="$HOME/builds/$G-{{.OS}}-{{.Arch}}/$G/skycoin" ./skycoin/

It will even output NaCl (native client) for ARM.
- native client is an execution sandbox by Google for memory safety and running applications in the browser and phone
- it abstracts the networking and directory access
- it is likely next standard for Android apps and replacement for flash
- there is portable native client, which is like LLVM IR for native client

Right now, most exchanges are using PHP and software libraries that have XML parses with remote code execution exploits. New exploits are being added everyday and others being patched. bitcoind has them too.

Achieving security in the long term, requires going as close to the metal as possible. Getting rid of reliance on excess dependencies we cant control which  are in non-memory safe languages and have exploits and reducing the number of lines of code.
- Raspberry Pi or ARM hardware (no microcode exploits; eventually ideally MIPS or RISC-V)
- L4 kernel (35,000 lines, instead of +2 million lines, formally verified, all actions and drivers in user space)
- Libre linux drivers (open source drivers instead of binary blobs)
- deterministic builds

Those are the minimum requires for acceptable security against a nation state actor.

The State of Security:

New back doors being installed daily, such as the ability to send a binary package to any instance of chrome (even the open source one). They just lock onto your metadata and can hit you with the binary package through a man-in-the-middle attack when Chrome phones home.

Today on windows 10
- the government can remotely backdoor your computer with a one click auto update
- microsoft scans all your files and sends the hashs to the NSA
- microsoft may download copies of files it is interested from your computer, like your bitcoin wallet
- there is a key logger installed by default that uploads every key stroke to microsoft and the NSA (your passwords for banking, shopping, credit card numbers, name, address, everything)
- it records your voice and image through webcam for 30 seconds and uploads it to NSA
- the operating system will automatically uninstall programs Microsoft, the NSA or government does not like
- every application you run and every connection it makes, the duration, ip address and amount of data set is uploaded

skycoin (OP)
Hero Member
*****
Offline Offline

Activity: 498
Merit: 500


View Profile WWW
January 06, 2016, 06:57:47 AM
Last edit: July 04, 2017, 11:12:23 AM by skycoin
 #2229

For Skycoin, there are groups that want to setup HAM radios and have automatic message forwarding and routing. A few hundred nodes with 50 to 200 mile range can cover whole country and allow for messaging like SMS. They think the fiber lines will be cut and the power will cut.

There are many groups that want an emergency communications networks that can operate independent of internet. They want to be able to communicate with the other pockets of people who prepared and who survived and be able to move between locations.

Asymmetric data path is important, because a large, powerful transmitter can transmit very far, but your weak handset cannot send and expect it to reach, but you can still receive messages. You also need this for rural internet and "ring" type connections.

If you have a directional antenna, you may be able to transmit to a remote location, but they wont be be able to send you a powerful enough return signal to be picked up (for wifi).

Someone else created proxy ham and the hardware is done. I just have to do software and routing and interface.

---

The "exchange" has a full thin client
- you can send message to get your unspent outputs and return message is ~200 bytes
- from the unspent outputs you can sign a transaction and inject it and its about ~150 bytes

So you can still do transactions, even over SMS or HAM radio if needed.

The wallet is deterministic, so if you flee from a war zone, as long as you remember the password, you can regenerate the wallet and still get at the coins later.


chompyZ
Sr. Member
****
Offline Offline

Activity: 291
Merit: 250


View Profile
January 08, 2016, 03:39:50 AM
 #2230

R.I.P Ian Murdock, Founder of Debian Linux, Dies at 42

http://thehackernews.com/2015/12/debian-ian-murdock-died.html

The unaccounted for death rate of cryptographic & libertarian devs is unbelievable.
OP, and other project devs must exercise ALL precautions to maintain anonymity.
At some point, Skycoin will attract state actors that will go over every posting, reference,
log, link, IP, account, node, etc. in attempt to triangulate OP.
-Greed-
Hero Member
*****
Offline Offline

Activity: 910
Merit: 1000


Decentralized Jihad


View Profile
January 08, 2016, 04:12:07 AM
 #2231

Two years have passed and nothing has changed (I was saying exactly these words a year ago). The dev is still posting "updates" lol. No real development just walls of text.

50cent_rapper
Legendary
*
Offline Offline

Activity: 1344
Merit: 1000



View Profile
January 08, 2016, 05:39:33 PM
 #2232

Skycoin,

you need some rest. Take a vacation. Date a girlfreind.
This conspiracy bullshit make me scarry for you.
Starfleet.Intelligence
Full Member
***
Offline Offline

Activity: 237
Merit: 100


View Profile
January 08, 2016, 07:14:12 PM
 #2233

Skycoin,

you need some rest. Take a vacation. Date a girlfreind.
This conspiracy bullshit make me scarry for you.


I cannot quote on the project progress, since I don't keep up with the developments.

But I enjoy the intelligence and information distributed here. I know most stories are hard to believe, since it sounds so absurd it cant be true, think most of us. But some if not most of the information spread here provides substance. So make your own research and judge by yourself, but based on facts. Do your homework and dig a little bit deeper than mainstream media. Wonder which truth can be found there...

My experience is, if you get the first part of the puzzle, second one is really easy to find.

No offence, bro. Just my 50 cents  Wink
altcoinUK
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1000


View Profile
January 10, 2016, 04:56:15 AM
Last edit: January 10, 2016, 05:15:48 AM by altcoinUK
 #2234


I am sort of scared, about what is happening and how fast this will get out of control.


Don't be. Come to the Marty Armstrong thread or just follow Armstrong's projections which pretty much explains that we are heading to turbulent times with social unrest, local and international wars. Pretty standard stuff, nothing new there, but since the government try to implement more and more control, your mesh networking vision and hopefully your design/application could be very important.
altcoinUK
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1000


View Profile
January 10, 2016, 05:15:18 AM
 #2235

Two years have passed and nothing has changed (I was saying exactly these words a year ago). The dev is still posting "updates" lol. No real development just walls of text.

I agree and disagree.

He is not making a lot progress. However, it seems his focus slowly but surely is shifting to mesh networking, decentralized internet and he understands the importance of hardware level security. If he can come through with that and implement that vision to an actual application then this could be a remarkable project. There are hundreds of coins, as you know apart from BTC none of those coins is used for any real world purposes and none of them will be (not even Ethereum), so I see no reason to roll out an other crypto currency which will be used by obviously nobody. On the other hand his mesh networking and decentralized internet application solves a real problem. Unlike crypto alt currencies - which are completely irrelevant to to society and economy - the mesh networking and decentralized internet could be a very useful and important technology project.
provenceday
Legendary
*
Offline Offline

Activity: 1148
Merit: 1000



View Profile
January 18, 2016, 03:08:35 PM
 #2236

thanks for the updates!

skycoin (OP)
Hero Member
*****
Offline Offline

Activity: 498
Merit: 500


View Profile WWW
January 20, 2016, 02:50:12 PM
Last edit: January 20, 2016, 08:27:52 PM by skycoin
 #2237

Update:

Finished some small things, but mostly design work

There are some minor changes
- UPNP support for Skycoin networking is done. Can tunnel through firewalls now.
- Networking will probably be switched from TCP/IP to UDP

Exchange:

This is ready to go almost, but have to finish

Other:

The GUI for interaction with networking and meshnet configuration is extremely frustrating. I am trying to find some way to take a shortcut or make this easier.

- I need a cross platform pseudo terminal and a metacircular evaluator for golang. Very frustrating. There is nothing like ncurses that is cross platform.
- I feel like this will require writing an application in opengl on top of SDL. This is annoying because the code base currently cross-compiles 100% and this will break that

I feel like I am rewriting a bunch of software from the 70s and 80s, such as ncurses and pseudo terminal multiplexing... I think if I just keep coding, that it will work out.

There is a new programming technique called CODA that is extremely powerful. TCP/ip implementation is about 20,000 lines in C. In Alan Kay's CODA type environment, TCP/ip type flow control can be implemented in 150 lines.

He was able to implement a full operating system from scratch, with document editor, email and a webbrowser, in 20,000 lines of code

The mesh network requires something like this and may have to implement a simple scripting language for this.







After two weeks, I figured out how to implement it in very few lines but still has to be implemented and debugged.

This is extremely occult tier mathematics.
- The programs in this language, do not have a representation as a text file
- The syntax looks exactly like golang
- All programs are deterministic
- The programs have a very elegant algebraic representation
- there does not appear to be a difference between local program objects and program objects on a remote machine
- the programs accept only length prefixed bytes as input and emit length prefixed bytes
-  it is recursive (turtles all the way down), in that you can instantiate a "world" or program context and within that context, instantiate three "worlds" or program contexts (own computers) and network them (top level passing messages between them) and run them. The top level programming context appears to be recursive.
- the programs are constructed by applying a series of operators on an object starting in a null state
- the programs themselves are program objects
- the meaning of the program or action of a statement upon the program state is not fixed, but defined in terms of another program object
- it is impossible to write software that is not open source in this language

When we use the computer, we do not interact with software objects. We interact mediated through the computer but not on "computer objects", but rather interact with twitter, facebook, youtube mediated by the computer

object, tool, interaction



There is a triangle like this, with
- the object on the left (representation, visual thing, object)
- the interaction/goal or outcome on the right  (pragmatics, what you are doing, the operation or action)
- the tool or action at the top (the intermediating thing, the tool that immediate between the object, the reification of the action)

An object starts as a null state, then a finite series of actions are applied to it
- a twitter feed starts empty and then "create tweet" actions are applied in series
- a coin starts with an unspent output set, then transaction actions are applied, that destroy unspent outputs and create new unspent outputs
- a text file is opened and begins empty, then a series of key press or "insert characters", "remove characters" actions are applied
- a wikipedia page starts as a blank text file and then a series of "apply diff" actions are carried out upon the state

The state of the object and the sequence of reifed of the actions to the current states are dual. They are isomorphic and equivalent.
- starting with the null object and applying the actions in series to the state will yield the same result as transmitting the current state itself

This may seem abstract, but the reason it is important is that the nodes act like agents
- they have a goal (such as multiplexing packets across multiple connections)
- they have multiple things or actions they can attempt in order to possibly achieve the goal
- they have to choose a sequence of actions to accomplish the goal

- There are procedural or pragmatic aspects of actions (what an action does) (the result of applying the action to the program state)
- There are declarative aspects of actions (when actions ca be applied, serialization for transmission over network)

This is needed for constructing a program, which can be set with a goal and which can attempt a series of actions to accomplish that goal.
- "retransmit messages from a list of messages, until a receipt confirmation has been received from the destination"
- "find a list of peer who each have data item that hashes to H" (DHT lookup)

Downloading a file is
- "find a list of peers who each have data item that hashes to H"
- "from the list of peers make download requests for chunks of file, until all chunks are received"

- there is a series of attempts to retrieve peers for the hash (DHT or super node)
- for each peer, there is attempt to connect to them (may fail)
-- for each connection attempt, there is an attempt to find a path to the peer (may fail)
- for each connection, there is an attempt to make the chunk download request (may fail)

This type of program is not procedural or declarative, but uses both and is defined in terms of behaviors.

- if file is not downloaded, find peers to who have the file which hashes to X
- if peer is known, but are not connected, then attempt to connect to the peer
- if connected to peer, requests chunks which have not been downloaded
- if file is done downloading, terminate

The language actually looks identical to golang, except that there is a meta-syntactic operator for creating higher order structures like behaviors, attributes, goals and higher order concepts for implementing things like this.

The language has everything stripped out, so I may be able to implement it in a few thousand lines. I am trying to figure out
- should I do this later
- should I do prototype first before writing this

The largest problem is that I dont have a pseudo-terminal that is cross platform and I need a meta-circular interpreter for driving the terminal gui widgets and the best way to do that is an early version of the scripting language.

The scripting language has added security benefit of being memory safe. In theory, you can strip out the whole operating system and just have a program for the networking drivers and another program for disc.

I should stop thinking about it and just code.

Pseudo Terminal:





I want to be able to quickly open a box, type text into into, hit enter, run a command. Write a program, select a data object, apply operations to the data object, drag boxes around the screen, connect to foreign server, implement a chat program in a few lines that connects to a server and has a chat room, display graphs etc...

I find it frustrating that it takes more than five minutes to do any of those things. I have data and program state and I just need a quick prototype gui for displaying it and letting the user interact with it. Nothing does that well. It is very frustrating especially cross platform. Just getting a cross platform eval loop, for a Bitcoin exchange on the command line, is hell.

I tried to use golang as the scripting language, but golang does not have a metacircular evaluator yet. I cannot do something like iPython Notebook in golang yet and embed it in the terminal.
 
For the meshnet gui you end up
- writing an opengl application usind SDL to abstract mouse wheel, clicking, key presses and API for events like setting characters and window resizing
- writing a scripting language in golang
- rewriting the gui front end to use the scripting language and the application backend
- writing a terminal multi-plexer and full environment
- writing a framework for making meteor/Angular.js type terminal applications and layout
- rewriting most of unix as it existed in the 70/80s

However, what this gives you, is a very clean, very self contained environment that can be dropped anywhere and is security sandboxed.
- an environment that can be compiled down and run in the browser
- an environment that can run on bare metal on a Raspberry PI
- an environment that can be run on Windows, OSX, Linux and has the same interface and feel
- less than 20,000 lines of code and no room for backdoors

I think for IoT there is an argument towards standardization and stripping out everything. Getting rid of groups, users, permissions, rings, ... and just reducing linux down to nothing and minimizing the number of concepts or things that exist. Pushing everything into user space. Replacing files with software objects and enforcing everything as being a software object.

Containerization, L4, COLA, cloud computing, IoT, Golang, Urbit, docker, Tox, etc.... These are all part of a cycle where we go back and reevaluate the pile of crap we are building upon.

This may be necessary in the long term, especially given the aggressiveness of the exploits being placed into Java, PHP, OpenSSL, SystemD.  The governments have decided that they are going to ruthlessly attack the open source community and drag everything down into the mud they can.

This is especially, frustrating, because if you are using crypto or applications for secure communication, that is detected and then your computer can automatically be flagged for automated root-kitting. The attack cycle is being automated end-to-end, with automated targeting and data ex-filtration.

- start from day 1 with memory safety
- start from day 1 with completely open source drivers and no binary blobs
- start from day 1 with deterministic builds
- start from day 1 with containerization and application sand boxing
- start from day 1 with everything in user space

The whole internet is in the process of being refactored and rewritten. Many of the existing protocols and encryption methods will just be abandoned by necessity, as soon as alternatives become available.
- IP addresses replaced by public key hashes
- static files referenced by hash (content addressable memory)
- alternatives to domain and CA that do not require centralized third parties
- all software in memory safe language, that is not backdoored
- software defined networking, making interception and censorship impossible
- default encryption end-to-end for all applications
- compartmentalization of application data and sandboxing (app store type installation, uninstallation, data synchronization between devices)
- improved process management (a single well defined hierarchy of processes in memory)
- abstraction of file system to eliminate differences between remote and local files
- self-describing data APIs (reflection upon APIs exposed by a processes and hardware) with single standard for data exchange between processes
- elimination of difference of difference between local and remote software objects and resources
- containerization, no need for super-users, ability to do everything in user space, recursive encapsulation of workspaces, sandboxes and processes ("turtles all the way down")
- one language for both client side and server side (arbitrarily, or something that looks more like golang and is not javascript).
- new method of GUI layout, inspired by DOM/CSS (simplification) but which is not DOM/CSS, that is used for both the operating system UI, applications and web-applications (no distinction between desktop applications and remote applications).
- elimination of difference between desktop applications, mobile applications and web-applications
- universal platform between mobile, tablet and desktop (and there is something above desktop that does not exist yet, corresponding to large scale ubiquitous, ambient and volumetric compute surfaces)

All of the recent software projects are moving in this direction, incrementally and piecemeal. So there is an emerging platform, that aspires to universality and simplifies or eliminates everything complex or varied about the existing computer. There are simplifications required and then new programming abstractions required, to deal with systems where a single person has 300 devices, including light bulbs, speakers, microphones, thermostats, tablets, coffee makers, drones, robots, servers, cell phones, laptops, storage drives, networking nodes, etc...

You have systems of systems, that need to be able to interact cooperatively, to achieve goals or maintain states or take autonomous action to optimize criteria. The Skycoin meshnet is one of the first system of this type (aside from mega-projects like the global information grid, internet and military, manufacturing prototype systems).

I am still trying to figure out how, I can avoid needing to write a pseudo terminal or metacircular evaluator and a new scripting language for what I need. Or if I can get away with a bare minimum and only minimum amount of work to implement it.

- i need a pseudo terminal that is cross platform and can handle mouse scroll
- I need a meta-circular evaluator
- I need ability to embed a compute context in a another computing context (the context is a first class object)
- need to be able to construct the program as a series of operations applied on a program object
- I need abstraction of the inputs the program responds to, restricted to length prefixed messages (simple, algebraic universal CSP construct)
- I need golang like procedural functions, structs, module structure (works very well, very simple, easy to implement)
- I need "behavior" type programming like in CODA (easily implemented with meta-syntactic construct on top of base language) (helps for networking operations and drastically reduces lines of code required)
- library for Meteor type object synchronization (helps for exchange and writing chat programs)
- Ability to call remote API/RPC on remote objects in syntax similar to local
- small library for simple pseudo-terminal GUIs

I am trying to find the minimum set of what needs to be implemented for very basic application, such as the meshnet gui. There is a basic application, that can be grown or extended later.

hotsurfing
Member
**
Offline Offline

Activity: 105
Merit: 10


View Profile
January 21, 2016, 03:31:33 AM
 #2238

Nice work Skycoin you're a true inspiration
chompyZ
Sr. Member
****
Offline Offline

Activity: 291
Merit: 250


View Profile
January 22, 2016, 04:28:49 PM
 #2239

Seems like someone is preparing to ship OTC meshnet hardware  Smiley
Perhaps with built-in settlement for usage/time.

http://www.cnet.com/news/what-is-project-decibel/
td services
Sr. Member
****
Offline Offline

Activity: 448
Merit: 250


black swan hunter


View Profile
January 27, 2016, 05:44:38 PM
 #2240

Some of the projects being developed right now are existential threats and much more political than either skycoin or bitcoin, but inevitable.

Any insight to offer on what these projects are? They sound very interesting.
Pages: « 1 ... 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 [112] 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 ... 200 »
  Print  
 
Jump to:  

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