Bitcoin Forum
May 25, 2024, 01:53:17 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 ... 82 »
201  Bitcoin / Project Development / Re: MerkleWeb - statistical Godel-like secure-but-not-perfect global Turing Machine on: December 18, 2011, 04:43:53 AM
I believe you would need 'big heartbeats' of arbitrary (though constrained) duration.

Not duration. It has to be a predictable number of cycles per global heartbeat so the computers can align each of the 2^63 possible time rows. ... ... ... unless its tuned toward lower accuracy for more speed.

I believe trying to synchronize each individual cycle of all threads to a unique sequential index will be prohibitively slow, hardly useful for even highly specialized scenarios. You can't seriously expect 'real-time' interrupts anyway.

Instead, I propose a much larger sequence of cycles per block, perhaps hundreds (or millions) of cycles. Then exactly like bitcoin, each node atomically submits a pre-computed bunch of bits as a transaction, which other nodes can verify. Bundled with other transactions, blocks are added to the public blockchain. Only the blocks are synchronized and only blocks increment the 2^63 time rows. And just like bitcoin, blocks can not confirm much faster than a few minutes otherwise your latency is greater than your error/synchronization rate, and the network will spend most of its resources thrashing.


Quote
We can't use any high level programming abilities without building them first. It is circular-logic, and that's why the requirement is that we build the first layer as a quine.

You've sold me on the elegance of the absolute fewest axioms. Nearly all applications will first shebang some interpreter (or decompressor) followed by a script and data. How you get from NANDs and BITs to registers, addresses, words, gotos, loops, comparisons, stacks, and arithmetic is beyond me, but I trust self-hosting/bootstrapping has been done for decades and can be done again.


Quote
Quote
Inclusion in a block asserts valid code execution and resultant state. However, unlike bitcoin, I don't think the MerkelWeb needs to verify the ENTIRE address space.

Each computer in MerkleWeb will only verify a small part of the address space by broadcasting their best knowledge of the correct state of part of the address space and other times broadcasting that same state but with some incorrect bits.

I posit that you can not have both synchronized cycles and voluntary execution.

If every submitted transaction represents some execution performed by a node voluntarily, and a block represents a collection of transactions verified by some miner voluntarily, then you can synchronize only those voluntarily executed blocks of cycles.

On the other hand, if you expect all cycles to be synchronized, then you must require that for each delta bit in the entire address space, at least some node actually executes/verifies it (which is probably impossible).

I don't see any way around it: Unloved code can not be synchronized. If no node bothers to execute a thread, it is a cryogenic zombie and can not be retro-actively executed.


Quote
Using this strategy, it may be practical to only verify 1 in every million bits, as long as they're randomly

Verifying data (with hash checksums) is trivial. Verifying x inputs, y algorithms, and z results is not trivial.


Quote
but I'm not sure what the scaling cost is for each computer running only a small fraction of the program and still guaranteeing no bit or NAND calculation will ever be done wrong and assuming most of the network may be hostile computers. If we relax some of these constraints, it will scale better. There's lots of tradeoffs to tune.

It seems to me that each block (time slice) must be verifiable in its entirety by any single node (just like all bitcoin transactions in a single block need to be verified by the rewarded miner). It's the past history that we can relax. We can assume that since no one has complained thus far, then we can be confident that the cumulative hash value of the previous ten years up to last month is probably true, but we still need to hash each current state in its entirety and hash it again against the previous cumulative state.
202  Other / Off-topic / Re: Totally Off-Topic! on: December 17, 2011, 10:21:42 PM
Phinnaeus, are you claiming to be or sympathize with Nazis?
203  Other / Politics & Society / Re: Count down to Iran invasion on: December 17, 2011, 09:18:37 PM
Alternating funding of both Iran and Iraq wars over the past forty years has been classic Machiavellian divide and conquer.
204  Economy / Economics / Re: Why Bitcoin Is Not Gold on: December 17, 2011, 05:13:37 AM
Thanks Lonelyminer, I've had more than too little of the Christmas Gløgg to fully appreciate your post. But I suspect you put me in my place. Thanks for the education.
205  Bitcoin / Project Development / Re: MerkleWeb - statistical Godel-like secure-but-not-perfect global Turing Machine on: December 16, 2011, 08:08:57 PM
I believe you would need 'big heartbeats' of arbitrary (though constrained) duration. I should be able to set some data and code in time and space, and then after sufficient validation, to share that data and code as a library. Using the (three?) axioms: BIT, NAND, and a 320-bit POINTER, I begin by defining a basic assembly language with XOR, IOR, AND, NOT, multiplication, bit shifts, loops, comparisons, etc. This would require enormous amounts of data (because each address is 1/3 KiB - I think you need much smaller relative address 'words'). I would expect its inclusion in the MerkelWeb to be atomic (like your version control analogies).

