Bitcoin Forum
May 25, 2024, 07:49:21 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 »
61  Bitcoin / Bitcoin Discussion / Re: Peter Schiff: Gold vs. Bitcoin on: November 22, 2013, 07:40:56 AM
... So that means the bulk of Bitcoin-wealth right now is speculation. And that definitely spells a bubble.
I think the fifth time I've dropped this insightful post in response to "bubble": http://unqualified-reservations.blogspot.ca/2013/04/bitcoin-is-money-bitcoin-is-bubble.html

Snippet:
Quote
The BTM asserts that money and a bubble are the same thing.  Both are anomalously overvalued assets.  Both obtain their anomalous value from the fact that many people have bought the asset, without any intention to use it, but only to exchange it for some other asset at a later date.  The two can be distinguished only in hindsight.  If it popped, it was a bubble.  If not, money - so far.

Interesting post. Lots to think about.

Where it falls a bit short for me though is where does the anomalous overvalue come from?

In the case of gold you could say because of its store of value and other utility uses. Very few people, even nowadays with so many gold bugs, are buying gold in the expectation of making huge returns in the future. And of course that's true for fiat as well. At least I'm not aware of anyone buying USDs because they expect them to be worth significantly more in the future. We use USDs because that's the most common medium of exchange here in the US.

But with Bitcoin I'm just not seeing that. What I am seeing is the vast bulk of the people who use Bitcoin get into it on speculation of huge returns in the future. So the "anomaly" is circumstance and law with fiat, it's utility with metals, and it's speculation with Bitcoin.
Gold is a store of value which carries no counterparty risk.  Its primary use today is to hedge against the tail risk of total systemic collapse of the financial system, since ones ownership of it doesn't depend on the solvency of anybody else.  Very little of gold's demand comes from its non-monetary uses, so at $8T this is quite the "anomaly" indeed (though it's source its perfectly tractable).

My interpretation is that Bitcoin serves the exact same purpose as gold, only better, and it competes with gold for this role.  Therefore it introduces a risk to gold holders that they will need to hedge against by diversifying this holding to some degree into bitcoins.
62  Bitcoin / Bitcoin Discussion / Re: Peter Schiff: Gold vs. Bitcoin on: November 22, 2013, 05:37:20 AM
... So that means the bulk of Bitcoin-wealth right now is speculation. And that definitely spells a bubble.
I think the fifth time I've dropped this insightful post in response to "bubble": http://unqualified-reservations.blogspot.ca/2013/04/bitcoin-is-money-bitcoin-is-bubble.html

Snippet:
Quote
The BTM asserts that money and a bubble are the same thing.  Both are anomalously overvalued assets.  Both obtain their anomalous value from the fact that many people have bought the asset, without any intention to use it, but only to exchange it for some other asset at a later date.  The two can be distinguished only in hindsight.  If it popped, it was a bubble.  If not, money - so far.
63  Bitcoin / Development & Technical Discussion / Re: Forking BC with Value Continuity on: November 22, 2013, 12:14:19 AM
Just because a transaction exists that destroys a Bitcoin doesn't mean that it is accepted in the main chain. So how would the altchain ensure that only valid bitcoin transactions count? I think this is possible, but it would be strange for an altcoin to have to rely on bitcoin validation as well. For example, validators on the altchain would also have to validate the bitcoin chain. A couple months ago there was a large fork in which dozens of blocks were rewound. This would affect the altchain too?
I don't think this is strange at all.  IMHO the technical underpinnings are far less important than the economic properties of the currency.  If achieving a desired economic property (supporting Bitcoin's unit of account, instead of competing with it) comes at the expense of a bit more technical complexity, then that could be a valid trade off.

Getting at least one cryptocurrency to have a usable, resilient unit of account is a damn hard problem, requiring a massive network effect.  If not all useful innovations can be incorporated into Bitcoin directly, then it'd certainly inspire confidence to know that their implementation doesn't constitute a financial risk.
64  Bitcoin / Bitcoin Discussion / Re: It can't be bitcoin for much longer on: November 21, 2013, 08:25:42 PM
It doesn't follow that because you have frictionless transfer between two assets, the two assets do an equally good job of transferring purchasing power across time.  All else being equal, you use the more liquid one for that.  That's why the equilibrium is to converge on a single standard.

