A place to discuss investments, insurance, finance, economy and markets in India.
Welcome to the /Bitcoin Sticky FAQ
You've probably been hearing a lot about Bitcoin recently and are wondering what's the big deal? Most of your questions should be answered by the resources below but if you have additional questions feel free to ask them in the comments.
Some great introductions for new users are My first bitcoin
, Bitcoin explained
and ELI5 Bitcoin
. Also, the following videos are a good starting point for understanding how bitcoin works and a little about its long term potential:
Also have to give mention to Lopp.net
, the Princeton crypto series
and James D'Angelo's Bitcoin 101 Blackboard series
. Some excellent writing on Bitcoin's value proposition and future can be found at the Satoshi Nakamoto Institute
. Bitcoin statistics can be found here
. Developer resources can be found here
. Peer-reviewed research papers can be found here
. Potential upcoming protocol improvements here
. Scaling resources here
. The number of times Bitcoin was declared dead by the media can be found here
(LOL!), and of course Satoshi Nakamoto's whitepaper
that started it all! :) Key properties of bitcoin
- Limited Supply - There will only ever be 21,000,000 bitcoins created and they are issued in a predictable fashion, you can view the inflation schedule here. Once they are all issued Bitcoin will be truly deflationary. The halving countdown can be found here.
- Open source - Bitcoin code is fully auditable. You can read the source code yourself here.
- Accountable - The public ledger is transparent, all transactions are seen by everyone.
- Decentralized - Bitcoin is globally distributed across thousands of nodes with no single point of failure and as such can't be shut down similar to how Bittorrent works.
- Censorship resistant - No one can prevent you from interacting with the bitcoin network and no one can censor, alter or block transactions that they disagree with, see Operation Chokepoint.
- Push system - There are no chargebacks in bitcoin because only the person who owns the address where the bitcoins reside has the authority to move them.
- Low fee scaling - On chain transaction fees depend on network demand and how much priority you wish to assign to the transaction. Most wallets calculate on chain fees automatically but you can view current fees here. On chain fees have risen recently due to network demand however instant micropayments are on the way via the Lightning Network, a second layer scaling solution currently rolling out on the Bitcoin mainnet. You can even run a node on a Raspberry Pi :)
- Borderless - No country can stop it from going in/out, even in areas currently unserved by traditional banking as the ledger is globally distributed.
- Trustless - Bitcoin solved the Byzantine's Generals Problem which means nobody needs to trust anybody for it to work.
- Pseudonymous - No need to expose personal information when purchasing with cash or transacting.
- Secure - Encrypted cryptographically and can’t be brute forced or confiscated with proper key management such as hardware wallets.
- Programmable - Individual units of bitcoin can be programmed to transfer based on certain criteria being met
- Nearly instant - From a few seconds to a few minutes depending on need for confirmations. After a few confirmations transactions are irreversible.
- Peer-to-peer - No intermediaries with a cut, no need for trusted third parties.
- Portable - Bitcoins are digital so they are easier to move than cash or gold. They can even be transported by simply remembering a string of words for wallet recovery.
- Scalable - Each bitcoin is divisible down to 8 decimals allowing it to grow in value while still accommodating micro-transactions.
- Designed Money - Bitcoin was created to fit all the fundamental properties of money better than gold or fiat
Where can I buy bitcoins? Bitcoin.org
are helpful sites for beginners. You can buy or sell any amount of bitcoin and there are several easy methods to purchase bitcoin with cash, credit card or bank transfer. Some of the more popular resources are below, also, check out the bitcoinity exchange resources
for a larger list of options for purchases. Here
is a listing of local ATMs. If you would like your paycheck automatically converted to bitcoin use Bitwage
Bitcoins are valued at whatever market price
people are willing to pay for them in balancing act of supply vs demand. Unlike traditional markets, bitcoin markets operate 24 hours per day, 365 days per year. Preev
is a useful site that that shows how much various denominations of bitcoin are worth in different currencies. Alternatively you can just Google "1 bitcoin in (your local currency)".
Securing your bitcoins
With bitcoin you can "Be your own bank"
and personally secure your bitcoins OR
you can use third party companies aka "Bitcoin banks"
which will hold the bitcoins for you.
- If you prefer to "Be your own bank" and have direct control over your coins without having to use a trusted third party, there are many software wallet options here. If you want easy and secure storage without having to learn computer security best practices, then a hardware wallet such as the Trezor or Ledger is recommended. A more advanced option is to secure them yourself using paper wallets generated offline. Some popular mobile and desktop wallet options are listed below and most are cross platform.
Another interesting use case for physical storage/transfer is the Opendime
. Opendime is a small USB stick that allows you to spend Bitcoin by physically passing it along so it's anonymous and tangible like cash.
Note: For increased security, use Two Factor Authentication (2FA) everywhere it is offered, including email!
- If you prefer to let third party "Bitcoin banks" manage your coins, try Gemini but be aware you may not be in control of your private keys in which case you would have to ask permission to access your funds and be exposed to third party risk.
2FA requires a second confirmation code to access your account, usually from a text message or app, making it much harder for thieves to gain access. Google Authenticator and Authy are the two most popular 2FA services, download links are below. Make sure you create backups of your 2FA codes.
Where can I spend bitcoins?
Check out spendabit
or bitcoin directory
for some good options, some of the more commons ones are listed below.
|Store ||Product |
|Gyft ||Gift cards for hundreds of retailers including Amazon, Target, Walmart, Starbucks, Whole Foods, CVS, Lowes, Home Depot, iTunes, Best Buy, Sears, Kohls, eBay, GameStop, etc. |
|Steam, HumbleBundle, Games Planet, itch.io, g2g and kinguin ||For when you need to get your game on |
|Microsoft ||Xbox games, phone apps and software |
|Spendabit, Overstock, The Bitcoin Directory and BazaarBay ||Retail shopping with millions of results |
|ShakePay ||Generate one time use Visa cards in seconds |
|NewEgg and Dell ||For all your electronics needs |
|Bitwa.la, Coinbills, Piixpay, Bitbill.eu, Bylls, Coins.ph, Bitrefill, LivingRoomofSatoshi, Hyphen.to, Coinsfer, More #1, #2 ||Bill payment |
|Menufy, Takeaway, Thuisbezorgd NL, Pizza For Coins ||Takeout delivered to your door! |
|Expedia, Cheapair, Lot, Destinia, BTCTrip, Abitsky, SkyTours, Fluege the Travel category on Gyft and 9flats ||For when you need to get away |
|BitHost ||VPS service |
|Cryptostorm, Mullvad, and PIA ||VPN services |
|Namecheap, Porkbun ||For new domain name registration |
|Stampnik ||Discounted USPS Priority, Express, First-Class mail postage |
|Reddit Gold ||Premium membership which can be gifted to others |
are helpful to find local businesses accepting bitcoins. A good resource for UK residents is at wheretospendbitcoins.co.uk
There are also lots of charities which accept bitcoin donations, such as Wikipedia
, United Way
and the EFF
. You can find a longer list here
There are several benefits to accepting bitcoin as a payment option if you are a merchant;
- 1-3% savings over credit cards or PayPal.
- No chargebacks (final settlement in 10 minutes as opposed to 3+ months).
- Accept business from a global customer base.
- Increased privacy.
- Convert 100% of the sale to the currency of your choice for deposit to your account, or choose to keep a percentage of the sale in bitcoin if you wish to begin accumulating it.
If you are interested in accepting bitcoin as a payment method, there are several options available;
Can I mine bitcoin?
Mining bitcoins can be a fun learning experience, but be aware that you will most likely operate at a loss. Newcomers are often advised to stay away from mining unless they are only interested in it as a hobby similar to folding at home
. If you want to learn more about mining you can read more here
. Still have mining questions? The crew at /BitcoinMining
would be happy to help you out.
If you want to contribute to the bitcoin network by hosting the blockchain and propagating transactions you can run a full node
using this setup guide
is an easy option for getting set up. You can view the global node distribution here
Just like any other form of money, you can also earn bitcoins by being paid to do a job.
|Site ||Description |
|WorkingForBitcoins, Bitwage, XBTfreelancer, Cryptogrind, Bitlancerr, Coinality, Bitgigs, /Jobs4Bitcoins, Rein Project ||Freelancing |
|OpenBazaar, Purse.io, Bitify, /Bitmarket, 21 Market ||Marketplaces |
|Streamium.io, XOtika.tv NSFW, /GirlsGoneBitcoin NSFW ||Video Streaming |
|Bitasker, BitforTip ||Tasks |
|Supload.com, SatoshiBox, JoyStream, File Army ||File/Image Sharing |
|CoinAd, A-ads, Coinzilla.io ||Advertising |
You can also earn bitcoins by participating as a market maker on JoinMarket
by allowing users to perform CoinJoin transactions with your bitcoins for a small fee (requires you to already have some bitcoins)
The following is a short
list of ongoing projects that might be worth taking a look at if you are interested in current development in the bitcoin space.
|Project ||Description |
|Lightning Network, Amiko Pay, and Strawpay ||Payment channels for network scaling |
|Blockstream, Rootstock and Drivechain ||Sidechains |
|21, Inc. ||Open source library for the machine payable web |
|ShapeShift.io ||Trade between bitcoins and altcoins easily |
|Open Transactions, Counterparty, Omni, Open Assets, Symbiont and Chain ||Financial asset platforms |
|Hivemind and Augur ||Prediction markets |
|Mediachain ||Decentralized media library |
|Tierion and Factom ||Records & Titles on the blockchain |
|BitMarkets, DropZone, Beaver and Open Bazaar ||Decentralized markets |
|Samourai and Dark Wallet - abandoned ||Privacy-enhancing wallets |
|JoinMarket ||CoinJoin implementation (Increase privacy and/or Earn interest on bitcoin holdings) |
|Coinffeine and Bisq ||Decentralized bitcoin exchanges |
|Keybase and Bitrated ||Identity & Reputation management |
|Telehash ||Mesh networking |
|JoyStream ||BitTorrent client with paid seeding |
|MORPHiS ||Decentralized, encrypted internet |
|Storj and Sia ||Decentralized file storage |
|Streamium ||Pay in real time for on-demand services |
|Abra ||Global P2P money transmitter network |
|bitSIM ||PIN secure hardware token between SIM & Phone |
|Identifi ||Decentralized address book w/ ratings system |
|BitGo ||Multisig bitcoin API |
|Insight ||Open source blockchain API |
|Leet ||Kill your friends and take their money ;) |
One Bitcoin is quite large (hundreds of £/$/€) so people often deal in smaller units. The most common subunits are listed below:
|Unit ||Symbol ||Value ||Info |
|millibitcoin ||mBTC ||1,000 per bitcoin ||SI unit for milli i.e. millilitre (mL) or millimetre (mm) |
|microbitcoin ||μBTC ||1,000,000 per bitcoin ||SI unit for micro i.e microlitre (μL) or micrometre (μm) |
|bit ||bit ||1,000,000 per bitcoin ||Colloquial "slang" term for microbitcoin |
|satoshi ||sat ||100,000,000 per bitcoin ||Smallest unit in bitcoin, named after the inventor |
For example, assuming an arbitrary exchange rate of $10000 for one Bitcoin, a $10 meal would equal:
- 0.001 BTC
- 1 mBTC
- 1,000 bits
For more information check out the Bitcoin units wiki
. Still have questions? Feel free to ask in the comments below or stick around for our weekly Mentor Monday thread. If you decide to post a question in /Bitcoin, please use the search bar to see if it has been answered before, and remember to follow the community rules outlined on the sidebar to receive a better response. The mods are busy helping manage our community so please do not message them unless you notice problems with the functionality of the subreddit. A complete list of bitcoin related subreddits can be found here
Note: This is a community created FAQ. If you notice anything missing from the FAQ or that requires clarification you can edit it here and it will be included in the next revision pending approval.
Welcome to the Bitcoin community and the new decentralized economy!
Background reading submitted by
How does Emergent Coding prevent developer capture?
- https://youtu.be/-MMQUspVduo ELI5 with pictures.
- https://youtu.be/ZSkZxOJ5HPA Hello World using Emergent Coding
- https://codevalley.com/whitepaper.pdf This document treats Emergent coding from a philosophical perspective. It has a good introduction, description of the tech and is followed by two sections on justifications from the perspective of Fred Brooks No Silver Bullet criteria and an industrialization criteria.
- Mark Fabbro's presentation from the Bitcoin Cash City Conference which outlines the motivation, basic mechanics, and usage of Bitcoin Cash in reproducing the industrial revolution in the software industry.
- Building the Bitcoin Cash City presentation highlighting how the emergent coding group of companies fit into the adoption roadmap of North Queensland.
- Forging Chain Metal by Paul Chandler CEO of Aptissio, one of startups in the emergent coding space and which secured a million in seed funding last year.
- Bitcoin Cash App Exploration A series of Apps that are some of the first to be built by emergent coding and presented, and in the case of Cashbar, demonstrated at the conference.
- A casual Bitcoin Cash interview that touches on emergent coding, tech park, merchant adoption and much more.
A developer's Agent does not know what project they are contributing to and is thus paid for the specific contribution. The developer is controlling the terms of the payment rather than the alternative, an employer with an employment agreement. Why does Emergent Coding use Bitcoin BCH?
- Both emergent coding and Bitcoin BCH are decentralized: As emergent coding is a decentralized development environment consisting of Agents providing respective design services, each contract received by an agent requires a BCH payment. As Agents are hosted by their developer owners which may be residing in one of 150 countries, Bitcoin Cash - an electronic peer-to-peer electronic cash system - is ideal to include a developer regardless of geographic location.
- Emergent coding will increase the value of the Bitcoin BCH blockchain: With EC, there are typically many contracts to build an application (Cashbar was designed with 10000 contracts or so). EC adoption will increase the value of the Bitcoin BCH blockchain in line with this influx of quality economic activity.
- Emergent coding is being applied to BCH software first: One of the first market verticals being addressed with emergent coding is Bitcoin Cash infrastructure. We are already seeing quality applications created using emergent coding (such as the HULA, Cashbar, PH2, vending, ATMs etc). More apps and tools supporting Bitcoin cash will attract more merchants and business to BCH.
- Emergent coding increases productivity: Emergent coding increases developer productivity and reduces duplication compared to other software development methods. Emergent coding can provide BCH devs with an advantage over other coins. A BCH dev productivity advantage will accelerate Bitcoin BCH becoming the first global currency.
- Emergent coding produces higher quality binaries: Higher quality software leads to a more reliable network.
1. Who/what is Code Valley? Aptissio? BCH Tech Park? Mining and Server Complex? Code Valley Corp Pty Ltd
is the company founded to commercialize emergent coding technology. Code Valley is incorporated in North Queensland, Australia. See https://codevalley.com Aptissio Australia Pty Ltd
is a company founded in North Queensland and an early adopter of emergent coding. Aptissio is applying EC to Bitcoin BCH software. See https://www.aptissio.com Townsville Technology Precincts Pty Ltd
(TTP) was founded to bring together partners to answer the tender for the Historic North Rail Yard Redevelopment in Townsville, North Queensland. The partners consist of P+I, Conrad Gargett, HF Consulting, and a self-managed superannuation fund(SMSF) with Code Valley Corp Pty Ltd expected to be signed as an anchor tenant. TTP answered a Townsville City Council (TCC) tender with a proposal for a AUD$53m project (stage 1) to turn the yards into a technology park and subsequently won the tender. The plan calls for the bulk of the money is to be raised in the Australian equity markets with the city contributing $28% for remediation of the site and just under 10% from the SMSF. Construction is scheduled to begin in mid 2020 and be competed two years later. Townsville Mining Pty Ltd
was set up to develop a Server Complex in the Kennedy Energy Park in North Queensland. The site has undergone several studies as part of a due diligence process with encouraging results for its competitiveness in terms of real estate, power, cooling and data.
2. What programming language are the "software agents" written in.
- TM are presently in negotiations with the owners of the site and is presently operating under an NDA.
- The business model calls for leasing "sectors" to mining companies that wish to mine allowing companies to control their own direction.
- Since Emergent Coding uses the BCH rail, TM is seeking to contribute to BCH security with an element of domestic mining.
- TM are working with American partners to lease one of the sectors to meet that domestic objective.
- The site will also host Emergent Coding Agents and Code Valley and its development partners are expected to lease several of these sectors.
- TM hopes to have the site operational within 2 years.
Agents are "built" using emergent coding. You select the features you want your Agent to have and send out the contracts. In a few minutes you are in possession of a binary ELF. You run up your ELF on your own machine and it will peer with the emergent coding and Bitcoin Cash networks. Congratulations, your Agent is now ready to accept its first contract. 3. Who controls these "agents" in a software project
You control your own Agents. It is a decentralized development system. 4. What is the software license of these agents. Full EULA here, now.
A license gives you the right to create your own Agents and participate in the decentralized development system. We will publish the EULA when we release the product. 5. What kind of software architecture do these agents have. Daemons Responding to API calls ? Background daemons that make remote connection to listening applications?
Your Agent is a server that requires you to open a couple of ports so as to peer with both EC and BCH networks. If you run a BCH full node you will be familiar with this process. Your Agent will create a "job" for each contract it receives and is designed to operate thousands of jobs simultaneously in various stages of completion. It is your responsibility to manage your Agent and keep it open for business or risk losing market share to another developer capable of designing the same feature in a more reliable manner (or at better cost, less resource usage, faster design time etc.). For example, there is competition at every classification which is one reason emergent coding is on a fast path for improvement.
It is worth reiterating here that Agents are only used in the software design process and do not perform any role in the returned project binary. 6. What is the communication protocol these agents use.
The protocol is proprietary and is part of your license. 7. Are the agents patented? Who can use these agents?
It is up to you if you want to patent your Agent the underlying innovation behind emergent coding is _feasible_ developer specialization. Emergent coding gives you the ability to contribute to a project without revealing your intellectual property thus creating prospects for repeat business; It renders software patents moot.
Who uses your Agents? Your Agents earn you BCH with each design contribution made. It would be wise to have your Agent open for business at all times and encourage everyone to use your design service. 8. Do I need to cooperate with Code Valley company all of the time in order to deploy Emergent Coding on my software projects, or can I do it myself, using documentation?
It is a decentralized system. There is no single point of failure. Code Valley intends to defend the emergent coding ecosystem from abuse and bad actors but that role is not on your critical path. 9. Let's say Electron Cash is an Emergent Coding project. I have found a critical bug in the binary. How do I report this bug, what does Jonald Fyookball need to do, assuming the buggy component is a "shared component" puled from EC "repositories"?
If you built Electron Cash with emergent coding it will have been created by combining several high level wallet features designed into your project by their respective Agents. Obviously behind the scenes there are many more contracts that these Agents will let and so on. For example the Cashbar combines just 16 high level Point-of-Sale features but ultimately results in more than 10,000 contracts in toto. Should one of these 10,000 make a design error, Jonald only sees the high level Agents he contracted. He can easily pinpoint which of these contractors are in breach. Similarly this contractor can easily pinpoint which of its sub-contractors is in breach and so on. The offender that breached their contract wherever in the project they made their contribution, is easily identified. For example, when my truck has a warranty problem, I do not contact the supplier of the faulty big-end bearing, I simply take it back to Mazda who in turn will locate the fault.
Finally "...assuming the buggy component is a 'shared component' puled from EC 'repositories'?
" - There are no repositories or "shared component" in emergent coding. 10. What is your licensing/pricing model? Per project? Per developer? Per machine?
Your Agent charges for each design contribution it makes (ie per contract). The exact fee is up to you. The resulting software produced by EC is unencumbered. Code Valley's pricing model consists of a seat license but while we are still determining the exact policy, we feel the "Valley" (where Agents advertise their wares) should charge a small fee to help prevent gaming the catalogue and a transaction fee to provide an income in proportion to operations. 11. What is the basic set of applications I need in order to deploy full Emergent Coding in my software project? What is the function of each application? Daemons, clients, APIs, Frontends, GUIs, Operating systems, Databases, NoSQLs? A lot of details, please.
There's just one. You buy a license and are issued with our product called Pilot. You run Pilot (node) up on your machine and it will peer with the EC and BCH networks. You connect your browser to Pilot typically via localhost and you're in business. You can build software (including special kinds of software like Agents) by simply combining available features. Pilot allows you to specify the desired features and will manage the contracts and decentralized build process. It also gives you access to the "Valley" which is a decentralized advertising site that contains all the "business cards" of each Agent in the community, classified into categories for easy search.
If we are to make a step change in software design, inventing yet another HLL will not cut it. As Fred Brooks puts it, an essential change
is needed. 12. How can I trust a binary when I can not see the source?
The Emergent Coding development model is very different to what you are use to. There are ways of arriving at a binary without Source code.
The Agents in emergent coding design their feature into your project without writing code. We can see the features we select but can not demonstrate the source as the design process doesn't use a HLL.
The trust model is also different. The bulk of the testing happens _before_ the project is designed not _after_. Emergent Coding produces a binary with very high integrity and arguably far more testing is done in emergent coding than in incumbent methods you are used to.
In emergent coding, your reputation is built upon the performance of your Agent.
If your Agent produces substandard features, you are simply creating an opportunity for a competitor to increase their market share at your expense.
Here are some points worth noting regarding bad actor Agents:
- An Agent is a specialist and in emergent coding is unaware of the project they are contributing to. If you are a bad actor, do you compromise every contract you receive? Some? None?
- Your client is relying on the quality of your contribution to maintain their own reputation. Long before any client will trust your contributions, they will have tested you to ensure the quality is at their required level. You have to be at the top of your game in your classification to even win business. This isn't some shmuck pulling your routine from a library.
- Each contract to your agent is provisioned. Ie you advertise in advance what collaborations you require to complete your design. There is no opportunity for a "sign a Bitcoin transaction" Agent to be requesting "send an HTTP request" collaborations.
- Your Agent never gets to modify code, it makes a design contribution rather than a code contribution. There is no opportunity to inject anything as the mechanism that causes the code to emerge is a higher order complexity of all Agent involvement.
- There is near perfect accountability in emergent coding. You are being contracted and paid to do the design. Every project you compromise has an arrow pointed straight at you should it be detected even years later.
Security is a whole other ball game in emergent coding and current rules do not necessarily apply. 13. Every time someone rebuilds their application, do they have to pay over again for all "design contributions"? (Or is the ability to license components at fixed single price for at least a limited period or even perpetually, supported by the construction (agent) process?)
You are paying for the design. Every time you build (or rebuild) an application, you pay the developers involved. They do not know they are "rebuilding". This sounds dire but its costs far less than you think and there are many advantages. Automation is very high with emergent coding so software design is completed for a fraction of the cost of incumbent design methods. You could perhaps rebuild many time before matching incumbent methods. Adding features is hard with incumbent methods "..very few late-stage additions are required before the code base transforms from the familiar to a veritable monster of missed schedules, blown budgets and flawed products" (Brooks Jr 1987)
whereas with emergent coding adding a late stage feature requires a rebuild and hence seamless integration. With Emergent Coding, you can add an unlimited number of features without risking the codebase as there isn't one.
The second part of your question incorrectly assumes software is created from licensed components rather than created by paying Agents to design features into your project without any licenses involved. 14. In this construction process, is the vendor of a particular "design contribution" able to charge differential rates per their own choosing? e.g. if I wanted to charge a super-low rate to someone from a 3rd world country versus charging slightly more when someone a global multinational corporation wants to license my feature?
Yes. Developers set the price and policy of their Agent's service. The Valley (where your Agent is presently advertised) presently only supports a simple price policy. The second part of your question incorrectly assumes features are encumbered with licenses. A developer can provide their feature without revealing their intellectual property. A client has the right to reuse a developer's feature in another project but will find it uneconomical to do so. 15. Is "entirely free" a supported option during the contract negotiation for a feature?
Yes. You set the price of your Agent. 16. "There is no single point of failure." Right now, it seems one needs to register, license the construction tech etc. Is that going to change to a model where your company is not necessarily in that loop? If not, don't you think that's a single point of failure?
It is a decentralized development system. Once you have registered you become part of a peer-to-peer system. Code Valley has thought long and hard about its role and has chosen the reddit model. It will set some rules for your participation and will detect or remove bad actors. If, in your view, Code Valley becomes a bad actor, you have control over your Agent, private keys and IP, you can leave the system at any time. 17. What if I can't obtain a license because of some or other jurisdictional problem? Are you allowed to license the technology to anywhere in the world or just where your government allows it?
We are planning to operate in all 150 countries. As ec is peer-to-peer, Code Valley does not need to register as a digital currency exchange or the like. Only those countries banning BCH will miss out (until such times as BCH becomes the first global electronic cash system). 18.
For example the Cashbar combines just 16 high level Point-of-Sale features but ultimately results in more than 10,000 contracts in toto. It seems already a reasonably complex application, so well done in having that as a demo.
Thank you. 19. I asked someone else a question about how it would be possible to verify whether an application (let's say one received a binary executable) has been built with your system of emergent consensus. Is this possible?
Yes of course. If you used ec to build an application, you can sign it and claim anything you like. Your client knows it came from you because of your signature. The design contributions making up the application are not signed but surprisingly there is still perfect accountability (see below). 20. I know it is possible to identify for example all source files and other metadata (like build environment) that went into constructing a binary, by storing this data inside an executable.
All metadata emergent coding is now stored offline. When your Agent completes a job, you have a log of the design agreements you made with your peers etc., as part of the log. If you are challenged at a later date for breaching a design contract, you can pull your logs to see what decisions you made, what sub-contracts were let etc. As every Agent has their own logs, the community as a whole has a completely trustless log of each project undertaken. 21. Is this being done with EC build products and would it allow the recipient to validate that what they've been provided has been built only using "design contributions" cryptographically signed by their providers and nothing else (i.e. no code that somehow crept in that isn't covered by the contracting process)?
The emergent coding trust model is very effective and has been proven in other industries. Remember, your Agent creates a feature in my project by actually combining smaller features contracted from other Agents, thus your reputation is linked to that of your suppliers. If Bosch makes a faulty relay in my Ford, I blame Ford for a faulty car not Bosch when my headlights don't work. Similarly, you must choose and vet your sub-contractors to the level of quality that you yourself want to project. Once these relationships are set up, it becomes virtually impossible for a bad actor to participate in the system for long or even from the get go. 22. A look at code generated and a surprising answer to why is every intermediate variable spilled?
Thanks to u/R_Sholes
, this snippet from the actual code for: number = number * 10 + digit
generated as a part of: sub read/integeboolean($, 0, 100) -> guess
; copy global to local temp variable 0x004032f2 movabs r15, global.current_digit 0x004032fc mov r15, qword [r15] 0x004032ff mov rax, qword [r15] 0x00403302 movabs rdi, local.digit 0x0040330c mov qword [rdi], rax ; copy global to local temp variable 0x0040330f movabs r15, global.guess 0x00403319 mov r15, qword [r15] 0x0040331c mov rax, qword [r15] 0x0040331f movabs rdi, local.num 0x00403329 mov qword [rdi], rax ; multiply local variable by constant, uses new temp variable for output 0x0040332c movabs r15, local.num 0x00403336 mov rax, qword [r15] 0x00403339 movabs rbx, 10 0x00403343 mul rbx 0x00403346 movabs rdi, local.num_times_10 0x00403350 mov qword [rdi], rax ; add local variables, uses yet another new temp variable for output 0x00403353 movabs r15, local.num_times_10 0x0040335d mov rax, qword [r15] 0x00403360 movabs r15, local.digit 0x0040336a mov rbx, qword [r15] 0x0040336d add rax, rbx 0x00403370 movabs rdi, local.num_times_10_plus_digit 0x0040337a mov qword [rdi], rax ; copy local temp variable back to global 0x0040337d movabs r15, local.num_times_10_plus_digit 0x00403387 mov rax, qword [r15] 0x0040338a movabs r15, global.guess 0x00403394 mov rdi, qword [r15] 0x00403397 mov qword [rdi], rax For comparison, an equivalent snippet in C compiled by clang without optimizations gives this output: imul rax, qword ptr [guess], 10 add rax, qword ptr [digit] mov qword ptr [guess], rax
Collaborations at the byte layer of Agents result in designs that spill every intermediate variable.
Firstly, why this is so?
Agents from this early version only support one catch-all variable design when collaborating. Similar to a compiler when all registers contain variables, the compiler must make a decision to spill a register temporarily to main memory. The compiler would still work if it spilled every variable to main memory but would produce code that would be, as above, hopelessly inefficient.
However, by only supporting the catch-all portion of the protocol, the code valley designers were able to design, build and deploy these agents faster because an Agent needs fewer predicates in order to participate in these simpler collaborations.
The protocol involved however, can have many "Policies" besides the catch-all default policy (Agents can collaborate over variables designed to be on the stack, or, as is common for intermediate variables, designed to use a CPU register, and so forth).
This example highlights one of the very exciting aspects of emergent coding. If we now add a handful of additional predicates to a handful of these byte layer agents, henceforth ALL
project binaries will be 10x smaller and 10x faster.
Finally, there can be many Agents competing for market share at each of classification. If these "gumby" agents do not improve, you can create a "smarter" competitor (ie with more predicates) and win business away from them. Candy from a baby. Competition means the smartest agents bubble to the top of every classification and puts the entire emergent coding platform on a fast path for improvement
. Contrast this with incumbent libraries which does not have a financial incentive to improve. Just wait until you get to see our production system. 23. How hard can an ADD Agent be?
Typically an Agent's feature is created by combining smaller features from other Agents. The smallest features are so devoid of context and complexity they can be rendered by designing a handful of bytes in the project binary. Below is a description of one of these "byte" layer Agents to give you an idea how they work.
An "Addition" Agent creates the feature of "adding two numbers" in your project (This is an actual Agent). That is, it contributes to the project design a feature such that when the project binary is delivered, there will be an addition instruction somewhere in it that was designed by the contract that was let to this Agent.
If you were this Agent, for each contract you received, you would need to collaborate with peers in the project to resolve vital requirements before you can proceed to design your binary "instruction".
Each paid contract your Agent receives will need to participate in at least 4 collaborations within the design project. These are:
- Input A collaboration
- Input B collaboration
- Result collaboration
- Construction site collaboration
You can see from the collaborations involved how your Agent can determine the precise details needed to design its instruction. As part of the contract, the Addition Agent will be provisioned with contact details so it can join these collaborations. Your Agent must collaborate with other stakeholders in each collaboration to resolve that requirement. In this case, how a variable will be treated. The stakeholders use a protocol to arrive at an Agreement and share the terms of the agreement. For example, the stakeholders of collaboration “Input A” may agree to treat the variable as an signed 64bit integer, resolve to locate it at location 0x4fff2, or alternatively agree that the RBX register should be used, or agree to use one of the many other ways a variable can be represented. Once each collaboration has reached an agreement and the terms of that agreement distributed, your Agent can begin to design the binary instruction. The construction site collaboration is where you will exactly place your binary bytes.
The construction site protocol is detailed in the whitepaper and is some of the magic that allows the decentralized development system to deliver the project binary. The protocol consists of 3 steps,
- You request space in the project binary be reserved.
- You are notified of the physical address of your requested space.
- You delver the the binary bytes you designed to fill the reserved space.
Once the bytes are returned your Agent can remove the job from its work schedule. Job done, payment received, another happy customer with a shiny ADD instruction designed into their project binary.
24. How does EC arrive at a project binary without writing source code?
- Observe how it is impossible for this ADD Agent to install a backdoor undetected by the client.
- Observe how the Agent isn’t linking a module, or using a HLL to express the binary instruction.
- Observe how with just a handful of predicates you have a working "Addition" Agent capable of designing the Addition Feature into a project with a wide range of collaboration agreements.
- Observe how this Agent could conceivably not even design-in an ADD instruction if one of the design time collaboration agreements was a literal "1" (It would design in an increment instruction). There is even a case where this Agent may not deliver any binary to build its feature into your project!
Devs using EC combine features to create solutions. They don't write code. EC devs contract Agents which design the desired features into their project for a fee. Emergent coding uses a domain specific contracting language (called pilot) to describe the necessary contracts. Pilot is not a general purpose language. As agents create their features by similarly combining smaller features contracted from peer, your desired features may inadvertently result in thousands of contracts. As it is agents all the way down, there is no source code to create the project binary. Traditional
: Software requirements -> write code -> compile -> project binary (ELF). Emergent coding
: Select desired features -> contract agents -> project binary (ELF).
Agents themselves are created the same way - specify the features you want your agent to have, contract the necessary agents for those features and viola - agent project binary (ELF). 25. How does the actual binary code that agents deliver to each other is written?
An agent never touches code. With emergent coding, agents contribute features to a project, and leave the project binary to emerge as the higher-order complexity of their collective effort. Typically, agents “contribute” their feature by causing smaller features to be contributed by peers, who in turn, do likewise. By mapping features to smaller features delivered by these peers, agents ensure their feature is delivered to the project without themselves making a direct code contribution.
Peer connections established by these mappings serve to both incrementally extend a temporary project “scaffold” and defer the need to render a feature as a code contribution. At the periphery of the scaffold, features are so simple they can be rendered as a binary fragment with these binary fragments using the information embodied by the scaffold to guide the concatenation back along the scaffold to emerge as the project binary - hence the term Emergent Coding.
Note the scaffold forms a temporary tree-like structure which allows virtually all the project design contracts to be completed in parallel. The scaffold also automatically limits an agent's scope to precisely the resources and site for their feature. It is why it is virtually impossible for an agent to install a "back door" or other malicious code into the project binary.
Download Bitcoin Core. Bitcoin Core is the backbone of the Bitcoin network. Almost all Bitcoin wallets rely on Bitcoin Core in one way or another. If you have a fairly powerful computer that is almost always online, you can help the network by running Bitcoin Core. You can also use Bitcoin Core as a very secure Bitcoin wallet. News is emerging that quick think from cryptocurrency exchanges helped curb the impact of the Twitter hacker's scam. Last week, Twitter was hacked and many top accounts were seemingly offering Bitcoin giveaways. 185 votes, 31 comments. 220k members in the CryptoMarkets community. FOREX community for cryptocurrencies. Tags: mt gox bitcoin, long term … One of Bitcoin’s biggest selling points is it non-correlation with traditional markets, but recently we have seen record levels of correlation with the S&P. The Ulam spiral, or prime spiral (in other languages also called the Ulam Cloth) is a simple method of visualizing the prime numbers that reveals the apparent tendency of certain quadratic polynomials to generate unusually large numbers of primes. It was discovered by the mathematician Stanislaw Ulam in 1963, while he was doodling during the presentation of a “long and very boring paper
Global Markets Negative, Ripple Partnership, Bitcoin Ethereum Link & Crypto Passive Income ... Printing $4 Trillion, Bitcoin Price Drop, Reddit Coin & New Gemini Coins - Duration: 1:00:24. The last video did not go into the lows of each BTC market cycle. Therefore, this brief and unplanned video shows the time between Bitcoin valleys. Let me know what you think about it in the ... - Bitcoin bear markets are underrated - This may be the last chance you have of acquiring a full bitcoin - Value your wealth in Bitcoin and think long term. cryptocurrency reddit trading bitcoin ... cryptocurrency reddit eli5 ... cryptocurrency reddit market Cryptocurrency tumbler cryptocurrency market size ripple cryptocurrency news Dec.23 -- Spencer Bogart, Blockchain Capital general partner, discusses his predictions for the cryptocurrency market in 2020. He speaks with Bloomberg's Joe...