Each heartbeat is synonymous with a verified bitcoin-esque block consisting of numerous cycles. Inclusion in a block asserts valid code execution and resultant state. However, unlike bitcoin, I don't think the MerkelWeb needs to verify the ENTIRE address space. Perhaps you might add a third dimension, addressing isolated MerkelBranches, each with its own manageable blockchain. Personally, I don't want to spend a single one of my local cycles thrashing on some idiot's infinite loop. I prefer a DVCS analogy. I can arbitrarily clone and pull from any MerkleBranch (repo). MerkleBranches can reference across other MerkleBranches.


Quote
Is each 'transaction' essentially a single memory space, or stack, and entire execution history recorded as a merkle tree since some earlier verified (fork) point in time/memory?

Yes, like a simplified version of http://en.wikipedia.org/wiki/Apache_Subversion that versions and branches the whole memory and computing state and virtual hardware design at the NAND level.

I imagine a transaction as a single node's assertion of code and data. I might allocate 100n merkleBits of a fibonacci calculator and submit that code as a single atomic transaction to the MerkleWeb. Since it is static code/data, it should have no trouble getting verified and included in a MerkleBlock by peer miner nodes. Next, I set a 'thread pointer' to the top of my routine and calculate twenty iterations of the series and submit the state and output register as my second transaction. Now a peer miner would need to re-execute my code and verify that yes indeed, he agrees with the state, before including the data, code, and execution state into another block.

In theory my fibonacci routine, once executed will run forever, unless it segfaults on pre-allocated finite memory. However, I rather think that some node must actively execute the code and submit the state as a transaction, otherwise if no node applies cycles, a program halts indefinitely.

What's the incentive? Verification of code and execution state included in a block is undeniable proof of local resource allocation. The miner can be rewarded with computational and storage credit, which like bitcoin can be used as fee, to inject new code and state into the MerkleWeb.


MerkleWeb will handle programs that do not halt (including infinite loops) by running them 1 cycle at a time.

I disagree with this. As written above, I believe execution should be every node's prerogative. A thread is indefinitely halted if no node bothers to continue executing it (or pays credits for other nodes to execute it). Each transaction is an assertion of an arbitrary number of cycles and/or injection of data/code.


Theres still some things to figure out about how to rollback [...] It always runs in debug mode.

Quote
How do we reconcile multiple executions of the same 'program' with different inputs/race conditions?

If any 2 MerkleTrees are both thought to be probably correct by the local computer (or wireless Turing Complete router), then it must trace the contradiction back [...] This is the part that's similar to quantum physics. [...] "different inputs/race conditions".

This is perfectly analogous to a double-spend, mining blocks, and reorg. There is only one longest chain of events, but it takes a few blocks to unambiguously confirm global state. It would require enormous computational power to change reality, "deja vu" Matrix-style.
206  Bitcoin / Project Development / Re: MerkleWeb - statistical Godel-like secure-but-not-perfect global Turing Machine on: December 16, 2011, 05:11:20 AM
Should we understand the MerkleWeb as a shared memory heap? Is each 'transaction' essentially a single memory space, or stack, and entire execution history recorded as a merkle tree since some earlier verified (fork) point in time/memory? Any node can voluntarily recreate any execution history? Does the MerkleWeb have 'blocks' a la bitcoin? Does each program/merkle tree run until exit, or can its entirely deterministic state and history be recorded in a block mid-execution? How do we reconcile multiple executions of the same 'program' with different inputs/race conditions? Have I processed an invalid path of confusion?

