
Urbit Is Building a 'Virtual Galaxy' for Bitcoin Nodes - beefman
http://www.coindesk.com/urbit-developers-bitcoin-node/
======
jobeirne
This project is reinventing a bunch of stuff that's completely orthogonal to
the goal of a decentralized app platform. They've written an OS, a filesystem,
a networking layer -- all in a completely new language that looks
incomprehensible
([https://github.com/urbit/arvo/blob/master/arvo/clay.hoon](https://github.com/urbit/arvo/blob/master/arvo/clay.hoon)).

I doubt very much this project will get much traction due to the enormous
conceptual overhead of working within its ecosystem. There's a huge learning
curve approaching something like this from the Unix/C ecosystem, and I don't
think it's merited.

~~~
seibelj
That language is atrocious! That has to be compiled / transpiled from
something higher level

~~~
throwanem
It will be.

------
Animats
What did they sell? Apparently, some (all?) of their potential user ID space.

Urbit, under all their jargon, is a base for a federated social network. Sort
of like Diaspora. (Right now, they say they have chat, so it's sort of like
IRC.) They recognize that a big problem with social networks is spam. If you
can freely create user IDs, it's hard to stop spammers. But if user IDs cost
money, then spam blocking costs spammers money (their purchased online
identities lose value) and spamming is no longer cost-effective.

So their solution is to create a market in user ID space. It's not clear if
this will work out, but it's something. If you buy an ID, you own it, in the
Bitcoin sense. That is, you're not at the mercy of some service provider, and
can freely move from one service provider to another without their permission.
(I think this is right. Not entirely sure.)

It's not clear if this will work in the social space. They have the underlying
machinery, but nobody has built the Facebook or WhatsApp or Dropbox killer on
top of it yet, so it's useless to end users at this stage. The concepts are
interesting; it's good to see people trying original ideas.

If someone builds an easy to use social application on this and gets some
services to host it (like Wordpress hosting), this could get actual users.
Right now, it's a developer toolkit.

~~~
hault
urbit dev here: we completely agree that we need to have _useful_ apps on top
of it. We have an alpha for super simple wordpress-like hosting (in fact, the
urbit.org site uses it!). All you have to do is drop a few md files into a
tree and you're ready to go. See
[http://urbit.org/docs/using/web/](http://urbit.org/docs/using/web/)

Joey Krug, founder of Augur, had a great post on how he could see Urbit as
being a great compliment to the blockchain[0]:

"If the blockchain is useful in those areas where [almost] no trust exists,
Urbit has the potential to be useful for essentially everything else.

To give a concrete example, this would be useful for any Ethereum app that
doesn't want to store data on a central server (which most cannot do whether
for legal, security, or ideological reasons). The idea to me is that the
internet wasn't built very well to run decentralized apps [which is definitely
the case if you've ever tried building one without having to rely on central
servers for caching, storing accounts, comments, etc.]. It's, imo, a nice
complement to blockchain tech like Ethereum and Bitcoin. Long term once it's
out and running I see dapps like Augur [a decentralized prediction market
which I work on - [http://augur.net](http://augur.net)] using it so users can
securely store their private keys, report data, market data, trade history,
etc. and easily go across/between devices as opposed to just using
localstorage [which is a pain to migrate using] or fetching it from ethereum
every time [which is very time consuming and has lots of overhead].

If we're going to seriously move in this direction of decentralization, at
scale we need something like urbit. No one else is really tackling the same
set of problems. Came across this quote on it by Alan Kay: "They have verve,
and that's generally a good thing. In this case there are a lot of details
that need to be grokked to make any reasonable comment. The use of combinators
(a kind of dual of lambda calculus) harks back to an excellent thesis by Denis
Seror at the University of Utah in the 70s that produced a safe, highly
scalable and parallel implementation. I haven't looked at it more deeply (and
probably should)."
[[https://news.ycombinator.com/item?id=11810177](https://news.ycombinator.com/item?id=11810177)]
- very cool!"

And finally, another idea:
[https://urbit.org/posts/objections/#killer](https://urbit.org/posts/objections/#killer)

[0]
[https://news.ycombinator.com/item?id=11817721](https://news.ycombinator.com/item?id=11817721)

~~~
lisper
> We have an alpha for super simple wordpress-like hosting

And what is the advantage of this over wordpress? Or even just raw nginx?

I don't necessarily mean what is the advantage of urbit in its current state
-- I get that this is an alpha release. What I'm asking is: when urbit becomes
what you envision it to be, what tangible advantage should I as a user expect
to see from using Urbit over using Wordpress or nginx?

~~~
throwanem
The combination of personal ownership of data, worldwide visibility (if you
want it), and iPhone/Facebook-tier ease of use.

Right now, you can only have two of those at a time. You own your Wordpress
install and it's world visible, but your mom needs you to administer it. (Not
every mom is lucky enough to have a kid like you.) Your Facebook is world
visible and your mom can set one up, but you don't own it (quite the
converse). You own what's on your iPhone and your mom can use one, but you
can't publish anything with it - you need a separate service with its own set
of tradeoffs.

Urbit's USP is that it's designed to be able to provide all three, along with
a cryptographically verifiable identity system that can make spamming and
shitposting costly enough to be economically inviable.

All this is ambitious as hell, of course, and it's very early days yet -
there's every chance Urbit will go down in history as a curious but ultimately
doomed also-ran, if it goes down in history at all. But it's easy to
understand why people find its design goals appealing.

~~~
lisper
> The combination of personal ownership of data, worldwide visibility (if you
> want it), and iPhone/Facebook-tier ease of use.

OK, I am totally down with that set of goals. But...

> You own your Wordpress install and it's world visible, but your mom needs
> you to administer it.

That's not clear. Have you ever actually used Wordpress? It's actually pretty
friendly to non-technical users. But OK, let's accept as a premise that
Wordpress is beyond Mom's ability, and that this is a problem that needs to be
solved. There are two possible ways to solve it:

1\. Modify Wordpress to make it more mom-friendly

2\. Throw out everything that has been done in computing to date and start
from scratch, rebuilding everything from the ground up (well, except that
we're still going to run on unix and hand-compile Hoon to C when performance
matters, but we'll let that slide).

Why is approach #1 so unlikely to succeed that we should even try #2?

~~~
throwanem
> It's actually pretty friendly to non-technical users.

To _use_ , sure. To install and administer? Not so much. You can get a
Wordpress.com account, but that doesn't solve the ownership problem.

Sandstorm.io goes some way toward fixing the specific problem of Wordpress
being impossible for non-technical users to install and administer. (Probably
quite a long way, in fact.)

And that's great! For _Wordpress_. But it doesn't do anything to solve the
larger problem of ownership of data, which - and I appreciate I didn't make it
clear in the comment to which you're responding, but see [1] - is in this case
a cipher for ownership of identity, which right now belongs to social media
networks, which is another way of saying it belongs to Facebook.

It's not clear that something like Urbit is necessary to solve this problem.
But it's also not clear that something like Urbit is _not_ necessary, and I
don't know of anyone else who's even trying to attack the problem directly.

[1]
[https://news.ycombinator.com/item?id=12007854](https://news.ycombinator.com/item?id=12007854)

~~~
lisper
> To install and administer? Not so much.

I ask again: have you ever tried? Because installing WP can be as easy as:

sudo apt-get install wordpress

after which all the admin is done through a web interface.

> I don't know of anyone else who's even trying to attack the problem
> directly.

[https://owncloud.org](https://owncloud.org)

[https://mailinabox.email](https://mailinabox.email)

[https://github.com/rongarret/BWFP](https://github.com/rongarret/BWFP)

~~~
throwanem
Not for people already comfortable with VPSes and firewalls and SSH keys and
command lines and apt-get. For _everyone_.

And that matters, because as I learned the hard way, being able to do it just
for yourself isn't enough. A social network is _social_. If you're not on it
and everyone else is, you still lose.

------
wille92
Can someone give a synopsis of Urbit? Every time Urbit comes up, I skim their
website but get pretty lost in marketing-speak. I see a lot of "control your
data", "digital freedom", and "general purpose computing" without any short,
to the point explanation of what the heck it's all about.

~~~
kefka
Animats has a great way to describe it (
[https://news.ycombinator.com/item?id=11820643](https://news.ycombinator.com/item?id=11820643))

It has the cult-like approach of Xanadu - use new terminology, tie it to an
economic model, and re-invent everything. Also, there seems to be a cult
leader.

Jargon: noun (data), nock (interpreter), mint (compiler), span (type), twig
(expression), gate (function), mold (constructor), core (object), mark
(protocol). It's Newspeak for programmers.

The overall concept seems to be a federated social system, like Diaspora.
Everybody has a online presence which they own. But you can take your ball and
go home, moving your online presence somewhere else, and it still gets found
by others. Somehow. (That's a hard problem at scale.)

There's a claim that nobody can create vast numbers of identities for spam
purposes because there are only 2^32 possible human identities. (That number
should have been at least as big as the population of the planet. 2^36,
maybe.) Apparently you have to buy address space, which is a profit center for
somebody.

There's a download, which gets you their "OS" (which runs on top of another
OS), an interpreter for their Hoon language and access to their chat
environment.

Not sure what to think of this, but someone put in a lot of work.

~~~
derefr
Re: the jargon, there's a technical reason for it. Urbit atoms—which are the
Nock runtime's only non-product "type"—are a lot of things, but they're
_basically_ a union-type between a bit-string and a bignum (i.e. a way to talk
about a set of packed bits and an arbitrary-length number interchangeably.)

Bignums themselves are somewhat expensive data structures to pass around, so
runtimes that use them usually don't use them for everything; instead, they
have an Integer type that has Bignum (data-structure on the stack, or pointer
to data structure on the heap) and Fixnum (regular integer machine-register)
implementations, and write a glue layer to treat the two interchangeably.

So, you've got a runtime where your only "type" is an integer, but it breaks
down into "cheap integers" and "expensive integers."

Now, in most dynamic-language runtimes (i.e. runtimes where type-tagging and
pattern-matching _doesn 't_ all happen at compile-time), you want a type that
"represents itself" to use for type-tagging, dictionary keys, function
references, etc. This is usually a Symbol or Interned String (or Atom!) type,
with the runtime keeping a symbol table mapping fixnums ('cheap integers') to
strings (which are effectively, in Nock, 'expensive integers'). You need this
table, because dynamic language functions manipulate/build/pass around/compare
a _lot_ of symbols, and the interpreter would be really slow if you were
passing and comparing 'expensive integers' by value.

But Nock can't really keep a symbol-table, because every "atom" ID embedded in
a Nock program is a _universal_ ID, a handle any other Nock runtime might be
passed and attempt to manipulate. (And you can't even use a global symbol-
table that uses hashing—i.e. a DHT—because Nock doesn't differentiate the
"Symbol" atoms from any other atoms, so you'd have to treat every atom the
same and hash them _all_ —and, even _pretending_ that's cheap, you're
eventually going to get collisions that way.) The only symbol table that works
in a globally-distributed system is one that maps bitstrings to themselves.
And that's as good as no symbol table at all.

So what do you do when you can't make your strings ('expensive integers') into
interned strings ('cheap integers')? Just use the cheap integers from the
start! In Nock, this means that all the runtime-defined symbols—all the atoms
in the language and the stdlib—are bitstrings that are short enough to be
encoded _directly_ as fixnums. Since Nock has the requirement of running on
32-bit machines, that means 32-bit bitstrings: four-ASCII-character strings.
Thus most of the jargon.

Do note, it's not _required_ to use four-letter names for "symbols" _you_
manipulate in the Nock runtime; but doing otherwise means passing around
'expensive' handles instead of 'cheap' ones.

\---

I find Urbit's solution here _interesting_ —but they probably chose it for
purity's sake.

I would like to contrast it to the implementation in Erlang's BEAM runtime
(which also, coincidentally, has 'atoms', but where these are simply its
particular symbol type):

• an atom table is kept by each "node", with no need for the atoms in each
node to have identical mappings;

• atom IDs are mapped back to their original bitstrings when serializing any
data structure including them, even if just for internal persistence;

• each distributed-RPC connection _between_ nodes is stateful, keeping its own
atom table (kept synchronized on both sides by additional messages) as a cache
to speed up communication between nodes. This can be seen to be similar to a
streaming compression algorithm's Huffman tree cache, but it's interesting to
look at it as the connection being its own virtual 'node' that has this
particular atom table, which both nodes are then modelling and translating
to/from.

~~~
kenko
None of that strikes me as an explanation for the obtuse _jargon_ in
particular.

~~~
derefr
In summary: the runtime desires you to call things four-letter-words. So the
creators have decided to make up new four-letter words for everything they
have to refer to in code, rather than just, say, abbreviating perfectly good
non-four-letter words.

------
darawk
Though I don't have a whole lot of confidence in this project...I do
appreciate the Borges reference in the company's name. Truly a wonderful
story, and highly relevant to the project they are attempting to undertake.

[http://art.yale.edu/file_columns/0000/0066/borges.pdf](http://art.yale.edu/file_columns/0000/0066/borges.pdf)

I'll never forget the first time I read the opening few sentences. I don't
think i've ever had a literary experience like it before or since:

> I owe the discovery of Uqbar to the conjunction of a mirror and an
> encyclopedia. The mirror troubled the depths of a corridor in a country
> house on Gaona Street in Ramos Mejia; the encyclopedia is fallaciously
> called The Anglo-American Cyclopaedia (New York, 1917) and is a literal but
> delinquent reprint of the Encyclopedia Britannica of 1902. The event took
> place some five years ago. Bioy Casares had had dinner with me that evening
> and we became lengthily engaged in a vast polemic concerning the composition
> of a novel in the first person, whose narrator would omit or disfigure the
> facts and indulge in various contradictions which would permit a few readers
> - very few readers - to perceive an atrocious or banal reality. From the
> remote depths of the corridor, the mirror spied upon us. We discovered (such
> a discovery is inevitable in the late hours of the night) that mirrors have
> something monstrous about them. Then Bioy Casares recalled that one of the
> heresiarchs of Uqbar had declared that mirrors and copulation are
> abominable, because they increase the number of men.

------
Animats
Their take on namespace management is interesting. The trouble with most kinds
of online namespace (IP addresses, domain names) is that somebody has control
over it, and they can jack prices up. You don't really own it; you're just
renting.

[What follows is how I think Urbit works. This may be incorrect.]

Urbit seems to actually sell user IDs. Once you own one, some blockchain like
system registers this, and you own them forever (unless and until you lose
your private key, as with Bitcoin wallets). So Urbit doesn't have the problem
of domain registrars raising renewal prices.

Your user ID leads to an online presence on some hosting service, but the
system enforces number portability - you can move to another service without
the consent of the leaving service. So having an online presence will be price
competitive.

Somehow, the hosting services which host user IDs have a distributed directory
system so that they can find any given user ID. Unclear how this works, and if
it both scales and is secure against attacks.

If Urbit can actually do all that, it's useful as a distributed directory
management system. This is useful. Once you have that, you can do chat (this
is apparently supported now) and that can be extended to voice and video
calls. All without central control.

So, is this a Skype killer? You have to buy a user ID, and then you have to
buy hosting. That's going to cost a few dollars a month. It's nice that it's
federated and presumably ad-free, but it competes with everybody else's ad-
supported chat program. It's hard to compete with free.

------
astrodust
"The project is composed of several parts: a virtual machine (dubbed "Nock"),
an operating system ("Arvo"), a programming language ("Hoon") and a peer-to-
peer network ("Ames")."

You can introduce any one of those and _possibly_ survive. Doing all four at
once? You're doomed. Sorry.

~~~
frou_dh
What's that quote ... people who say something cannot be done should not
interrupt those doing it ?

~~~
yongjik
Personally, I prefer this quote from Hannessy and Patterson:

> The level below main memory contains rotating magnetic disks that take
> millions of clock cycles to access. Because of the great discrepancy in
> access time, no one has yet built a virtual memory operating system that
> writes through main memory to disk on every store by the processor. (This
> remark should not be interpreted as an opportunity to become famous by being
> the first to build one!)

------
whamlastxmas
I thought this was going to be real estate and bitcoin merged together. Would
be interesting to see how those two concepts might merge. Maybe the ability to
buy land using bitcoin, and instead of holding a deed/title issued by the
state, it remains with a holding company and you prove ownership with a
digital private key. Useful for people who want to be anonymous but still
sort-of-directly own real estate.

~~~
holychiz
this is fairly trivial to implement conceptually in Ethereum. What's hard is
to integrate that system with existing legal and social framework.

~~~
asgardiator
Ethereum, if Solidity were Haskell

------
davidgrenier
I'm curious to know how the Urbit team went about choosing the stars to
distribute, it seems the 1020 stars amount to almost the address space of 4
galaxies. Have 4 galaxies been picked or are said stars distributed across
various galaxies. If the galaxies have been hand picked, could we know their
names?

~~~
state
This is a great question. We haven't yet picked which galaxies to use, but
they'll come from Tlon's allocation. You can find the whole list in here:
[https://github.com/urbit/arvo/blob/master/arvo/ames.hoon](https://github.com/urbit/arvo/blob/master/arvo/ames.hoon).

Since we have buyers in the order they came in, I think it'd be fun to
distribute stars sequentially across sequential galaxies. But we really aren't
sure yet.

~~~
davidgrenier
I think "fun" would be letting people choose their galaxy if it doesn't matter
to galaxy owners (which it very well might).

Can you confirm that all galaxies save ~zod are signed by ~zod? I'm presuming
here ~zod isn't self-signed.

~~~
privong
I can't speak to the other galaxies, but ~zod is "self-issued":
[http://zod.urbit.org/](http://zod.urbit.org/)

------
danpalmer
I might be misunderstanding Urbit (quite easy it seems), but this idea of
selling off what is essentially "land" seems to go against some of the ideas
that it pushes - i.e. the democratisation of the web. Also, they appear(?) to
have sold off rather large chunks/the address space seems small, is it going
to need a "v6" to bring it out of beta like the internet did?

~~~
Avshalom
... I don't know the Urbit team all that well, but Yarvin is in particular
publicly anti-democratisation of anything. So I'm assuming this is in fact
according to plan.

------
smellf
Sounds kind of like an evil Second Life. I predict it will go as Second Life
did - prepare for the Urbit dick-based economy.

------
beefman
More info here: [https://sale.urbit.org/](https://sale.urbit.org/)

------
kristjansson
So it's stars, comets, and galaxies now? What happened to the battleships,
carriers, destroyers, ...?

~~~
gagege
For a while everything was "submarines".

~~~
jpt4
Which are now comets, and yachts are now moons, for the record.

------
throwanem
A recent HN discussion including Tlon principals and discussing Urbit in some
length and detail:
[https://news.ycombinator.com/item?id=11817721](https://news.ycombinator.com/item?id=11817721)

------
theseatoms
Is there a secondary market?

~~~
wmf
No, and they're kind of discouraging it. "We're resistant to any technical
measure that would effectively "securitize" or "monetize" Urbit ships — either
rendering them fungible and/or trivially transferable, or defining them as
fractional claims against some shared asset."

On a more practical level, since most of the address space is unallocated it
seems simpler/cheaper to buy fresh space from Tlon than secondhand space. Like
how nobody was buying IP addresses when ARIN was giving them out for free.

~~~
tinco
When transferring ownership of a planet, is it done through a cryptographic
transaction like in Bitcoin, or is it a plain transfer of a private key that
manages the planet?

If it's the latter I can see how 'second hand space' really is a bad idea as
there's no way to enforce the transfer of a private key.

~~~
jpt4
Namespace transfer is more like creating a new PGP key and revoking the old.
You broadcast the new key and can prove that the old key is invalid via the
revocation certificate, but there is no distributed consensus mechanism, e.g.
a blockchain; the new information simply is propagated throughout the routing
network.

------
blntechie
I get their goal of users having control over their data but limiting the
identities artificially sounds pointless to me. Spam accounts are part of the
internet and it's time we acknowledge and consider them as part of the overall
user base. Or maybe I'm misunderstanding their reason for limiting the
identities.

~~~
davidgrenier
I may misunderstand your statement, it sounds like you are saying spam is just
part of the world and we just have to live with it.

I do not share that to be an axiom, clearly they are trying to solve, among
many other, that one problem specifically.

------
JeremyBanks
Where are these actually for sale? The website still says they'll be for sale
"soon".

~~~
hault
urbit dev here: the sale site is sale.urbit.org. Unfortunately, we're sold out
for now. There will be another crowdsale, but we do not yet know the details.
The first announcement will always go out to our mailing list (see urbit.org).
This sale sold out before we announced it anywhere other than the list.

~~~
zekevermillion
I got your email, but not until I checked after dinner so missed the very
brief window.

A couple observations -- The stars were underpriced, by how much it's hard to
know. If your goal is to seed the owner class with random giveaways, this was
a success, I suppose. Second, 1020 stars was a HUGE amount to give away. I
thought perhaps you would pre-sell one star's share of planets for $1 /ea.
$205 for a _star_ is nothin.

From my armchair, what I would suggest is to focus on developing a secondary
market for urbit addresses PRIOR TO any further crowdsale. That way you can
get some indication of demand before pricing another Tlon-organized event.

Presumably $209k is not interesting money, even to Tlon. It's a shame you gave
away 1% at that price but maybe will work out in the end as a way to bootstrap
the network with early enthusiasts.

~~~
erikpukinskis
If they just give away 1% every time they can do 70+ sales before they even
use up half.

------
davidgrenier
Urbit being already able to host website, I presume it's possible for me to
get a web domain name that will somehow direct to urbit.org and resolve
through the planet name to my Urbit?

~~~
chc4
If you start an urbit, it binds a webserver to localhost:8080. You can just
point a DNS entry to the server hosting the urbit, plus a cache and reverse
proxy or whatever so it doesn't die (*.urbit.org is behind a Varnish cache).
No need to use urbit.org as a resolver, which proxies all HTTP traffic through
~doznec.

------
davidgerard
All of urbit.org is in robots.txt, by the way - if there's anything
interesting on there that catches your eye, make sure it's in archive.is.

------
dwb
Loving the creepy Boards of Canada vibe in the video.

------
fowkswe
Is this like Pied Piper?

------
groby_b
P.T. Barnum comes to mind. There's a sucker born every minute.

------
internaut
Weren't people on the mailing list supposed to receive notifications about
sales of Urbit land/namespace?

The article doesn't say where this crowdsale took place. The articles makes it
sound like it was offered to the public, if so this is the first I've heard of
it.

~~~
hault
We did send a notification out to our announcements list (see urbit.org), but
have heard that it went to some people's spam or promotions folders. In
retrospect, we should have also sent it out to urbit-dev
([https://groups.google.com/forum/#!forum/urbit-
dev](https://groups.google.com/forum/#!forum/urbit-dev)), but the sale was
over before we got around to it.

------
amasad
I'm curious as to why the HN story[1] about the sale was flagged yesterday?

[1]:
[https://news.ycombinator.com/item?id=11997773](https://news.ycombinator.com/item?id=11997773)

~~~
haldean
They specifically asked for it to not be publicly posted until this morning;
yesterday was mailing-list-members-only. See also this subthread:
[https://news.ycombinator.com/item?id=11997925](https://news.ycombinator.com/item?id=11997925)

~~~
Daviey
That doesn't seem to be a good reason for it to be flagged.

~~~
jessaustin
Those with flagging powers can flag for any reason they like. Apparently there
are a number of urbit true believers on HN.

------
TylerE
Proof-of-concept near-vaporware to suck in gullible VCs. Just like all other
dumb crypto startups.

~~~
dang
This breaks the HN guidelines, which ask you not to call names in comments
here. Please (re)-read and follow them:

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

[https://news.ycombinator.com/newswelcome.html](https://news.ycombinator.com/newswelcome.html)

Nasty dismissals are of negative value to this site even if there's a legit
point locked within them.

We detached this comment from
[https://news.ycombinator.com/item?id=12003805](https://news.ycombinator.com/item?id=12003805)
and marked it off-topic.

------
res0nat0r
From the Github README:

> Urbit is a clean-slate system software stack defined as a deterministic
> computer. An encrypted P2P network, %ames, runs on a functional operating
> system, Arvo, written in a strict, typed functional language, Hoon, which
> compiles itself to a combinator interpreter, Nock, whose spec gzips to 340
> bytes.

Geez.