Why, and why not? We are not economists nor currency experts, so interested in the real reasons that this may be true.
Why liquidity is a desirable property of a store of value?  It's the property that you can always find buyers or sellers at large volumes - what makes this thing useful to large players.  It's also a necessary condition for having a deeply traded market - one whose price doesn't move much during large buys or sells.

That this property is very slow and difficult to achieve should be obvious.  It's that chicken and egg problem that Bitcoin has been gradually solving, that's characterized by massive volatility.  That volatility is a problem for those who are primarily interested in predictably transferring purchasing power across time, and its source is not yet having enough market liquidity (and in turn, market depth).  If Bitcoin manages to achieve sufficient liquidity for large scale finance, then where's the incentive for the big players go through the slog of bringing another one up to speed, unless it offers some majorly useful technical breakthrough?  And then wouldn't it be a whole lot easier, and financially less risky, to just upgrade Bitcoin?

Everybody acting like squirrels running from copycat to copycat is not conducive to very desirable stability, and so a Nash equilibrium is for large, thoughtful, entrenched interests to make up their minds and get on with business.
65  Bitcoin / Bitcoin Discussion / Re: It can't be bitcoin for much longer on: November 21, 2013, 09:48:28 AM
that's not what I mean. I mean bitcoins too much of a beast that can't be handled for much longer. The bigger they are, they harder they fall. A new alt coin will be it's successor. and then that will grow like a cancer, then another one will take it's place. Until the general population gives way for crypto to be stabalized

Indeed. Everyone screams "network effect!" without realizing that Ripple has already to a large extent solved the transparent exchange UX problem, and that holding even thousands of currencies in the future won't be such a big deal. 100% in agreement that Bitcoin is not the final frontier by any stretch.
It doesn't follow that because you have frictionless transfer between two assets, the two assets do an equally good job of transferring purchasing power across time.  All else being equal, you use the more liquid one for that.  That's why the equilibrium is to converge on a single standard.
66  Economy / Speculation / Re: 21M BTC might be enough for everyone on: November 20, 2013, 08:17:30 AM
I don't know if this was discussed but I am not joking. With the current 10 minutes or so waiting time, blockchain size increasing, there's no way bitcoin will be use for microtransactions (although the crowd decided how much money sends and for what purpose).