As for monetization/incentive: processing cycles, memory storage, and bandwidth are each quantifiable and valuable commodities.
207  Other / Beginners & Help / Re: Spend bitcoins from specific address on: December 16, 2011, 02:52:29 AM

Honestly, if I was going to make some calls to Bitcoin, then I would just include libbitcoin, I wouldn't bother coding it myself. (It'd just be duplicating work.) I seriously doubt that I could make a better implementation of Bitcoin than what Genjix is already doing with libbitcoin.

OT is a useful tool in conjunction with Bitcoin, and the best way to use them together (in your own software) would be to include the OT library to do the OT stuff, and include libbitcoin to do the Bitcoin stuff, and all cross-over transactions between the two is the job of YOUR software, which is connecting the two.

Sure, OT + libbitcoin + GUI. At this point, it's too abstract for me, and 99% of people here. In the very least if there were a bunch of utilities, then I could bash script some stuff, slowly getting into it. By Google Wave analogy, you can't just build a beautiful palace underground and expect its brilliance to be self-evident. I know it's much to ask, but that's the way with software. We need to feel it, touch it, see it, use it, before we 'get it'. As it is right now, I can only smell OT, though it smells delicious.
208  Bitcoin / Development & Technical Discussion / Re: Sweep/import private key feature request on: December 15, 2011, 03:52:23 PM
For two parties with accepting services, Mt. Gox redeemable codes are much easier and faster to transfer than real bitcoins, but would offer no benefit over private key import/export.

Could someone please explain how a 'sweep' is more simple and less confusing than 'import and transfer'?

I realise the blockchain is slow. That is an issue. But it won't be solved by complicating local key management.
209  Bitcoin / Bitcoin Discussion / Re: Does anyone else want to print bitcoin cash (coins or bills) on: December 15, 2011, 05:08:00 AM
I'm interested, but like I've said before, I'm just as interested in franchising, or just buying the holo-stickers from someone with an established reputation (Mike, for example). Maybe southerners want to buy tupilakker with bitcoins up their... noses, which would still be valuable after the bitcoin is redeemed (like smashing a piggie-bank without the smashing).
210  Bitcoin / Development & Technical Discussion / Re: Displayed transaction timestamps (Was: Please help sanity test: version 0.5.1) on: December 15, 2011, 04:59:10 AM
Oh, then I would still suggest both local and network timestamps to normalize future wallet mergers.
211  Bitcoin / Bitcoin Discussion / Re: Wirtland the prefect country to adopt bitcoin? on: December 15, 2011, 04:56:55 AM
At this time, I think it is best for a fledgling nation to mint gold rather than an unstable bitcoin. But I suppose on the internet, anything is possible. The flashing 'new' text on its webpage alone discredits the entire Wirtland project in my book. A legitimate and extant government in exile would be more promising.
212  Bitcoin / Development & Technical Discussion / Re: Displayed transaction timestamps (Was: Please help sanity test: version 0.5.1) on: December 15, 2011, 04:47:47 AM
I would expect confirmed transaction to use a canonical timestamp (agreed by the block chain) and would expect an unconfirmed transaction to have an estimated but similarly unconfirmed timestamp.

Some older versions used that time until it was confirmed, and then changed the timestamp to the block time. This caused listtransactions to change order.

List transactions - the balance sheet in the local client? Could the local sent timestamp or autoincremented index be stored separately from the block timestamps?

Requirements:
  • The timestamp shown for a transaction should never change.

For whom is this a requirement? I for one, would prefer my data was in consistent agreement with the rest of the network whenever possible.
213  Other / Beginners & Help / Re: Spend bitcoins from specific address on: December 15, 2011, 04:04:55 AM
I wish you would implement some of the bitcoin protocol within OT. I am frustrated with the conservative reference platform's refusal to embrace side-channel transactions. An OT client which didn't just facilitate smart contracts denominated in bitcoin but actually handled bitcoin transaction and key management would be killer.

