In this article, I will intent to do a public vs private (permissioned) blockchain comparison. This will include an examination of what exactly the roles of these two types of blockchain really are and why big businesses should quickly move to adopt them. This analysis will look at why private blockchains are better suited to big business use when compared to public ones.
Since extension blocks can be implemented via soft forks, the features of the extension blocks are essentially opt-in for users. Even in the case of extension blocks with a larger block size limit, users are not forced to upgrade and validate or propagate blocks that are much larger in size. Those who wish to enjoy the level of decentralization offered by 1MB blocks can continue to do so, while those who would like to experiment with much larger block size limits can do so on an opt-in basis.
Public blockchains are just that, public. Anyone that wants to read, write, or join a public blockchain can do so. Public chains are decentralized meaning no one body has control over the network, ensuring the data can’t be changed once validated on the blockchain. Simply meaning, anyone, anywhere, can use a public blockchain to input transactions and data as long as they are connected to the network.
The information on every public blockchain is subsequently replicated to sometimes thousands of nodes on the network. No one power administers it centrally, hence, hackers can’t destroy the network by crippling one central server. Read this article “What is Blockchain technology? A step-by-step Guide For Beginners”, for a more detailed description of the technology.
Las sidechains son otro de los conceptos más famosos entorno a Bitcoin, no los pierdas de vista. La teoría indica que permitirían añadir funcionalidades nuevas a Bitcoin, pero sin necesidad de modificar constantemente el código de éste, ya que la funcionalidad es desarrollada utilizando otra cadena de bloque para finalmente ser conectada a la de Bitcoin. Al mismo tiempo esto evitaría la saturación de una sola cadena de bloques, como actualmente ocurre, al utilizar cadenas diferentes para cada caso de uso.
Por ello, con este escenario sobre la mesa y con el objetivo de aunar esfuerzos, algunos se han preguntado: ¿Sería posible crear blockchains que sean utilizadas para casos de usos concretos, pero conectadas en todo momento a la de Bitcoin? ¿Podemos crear piezas de software que desde una blockchain se pueda saltar a otra de manera transparente, segura y descentralizada? Esto generaría, para que te hagas una imagen mental, algo así como las ruedas dentadas interconectadas de un motor, cada rueda una blockchain, todas trabajando juntas.

@tetsu – not sure what you mean. My reading of the sidechains paper is that the worst case scenario is that an attacker manages to “reanimate” Bitcoins on the main blockchain that had been sent to the sidechain… but that would be the attacker stealing the coins from the rightful owner on the sidechain. From Bitcoin’s perspective, the coins were always going to be reanimated…. so the risk is entirely borne by the holder(s) on the sidechain. Am I missing something?
Confidential Transactions — At present, all Bitcoin transactions are completely public, albeit pseudonymous. Confidential Transactions, as the name implies, conceal the amount being transferred to all except the sender, the recipient, and others they designate. The resulting transaction size is significantly larger, but includes a sizable “memo” field that can be used to store transaction or other metadata, and is still smaller than eg Zerocoin.(Note that this isn’t as confidential as Zerocash, which conceals both the amount and the participants involved in any transaction, through the mighty near-magic of zk-Snarks. Mind you, Zerocash would require an esoteric invocation ritual to initiate its network. No, really. But that’s a subject for a separate post.)
The Cryptocurrency Data Feed, a partnership between Blockstream and Intercontinental Exchange (ICE), offers traders best in class real-time and historical cryptocurrency data from a strong and growing list of exchange partners worldwide. With over 25 exchanges, 133 crypto and fiat currency pairs, and over 200M order book updates every day, the Cryptocurrency Data Feed is the most comprehensive and robust source of global cryptocurrency data.