What if bitcoin will be a niche, serving cryptogeeks, nerds, libertarians and maybe some "speculators". We could see a critical mass achieved soon, maybe even this year with all the media hype, US senate debate etc. Once critical mass is there, price will flat-line. Won't matter who gets in and out, it will be some kind of equilibrium. Not all people would want bitcoin or know what to do with it.
Bitcoin micropayment channels: https://bitcointalk.org/index.php?topic=244656.0
67  Bitcoin / Bitcoin Discussion / Re: Destroying bitcoin is easy... on: November 19, 2013, 05:39:05 PM
It's actually very easy, because only one person is compiling 'official' bitcoin client which is used by thousands users, force this person to corrupt, backdoor 'official' client and you can destroy bitcoin in just few second... and don't give me argument you 'can Compile it yourself' 90% use standard bitcoin-qt client.
No, they use gitian: https://gitian.org/
68  Bitcoin / Bitcoin Discussion / Re: Winklevoss statement on: November 19, 2013, 07:28:04 AM
5% of gold's $8T total valuation.
69  Bitcoin / Project Development / Re: Mastercoin! on: November 07, 2013, 04:12:42 AM
What's up with all the Mastercoin spam in this subforum?  Can you guys try to be a bit more respectful of the other projects and not start a new thread for every single subtopic?  I just counted 19 so far.  I understand you're trying to grow your "mindshare", but it's becoming annoying to even visit here.
These threads serve a lot of people doing interesting things.  It'd be a real shame to temper enthusiasm just because you personally are annoyed with the topic.  Maybe the admin wants to start a dedicated forum space to Mastercoin so you can look at all the developments which are not Mastercoin related.  Whatever.
I'm not asking anybody to temper their enthusiasm, just to please not spam this subforum.  If this volume of threads is really necessary, then I'd definitely agree that a Mastercoin subforum here is warranted.
70  Bitcoin / Project Development / Mastercoin! on: November 07, 2013, 03:01:49 AM
What's up with all the Mastercoin spam in this subforum?  Can you guys try to be a bit more respectful of the other projects and not start a new thread for every single subtopic?  I just counted 19 so far.  I understand you're trying to grow your "mindshare", but it's becoming annoying to even visit here.
71  Bitcoin / Bitcoin Discussion / Re: Bitcoin distribution vs Bitcoin adoption on: November 06, 2013, 09:42:53 AM
I don't know if we're from different planets or if you have the blinders on for the sake bitcoin argument, but you stated under your own presumptions that 500 people now control value equal to a quarter of the world's gold supply--and you call "a small group of people having vast amounts of control" a hyperbole under this scenario? Is based on the caveat you added that they "refuse to ever sell"? Because that is pretty meaningless. Wall Street doesn't "sell" their dollars, they use them to make more dollars.
If you reread my post you'll notice that my comparison was with our very own world and its current pool of billionaires.  As I said, wealth is already centralized to the extent that wild success of Bitcoin would just be a perturbation of the existing paradigm.  That Bitcoin might spawn a few more billionaires just doesn't keep me up at night.
72  Bitcoin / Bitcoin Discussion / Re: Bitcoin distribution vs Bitcoin adoption on: November 06, 2013, 04:27:42 AM
But lets assume wild success - Bitcoin grows to a total value of $10T (roughly gold's, or M2 in the US).  Say a quarter of the bitcoins ($2.5T worth) remain held by 500 die-hards, roughly evenly distributed, who refuse to ever sell.  As of March 2013 there were 1426 billionaires holding onto a total of $5.4T.  So Bitcoin will have grown the billionaire population by ~35%, and increased their overall net worth by just less than 50%.

Meh.  With a world GDP of ~$70T, a 2% annual savings (rough guess) on transaction fees, cash handling fees, bypassing of forex fees, lack of need for options to hedge FX risk, etc. due to Bitcoin adoption would pay this same $2.5T out to "society" in the form of savings every two years.

Argument appears to be thus:

1) Create a new monetary/banking system
2) Give a small group of people vast amounts of control
3) Huh
4) World is saved by innovative idea completely unlike FRB/fiat.

(I know you did not make the point 4 implication, but it is certainly a common theme.)
The reason I introduced some numbers was to show that (2) is hyperbole.
73  Bitcoin / Bitcoin Discussion / Re: Bitcoin distribution vs Bitcoin adoption on: November 06, 2013, 12:35:04 AM
There will always be a strong tendency for early adopters to diversify out of bitcoins as they grow to dominate the portfolio.  People tend not to be comfortable putting all their eggs in one basket.  Even Gavin mentioned doing this during the last run up.