Be careful not to follow the plight of Google Wave: a superior framework too abstract to catch hold.
214  Bitcoin / Development & Technical Discussion / Re: Sweep/import private key feature request on: December 15, 2011, 03:56:04 AM
I do see the absence of these very simple axiomatic key functions as show stoppers. Why do I have to be a guru to wrap up a card to be opened in ten days which reads:

Quote

Merry Christmas Dad!

Here's a little something from the interwebz: privkey:5js8shF9Eahjg8aHkjhaCzbcK9s


And more importantly, why must my Dad be an über-geek to receive my paper coins?
215  Bitcoin / Development & Technical Discussion / Re: Sweep/import private key feature request on: December 15, 2011, 03:39:22 AM
Then it appears to me that this sweep 'solution' is more confusing, error prone and retarded than anything it's trying to solve.

I believe there are only two general use case categories: (1) I created two wallets myself and want to merge them for convenience or (2) I obtained a private key or a wallet from a third party and want to merge them into my existing wallet.

The 'confusion' due to case (1) is silly. I can't even articulate in a short paragraph how someone could be confused after merging their own wallets. As for (2), perhaps some users might not realize there is a double spend (race to spend) condition, so it is wise to suggest that the user immediately transfers the funds to a new address. After doing so, life should move on; All keys should behave similarly. If another party sends money to the imported key, no problem. If the original creator of the private key forgets that he gave the key away, no problem. How is this user, the one importing, going to get confused? Because there's an earlier history?
216  Economy / Web Wallets / Re: Blockchain.info - Bitcoin Block explorer & Currency Statistics on: December 15, 2011, 03:26:48 AM
And am I understanding this correctly: the private key is stored encrypted on the servers and the encryption is handled by my browser? So if someone were to steal acquire the data they would not be able to spend my coins?

Yes, correct, assuming your passphrase is strong and your computer has not been compromised.
217  Economy / Economics / Re: Why Bitcoin Is Not Gold on: December 15, 2011, 03:08:16 AM
Except with mining, you cannot "create more money" with Bitcoin, period.

To leverage your position in Bitcoins, Bitcoinica has to already have those additional Bitcoins: it cannot create them, like commercial banks do by loaning deposit money.

As any populist will tell you: YES YOU CAN!

I suggest you google BASE, MB, M0 versus M1, M2, M3. A bank can not print paper dollars, euros, yuan, but they can create M2 credit (aka money) just as I can create M2 bitcoins. A fractional reserve bitcoin bank can get into just as much trouble as a traditional bank. The only difference is that no one lender of last resort can bail out a bitcoin bank through monetization (printing).

I can take bitcoin deposits from all of you and lend virtual bitcoins. As long as I keep up a confident smile and not all of you simultaneously run to withdraw, I can keep the ponzi scheme fractional reserve system in perpetuity.
218  Other / Beginners & Help / Re: Spend bitcoins from specific address on: December 15, 2011, 12:53:27 AM
I presume a rewrite would still be compatible with the current network. I think if anyone is willing to work on such a project it's worth doing right.

Genjix' libbitcoin fits the bill: https://bitcointalk.org/index.php?topic=30646

Bitcoinjs (based on node.js) is quite modular.

and Open-Transactions is a crypto platform/library with heavy bitcoin support.
219  Bitcoin / Development & Technical Discussion / Re: Sweep/import private key feature request on: December 15, 2011, 12:44:50 AM
What do we mean by re-sweep? Once the private key is imported, rescanned with the full latest block chain, is there any need to re-anything more before another import?
You would need to re-sweep it periodically to get any additional funds sent to it.

This seems to suggest that an swept private key would not be (even after transferring funds to a new address) imported as a first-class citizen like all other private keys in the wallet.
220  Bitcoin / Development & Technical Discussion / Re: Sweep/import private key feature request on: December 14, 2011, 09:21:01 PM
What do we mean by re-sweep? Once the private key is imported, rescanned with the full latest block chain, is there any need to re-anything more before another import?
Pages: « 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 ... 82 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!