"Proof of Work" used by Bitcoin is a competitive consensus algorithm. Each node races to solve a difficult puzzle first. Doing so earns the right to produce a block and you are rewarded in Bitcoin. The block is where the transaction (value of data) is written and confirmed. However, this race is a waste of time and money for those that don’t win. You get nothing unless you are the first to solve the puzzle. Since no one wants to lose, nodes started working together to solve the puzzle and share the reward based on your computational power (the hash rate).
Perhaps blocks are created faster on that sidechain. Perhaps transaction scripts are “turing complete”. Perhaps you have to pay fees to incent those securing that sidechain. Who knows. The rules can be whatever those running that sidechain want them to be. The only rule that matters is that the sidechain agrees to follow the convention that if you can prove you put some Bitcoins out of reach on the Bitcoin network, the same number will pop into existence on the sidechain.

!function(n,t){function r(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function i(e){return void 0===e}if(n){var o={},s=n.TraceKit,a=[].slice,l="?";o.noConflict=function(){return n.TraceKit=s,o},o.wrap=function(e){function n(){try{return e.apply(this,arguments)}catch(e){throw o.report(e),e}}return n},o.report=function(){function e(e){l(),h.push(e)}function t(e){for(var n=h.length-1;n>=0;--n)h[n]===e&&h.splice(n,1)}function i(e,n){var t=null;if(!n||o.collectWindowErrors){for(var i in h)if(r(h,i))try{h[i].apply(null,[e].concat(a.call(arguments,2)))}catch(e){t=e}if(t)throw t}}function s(e,n,t,r,s){var a=null;if(w)o.computeStackTrace.augmentStackTraceWithInitialElement(w,n,t,e),u();else if(s)a=o.computeStackTrace(s),i(a,!0);else{var l={url:n,line:t,column:r};l.func=o.computeStackTrace.guessFunctionName(l.url,l.line),l.context=o.computeStackTrace.gatherContext(l.url,l.line),a={mode:"onerror",message:e,stack:[l]},i(a,!0)}return!!f&&f.apply(this,arguments)}function l(){!0!==d&&(f=n.onerror,n.onerror=s,d=!0)}function u(){var e=w,n=p;p=null,w=null,m=null,i.apply(null,[e,!1].concat(n))}function c(e){if(w){if(m===e)return;u()}var t=o.computeStackTrace(e);throw w=t,m=e,p=a.call(arguments,1),n.setTimeout(function(){m===e&&u()},t.incomplete?2e3:0),e}var f,d,h=[],p=null,m=null,w=null;return c.subscribe=e,c.unsubscribe=t,c}(),o.computeStackTrace=function(){function e(e){if(!o.remoteFetching)return"";try{var t=function(){try{return new n.XMLHttpRequest}catch(e){return new n.ActiveXObject("Microsoft.XMLHTTP")}},r=t();return r.open("GET",e,!1),r.send(""),r.responseText}catch(e){return""}}function t(t){if("string"!=typeof t)return[];if(!r(j,t)){var i="",o="";try{o=n.document.domain}catch(e){}var s=/(.*)\:\/\/([^:\/]+)([:\d]*)\/{0,1}([\s\S]*)/.exec(t);s&&s[2]===o&&(i=e(t)),j[t]=i?i.split("\n"):[]}return j[t]}function s(e,n){var r,o=/function ([^(]*)\(([^)]*)\)/,s=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,a="",u=10,c=t(e);if(!c.length)return l;for(var f=0;f0?s:null}function u(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function c(e){return u(e).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function f(e,n){for(var r,i,o=0,s=n.length;or&&(i=s.exec(o[r]))?i.index:null}function h(e){if(!i(n&&n.document)){for(var t,r,o,s,a=[n.location.href],l=n.document.getElementsByTagName("script"),d=""+e,h=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,p=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,m=0;m]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,o=n.split("\n"),l=[],u=0;u=0&&(g.line=v+x.substring(0,j).split("\n").length)}}}else if(o=d.exec(i[y])){var _=n.location.href.replace(/#.*$/,""),T=new RegExp(c(i[y+1])),E=f(T,[_]);g={url:_,func:"",args:[],line:E?E.line:o[1],column:null}}if(g){g.func||(g.func=s(g.url,g.line));var k=a(g.url,g.line),A=k?k[Math.floor(k.length/2)]:null;k&&A.replace(/^\s*/,"")===i[y+1].replace(/^\s*/,"")?g.context=k:g.context=[i[y+1]],h.push(g)}}return h.length?{mode:"multiline",name:e.name,message:i[0],stack:h}:null}function y(e,n,t,r){var i={url:n,line:t};if(i.url&&i.line){e.incomplete=!1,i.func||(i.func=s(i.url,i.line)),i.context||(i.context=a(i.url,i.line));var o=/ '([^']+)' /.exec(r);if(o&&(i.column=d(o[1],i.url,i.line)),e.stack.length>0&&e.stack[0].url===i.url){if(e.stack[0].line===i.line)return!1;if(!e.stack[0].line&&e.stack[0].func===i.func)return e.stack[0].line=i.line,e.stack[0].context=i.context,!1}return e.stack.unshift(i),e.partial=!0,!0}return e.incomplete=!0,!1}function g(e,n){for(var t,r,i,a=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,u=[],c={},f=!1,p=g.caller;p&&!f;p=p.caller)if(p!==v&&p!==o.report){if(r={url:null,func:l,args:[],line:null,column:null},p.name?r.func=p.name:(t=a.exec(p.toString()))&&(r.func=t[1]),"undefined"==typeof r.func)try{r.func=t.input.substring(0,t.input.indexOf("{"))}catch(e){}if(i=h(p)){r.url=i.url,r.line=i.line,r.func===l&&(r.func=s(r.url,r.line));var m=/ '([^']+)' /.exec(e.message||e.description);m&&(r.column=d(m[1],i.url,i.line))}c[""+p]?f=!0:c[""+p]=!0,u.push(r)}n&&u.splice(0,n);var w={mode:"callers",name:e.name,message:e.message,stack:u};return y(w,e.sourceURL||e.fileName,e.line||e.lineNumber,e.message||e.description),w}function v(e,n){var t=null;n=null==n?0:+n;try{if(t=m(e))return t}catch(e){if(x)throw e}try{if(t=p(e))return t}catch(e){if(x)throw e}try{if(t=w(e))return t}catch(e){if(x)throw e}try{if(t=g(e,n+1))return t}catch(e){if(x)throw e}return{mode:"failed"}}function b(e){e=1+(null==e?0:+e);try{throw new Error}catch(n){return v(n,e+1)}}var x=!1,j={};return v.augmentStackTraceWithInitialElement=y,v.guessFunctionName=s,v.gatherContext=a,v.ofCaller=b,v.getSource=t,v}(),o.extendToAsynchronousCallbacks=function(){var e=function(e){var t=n[e];n[e]=function(){var e=a.call(arguments),n=e[0];return"function"==typeof n&&(e[0]=o.wrap(n)),t.apply?t.apply(this,e):t(e[0],e[1])}};e("setTimeout"),e("setInterval")},o.remoteFetching||(o.remoteFetching=!0),o.collectWindowErrors||(o.collectWindowErrors=!0),(!o.linesOfContext||o.linesOfContext<1)&&(o.linesOfContext=11),void 0!==e&&e.exports&&n.module!==e?e.exports=o:"function"==typeof define&&define.amd?define("TraceKit",[],o):n.TraceKit=o}}("undefined"!=typeof window?window:global)},"./webpack-loaders/expose-loader/index.js?require!./shared/require-global.js":function(e,n,t){(function(n){e.exports=n.require=t("./shared/require-global.js")}).call(n,t("../../../lib/node_modules/webpack/buildin/global.js"))}});
10Clouds is a team of 100+ experienced developers and designers based in Poland, ready to help you build your web and mobile applications. Since 2009 we have built and designed software for more than 90 businesses worldwide, mainly in the United States, Western Europe, and Australia. We partner with companies of all sizes to design, develop, and grow their digital products. Our expertise in web and mobile technologies, including Agile and L ... Read more
A federation is a group that serves as the intermediary between a parent chain and its corresponding sidechain. It is an additional layer in the protocol but serves a key function and is what Blockstream’s Liquid sidechain uses. Due to the lack of expressiveness of Bitcoin’s scripting language, an externally implemented and mutually distrusting set of members form a federated peg.
Bitcoin blockchain design has been done for a specific purpose, and this is a money (crypto currency) transfer. But what will we do, if we want to change or add some functions of the bitcoin blockchain? What if we want to transfer other assets rather than money, what if we want to do transactions automatically when pre-determined events occurred. Or what if we don't want other people see our transactions, or track our transactions' history. You can ask countless of what if questions and every answer to these questions drive you to a different blockchain or configurations
Instead, what if the game was played in its own “channel”? Each time a player made a move, the state of the game is signed by each player. After an epic battle where the Protoss player takes out the remaining Zerg forces and forces a gg, the final state of the game (Protoss wins) is sent to a smart contract on the main chain. This neutral smart contract, known as a Judge, waits a while to see if the Zerg player disputes the outcome. If the Zerg player doesn’t, the Protoss player is paid the 1 ETH.

When you send Bitcoins somewhere, you lay down the challenge for the next owner. Usually, you’ll simply specify that they need to know the public and private keypair that correspond to the Bitcoin address the coins were sent to. But it can be more complicated than that. In the general case, you don’t even know who the next owner is… it’s just whoever can satisfy the condition.
This is justified by observing that, in our pre-sidechain world, miners always want things to be correct. In theory, the incentives of miners and investors are very strongly aligned: both are compensated most when the exchange rate is highest. And, in practice, we do not see large reorganizations (where miners can “steal”, by first depositing BTC to major exchanges, then selling that BTC for fiat (which they withdraw), and finally rewriting the last 3 or 4 days of chain history, to un-confirm the original deposits). These reorgs would devastate the exchange rate, as they would cast doubt on the entire Bitcoin experiment. The thesis of Drivechain is that sidechain-theft would also devastate the exchange rate, as it would cast doubt on the entire sidechain experiment (which would itself cast doubt on the Bitcoin experiment, given the anti-competitive power of sidechains).
Note: Some would argue that such a system cannot be defined as a blockchain. Also, Blockchain is still in it’s early stages. It is unclear how the technology will pan out and will be adopted. Many argue that private or federated Blockchains might suffer the fate of Intranets in the 1990’s, when private companies built their own private LANs or WANs instead of using the public Internet and all the services, but has more or less become obsolete especially with the advent of SAAS in the Web2.
Liquid is the world's first federated sidechain that enables rapid, confidential, and secure bitcoin transfers. Participating exchanges and Bitcoin businesses deploy the software and hardware that make up the Liquid network, so that they can peg in and out of the Bitcoin blockchain and offer Liquid’s features to their traders. Liquid provides a more secure and efficient system for exchange-side bitcoin to move across the network.
Governance: Every enterprise needs to design standards, processes, methods, and tools to develop and operate a private blockchain. To achieve this they will need tools and frameworks such as IDE, testing framework, security auditing tool etc. For long-term successful operation, they also need to develop high-quality documentation. This requires proactive governance. Read more about the importance of the “Fundamental challenges with public blockchains” here.
The cheapest and most simple option is doing calculations on your local network (off-chain) and integrating with main blockchain by sending the results. It has flaws; you cannot live full advantage of blockchain as we do in bitcoin, because you will still have existing constraints of your current system. Despite all this, it is still a valid option; perhaps you won't need all the features of blockchain technology. Perhaps it is just enough to use blockchain only for your pain points. Factom can be considered under that kind of option. They used bitcoin wisely in their design. They hold the actual mass data in their network and utilize stability of bitcoin in their solution. This project is so successful that at coindesk magazine, it is saying that Factom can be used for the land titles in Honduras. http://www.coindesk.com/debate-f...
The sole distinction between public and private blockchain is related to who is allowed to participate in the network, execute the consensus protocol and maintain the shared ledger. A public blockchain network is completely open and anyone can join and participate in the network. The network typically has an incentivizing mechanism to encourage more participants to join the network. Bitcoin is one of the largest public blockchain networks in production today.
×