But lets assume wild success - Bitcoin grows to a total value of $10T (roughly gold's, or M2 in the US).  Say a quarter of the bitcoins ($2.5T worth) remain held by 500 die-hards, roughly evenly distributed, who refuse to ever sell.  As of March 2013 there were 1426 billionaires holding onto a total of $5.4T.  So Bitcoin will have grown the billionaire population by ~35%, and increased their overall net worth by just less than 50%.

Meh.  With a world GDP of ~$70T, a 2% annual savings (rough guess) on transaction fees, cash handling fees, bypassing of forex fees, lack of need for options to hedge FX risk, etc. due to Bitcoin adoption would pay this same $2.5T out to "society" in the form of savings every two years.

Note that this rough analysis ignores the fact that this rise of Bitcoin would probably bump some billionaires like Charlie Munger off the list Smiley
74  Bitcoin / Development & Technical Discussion / Re: Creating Bitcoin passports using sacrifices on: October 28, 2013, 05:51:08 AM
I agree, there's just not a need now or in the near future to find ways to raise mining revenues, and burning them is much simpler.
75  Bitcoin / Development & Technical Discussion / Re: Creating Bitcoin passports using sacrifices on: October 27, 2013, 11:56:35 PM
@jgarzik, due to provably unspendable outputs only taking 80 bytes, is the "official identity protocol" going to move away from announce/commit sacrifices?  Should the sacrifice just be burned in a OP_RETURN HASH160(MPK) output until something better comes along (like the OP_VERIFY_LOCKTIME that retep mentioned)?
76  Bitcoin / Development & Technical Discussion / Re: Creating Bitcoin passports using sacrifices on: October 27, 2013, 11:04:47 PM
FWIW, I posted an extension to the identity protocol that enables use of short pronounceable MPK (master public key) fingerprints here: https://bitcointalk.org/index.php?topic=319633.0.
77  Bitcoin / Development & Technical Discussion / Transaction naming protocol on: October 27, 2013, 11:44:25 AM
Transaction naming protocol
I'd like to propose an extension to the identity protocol that would give a secure unique mapping from your MPK (master public key) to a short, pronounceable, memorable name.  It's simply an encoding of a transactions coordinates in the blockchain into a list of phonemes.  For example (code below), in block 264192:

tx              name
1               ~dus
2               ~mirlep
50             ~harbyr-salmev
8000         ~larryt-norbel
1000000   ~nisneb-neb-rondef

(Last two don't exist in the blockchain, but if they did, these would be their names.)

Motivation:
A very convenient key fingerprint to help with key verification.

For those weird enough to make these their commonly used name (hopefully not in meatspace), key verification is automatic.  These names are sufficiently dissimilar that problems associated with using strings as identities don't exist (I want to do some measurements still).  Using them this way leverages our monkey brain's natural ability to conceptualize social networks and reputation using memorable names.  Of course all of this assumes the monkeys can communicate over multiple independent channels so that a single operator can't replace all the names that are passed around with ones whose keys he holds.

The intention is for certain groups of weirdos to avoid needing a PKI.

Draft proposed standard:
(I'll do a nice job of writing this up if there's any interest, or after I receive some feedback.  Should it go on the wiki?)

Basic rules:
- Transactions take 100 blocks to mature to ensure their blockchain coordinates are unmalleable.
- Names expire after 262144 blocks (~5 years) because it's a good idea to periodically retire keys.
- Names are recycled after 524288 blocks (~10 years) because dead names must be freed up for future use.  Notice the 5 year safety window between name expiry and reuse.
- 8 bit names created every 2048 blocks (~once every 2 weeks) as the first transaction after the coinbase.
- 16 bit names created every 8 blocks as the second transaction after the coinbase.
- 24 bit names associated with the first 32 transactions after the coinbase (but are trumped by the shorter names).
- 32 bit names associated with the first 8192 transactions after the 32nd.
- 40 bit names associated with the first 2097152 transactions after the 8224th.
- The shorter names might create a kind of valuable "blockchain real estate" that miners could earn extra revenue from.
- Different phoneme sets (and alphabets) can simultaneously be used as long as they respect backwards-compatibility to avoid collisions.
- I used phonemes from Urbit:

    Onset phonemes:
      doz mar bin wan sam lit sig hid fid lis sog dir wac sab wis sib
      rig sol dop mod fog lid hop dar dor lor hod fol rin tog sil mir
      hol pas lac rov liv dal sat lib tab han tic pid tor bol fos dot
      los dil for pil ram tir win tad bic dif roc wid bis das mid lop
      ril nar dap mol san loc nov sit nid tip sic rop wit nat pan min
      rit pod mot tam tol sav pos nap nop som fin fon ban por wor sip
      ron nor bot wic soc wat dol mag pic dav bid bal tim tas mal lig
      siv tag pad sal div dac tan sid fab tar mon ran nis wol mis pal
      las dis map rab tob rol lat lon nod nav fig nom nib pag sop ral
      bil had doc rid moc pac rav rip fal tod til tin hap mic fan pat
      tac lab mog sim son pin lom ric tap fir has bos bat poc hac tid
      hav sap lin dib hos dab bit bar rac par lod dos bor toc hil mac
      tom dig fil fas mit hob har mig hin rad mas hal rag lag fad top
      mop hab nil nos mil fop fam dat nol din hat nac ris fot rib hoc
      nim lar fit wal rap sar nal mos lan don dan lad dov riv bac pol
      lap tal pit nam bon ros ton fod pon sov noc sor lav mat mip fap

    Coda phonemes:
      zod nec bud wes sev per sut let ful pen syt dur wep ser wyl sun
      ryp syx dyr nup heb peg lup dep dys put lug hec ryt tyv syd nex
      lun mep lut sep pes del sul ped tem led tul met wen byn hex feb
      pyl dul het mev rut tyl wyd tep bes dex sef wyc bur der nep pur
      rys reb den nut sub pet rul syn reg tyd sup sem wyn rec meg net
      sec mul nym tev web sum mut nyx rex teb fus hep ben mus wyx sym
      sel ruc dec wex syr wet dyl myn mes det bet bel tux tug myr pel
      syp ter meb set dut deg tex sur fel tud nux rux ren wyt nub med
      lyt dus neb rum tyn seg lyx pun res red fun rev ref mec ted rus
      bex leb dux ryn num pyx ryg ryx fep tyr tus tyc leg nem fer mer
      ten lus nus syl tec mex pub rym tuc fyl lep deb ber mug hut tun
      byl sud pem dev lur def bus bep run mel pex dyt byt typ lev myl
      wed duc fur fex nul luc len ner lex rup ned lec ryd lyd fen wel
      nyd hus rel rud nes hes fet des ret dun ler nyr seb hul ryl lud
      rem lys fyn wer ryc sug nys nyl lyn dyn dem lux fed sed bec mun
      lyr tes mud nyt byr sen weg fyr mur tel rep teg pec nel nev fes
      
In more detail (Rough draft!  Please chime in with any advice!):

Code:
import sys
import binascii
import hashlib

# (un)hexlify to/from unicode, needed for Python3
unhexlify = binascii.unhexlify
hexlify = binascii.hexlify
if sys.version > '3':
    unhexlify = lambda h: binascii.unhexlify(h.encode('utf8'))
    hexlify = lambda b: binascii.hexlify(b).decode('utf8')

class Swizzler(object):
    ''' Balanced Feistel network.  Operates on bit strings of even length.  Key expansion and round function based on SHA256. '''
    def __init__(self, key=None, rounds=20):
        key = unhexlify(''.zfill(64)) if key is None else key
        K = [hashlib.sha256(key).digest()]
        for i in xrange(rounds):
            K.append(hashlib.sha256((K[-1])).digest())
        self._K = K
        self.r = rounds

    def _F(self, i, x, m):
        x = self._K[i] + unhexlify(hex(x)[2:].zfill(512))
        x = int(hashlib.sha256(x).hexdigest(), 16)
        return int(x & m)

    def E(self, b):
        assert len(b) & 1 == 0
        n = len(b)/2
        m = (1 << n) - 1
        x = int(b, 2)
        R = x & m
        L = x >> n
        for i in xrange(self.r):
            tmp = R
            R = self._F(i, R, m) ^ L
            L = tmp
        return bin((R << n) + L)[2:].zfill(2*n)
         
    def D(self, b):
        assert len(b) & 1 == 0
        n = len(b)/2
        m = (1 << n) - 1
        x = int(b, 2)
        L = x & m
        R = x >> n
        for i in reversed(xrange(self.r)):
            tmp = L
            L = self._F(i, L, m) ^ R
            R = tmp
        return bin((L << n) + R)[2:].zfill(2*n)

class BlockchainNamespace(object):
    ''' Martian namespace for transactions in the Bitcoin blockchain. '''
    def __init__(self):
        self.swizzler = Swizzler()
        self.sis = ['doz', 'mar', 'bin', 'wan', 'sam', 'lit', 'sig', 'hid', 'fid', 'lis', 'sog', 'dir', 'wac', 'sab', 'wis', 'sib', 'rig', 'sol', 'dop', 'mod', 'fog', 'lid', 'hop', 'dar', 'dor', 'lor', 'hod', 'fol', 'rin', 'tog', 'sil', 'mir', 'hol', 'pas', 'lac', 'rov', 'liv', 'dal', 'sat', 'lib', 'tab', 'han', 'tic', 'pid', 'tor', 'bol', 'fos', 'dot', 'los', 'dil', 'for', 'pil', 'ram', 'tir', 'win', 'tad', 'bic', 'dif', 'roc', 'wid', 'bis', 'das', 'mid', 'lop', 'ril', 'nar', 'dap', 'mol', 'san', 'loc', 'nov', 'sit', 'nid', 'tip', 'sic', 'rop', 'wit', 'nat', 'pan', 'min', 'rit', 'pod', 'mot', 'tam', 'tol', 'sav', 'pos', 'nap', 'nop', 'som', 'fin', 'fon', 'ban', 'por', 'wor', 'sip', 'ron', 'nor', 'bot', 'wic', 'soc', 'wat', 'dol', 'mag', 'pic', 'dav', 'bid', 'bal', 'tim', 'tas', 'mal', 'lig', 'siv', 'tag', 'pad', 'sal', 'div', 'dac', 'tan', 'sid', 'fab', 'tar', 'mon', 'ran', 'nis', 'wol', 'mis', 'pal', 'las', 'dis', 'map', 'rab', 'tob', 'rol', 'lat', 'lon', 'nod', 'nav', 'fig', 'nom', 'nib', 'pag', 'sop', 'ral', 'bil', 'had', 'doc', 'rid', 'moc', 'pac', 'rav', 'rip', 'fal', 'tod', 'til', 'tin', 'hap', 'mic', 'fan', 'pat', 'tac', 'lab', 'mog', 'sim', 'son', 'pin', 'lom', 'ric', 'tap', 'fir', 'has', 'bos', 'bat', 'poc', 'hac', 'tid', 'hav', 'sap', 'lin', 'dib', 'hos', 'dab', 'bit', 'bar', 'rac', 'par', 'lod', 'dos', 'bor', 'toc', 'hil', 'mac', 'tom', 'dig', 'fil', 'fas', 'mit', 'hob', 'har', 'mig', 'hin', 'rad', 'mas', 'hal', 'rag', 'lag', 'fad', 'top', 'mop', 'hab', 'nil', 'nos', 'mil', 'fop', 'fam', 'dat', 'nol', 'din', 'hat', 'nac', 'ris', 'fot', 'rib', 'hoc', 'nim', 'lar', 'fit', 'wal', 'rap', 'sar', 'nal', 'mos', 'lan', 'don', 'dan', 'lad', 'dov', 'riv', 'bac', 'pol', 'lap', 'tal', 'pit', 'nam', 'bon', 'ros', 'ton', 'fod', 'pon', 'sov', 'noc', 'sor', 'lav', 'mat', 'mip', 'fap']
        self.dex = ['zod', 'nec', 'bud', 'wes', 'sev', 'per', 'sut', 'let', 'ful', 'pen', 'syt', 'dur', 'wep', 'ser', 'wyl', 'sun', 'ryp', 'syx', 'dyr', 'nup', 'heb', 'peg', 'lup', 'dep', 'dys', 'put', 'lug', 'hec', 'ryt', 'tyv', 'syd', 'nex', 'lun', 'mep', 'lut', 'sep', 'pes', 'del', 'sul', 'ped', 'tem', 'led', 'tul', 'met', 'wen', 'byn', 'hex', 'feb', 'pyl', 'dul', 'het', 'mev', 'rut', 'tyl', 'wyd', 'tep', 'bes', 'dex', 'sef', 'wyc', 'bur', 'der', 'nep', 'pur', 'rys', 'reb', 'den', 'nut', 'sub', 'pet', 'rul', 'syn', 'reg', 'tyd', 'sup', 'sem', 'wyn', 'rec', 'meg', 'net', 'sec', 'mul', 'nym', 'tev', 'web', 'sum', 'mut', 'nyx', 'rex', 'teb', 'fus', 'hep', 'ben', 'mus', 'wyx', 'sym', 'sel', 'ruc', 'dec', 'wex', 'syr', 'wet', 'dyl', 'myn', 'mes', 'det', 'bet', 'bel', 'tux', 'tug', 'myr', 'pel', 'syp', 'ter', 'meb', 'set', 'dut', 'deg', 'tex', 'sur', 'fel', 'tud', 'nux', 'rux', 'ren', 'wyt', 'nub', 'med', 'lyt', 'dus', 'neb', 'rum', 'tyn', 'seg', 'lyx', 'pun', 'res', 'red', 'fun', 'rev', 'ref', 'mec', 'ted', 'rus', 'bex', 'leb', 'dux', 'ryn', 'num', 'pyx', 'ryg', 'ryx', 'fep', 'tyr', 'tus', 'tyc', 'leg', 'nem', 'fer', 'mer', 'ten', 'lus', 'nus', 'syl', 'tec', 'mex', 'pub', 'rym', 'tuc', 'fyl', 'lep', 'deb', 'ber', 'mug', 'hut', 'tun', 'byl', 'sud', 'pem', 'dev', 'lur', 'def', 'bus', 'bep', 'run', 'mel', 'pex', 'dyt', 'byt', 'typ', 'lev', 'myl', 'wed', 'duc', 'fur', 'fex', 'nul', 'luc', 'len', 'ner', 'lex', 'rup', 'ned', 'lec', 'ryd', 'lyd', 'fen', 'wel', 'nyd', 'hus', 'rel', 'rud', 'nes', 'hes', 'fet', 'des', 'ret', 'dun', 'ler', 'nyr', 'seb', 'hul', 'ryl', 'lud', 'rem', 'lys', 'fyn', 'wer', 'ryc', 'sug', 'nys', 'nyl', 'lyn', 'dyn', 'dem', 'lux', 'fed', 'sed', 'bec', 'mun', 'lyr', 'tes', 'mud', 'nyt', 'byr', 'sen', 'weg', 'fyr', 'mur', 'tel', 'rep', 'teg', 'pec', 'nel', 'nev', 'fes']
        self.sis_index = {self.sis[i]:i for i in range(len(self.sis))}       
        self.dex_index = {self.dex[i]:i for i in range(len(self.dex))}
       
    def coords_to_vint16(self, tx_height, block_height, block_count):
        if block_count < block_height + 100:
            raise Exception("Transaction hasn't matured yet!")
        # Names expire after 262144 blocks (~5 years).
        if (block_count - block_height) >> 18 > 0:
            raise Exception("Transaction's name has expired!")
        if tx_height <= 0 or tx_height > 2097152:
            raise Exception('Transaction out of range!')   
        h = block_height
        t = tx_height
        # 8 bit names created every 2048 blocks (~once every 2 weeks).
        if h & 2047 == 0 and t == 1:
            # Names are recycled after 524288 blocks (~10 years).
            b = bin((h & 524287) >> 11)[2:].zfill(8)
        # 16 bit names created every 8 blocks.
        elif h & 7 == 0 and t == 2:
            b = bin((h & 524287) >> 3)[2:].zfill(16) 
        # 24 bit names created 32/block.
        elif (t-1) >> 5 == 0:
            b = bin(((t-1) << 19) + (h & 524287))[2:].zfill(24)
        # 32 bit names created 8192/block.
        elif (t-33) >> 13 == 0:
            b = bin(((t-33) << 19) + (h & 524287))[2:].zfill(32)
        # 40 bit names created 2097152/block.
        elif (t-8225) >> 21 == 0:
            b = bin(((t-8225) << 19) + (h & 524287))[2:].zfill(40)
        else:
            raise Exception
        # Randomized 1-1 mapping to minimize similarities between consecutive names.
        b = self.swizzler.E(b)
        return [int(b[8*i:8*(i+1)], 2) for i in range(len(b)/8)]
       
    def vint16_to_coords(self, vint16, block_count):
        b = ''.join([bin(n)[2:].zfill(8) for n in vint16])
        b = self.swizzler.D(b)
        n = int(b, 2)
        if len(b) == 8:
            t = 1
            h = n << 11
        elif len(b) == 16:
            t = 2
            h = n << 3
        elif len(b) == 24:
            t = (n >> 19) + 1
            h = n & 524287
        elif len(b) == 32:
            t = (n >> 19) + 33
            h = n & 524287
        elif len(b) == 40:
            t = (n >> 19) + 8225
            h = n & 524287
        assert block_count >= h + 100
        while (block_count - h) / 524288 > 0:
            h += 524288
        return (t, h)

    def encode(self, tx_height, block_height, block_count):
        v = self.coords_to_vint16(tx_height, block_height, block_count)
        name = []
        for i in range(0,len(v)-1,2):
            name.append(self.sis[v[i]] + self.dex[v[i+1]])
        if len(v) & 1 == 1:
            name.insert(abs(len(v)/2-1), self.dex[v[-1]])
        return '~' + '-'.join(name)

    def decode(self, name, block_count):
        v = []
        end = None
        for w in name.lstrip('~').split('-'):
            if len(w) == 3:
                end = w
            else:
                v.append(self.sis_index[w[:3]])
                v.append(self.dex_index[w[3:]])
        if end:
            v.append(self.dex_index[end])
        return self.vint16_to_coords(v, block_count)
78  Bitcoin / Development & Technical Discussion / Re: Proof of Storage to make distributed resource consumption costly. on: October 20, 2013, 01:28:29 AM
I have just found time to read this post thoughtfully, and...
Mother of Hash... Another genius invention.

I mean how brilliant can the Bitcoin community be ?
Hey, give credit where it's due Smiley  This guy in particular oozes genius ideas.
79  Bitcoin / Development & Technical Discussion / Re: Feather-forks: enforcing a blacklist with sub-50% hash power on: October 18, 2013, 12:11:55 AM
I suppose if the attacker was high enough profile with deep enough pockets, they could create a chilling effect without actually having to continually pay bounties in repeating the attack; miners wouldn't dare disobey because they know they'd be made examples of and have their blocks orphaned.

Exactly. The amount of bounties that need to be paid would pale in comparison of censoring power they could create.
On second thought, there's a pretty strong asymmetry here working against the attacker.  Suppose he has an organized opponent with an interest in breaking his censorship.  The opponent has accumulated a block of blacklisted transactions which he is willing to pay cU0 to have included in a block (see OP for definitions).  A failed attempt to mine this block costs him roughly U0.  But during this attempt, he'd be incrementing a bounty in response to the attacker's, up to cU0.  If unsuccessful, he loses U0, but the attacker spends more than cU0 (the second tie-breaker block also costs money).  To recoup his previous cost, the opponent waits until the value to him of having this block mined has grown by another U0.  Then he tries again.  The idea is that the opponent would just wait until c is large enough that he is confident his attacker will eventually be wiped out by this repeated attack, then mount it.  If he develops a reputation for success in thwarting the attacker, the chilling effect would then begin to work in the opposite direction, against the attacker.
80  Bitcoin / Development & Technical Discussion / Re: Feather-forks: enforcing a blacklist with sub-50% hash power on: October 17, 2013, 11:49:21 AM
Exactly. The amount of bounties that need to be paid would pale in comparison of censoring power they could create.
If there were some (hard forking) rule change to address this, I wonder if the network would collectively even agree to it if, for example, it's in response to "legitimate" government censorship.  I bet established businesses trying to stay in said governments' good books would put up some resistance.

Oh well, I ruled out Bitcoin ushering in crypto-anarchy a while ago anyway Tongue
Pages: « 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!