Angel \”Java\” Lopez on Blog

December 8, 2016

New Month’s Resolutions: December 2016

Filed under: Blockchain, Crystal, Go, JavaScript, NodeJs, Open Source Projects, Solidity — ajlopez @ 10:23 am

The last month of the year. Time to review past month’s resolutions:

– Improve CrysSharp [pending]
– Improve SharpGo [complete] see repo
– Improve BlockchainSharp [pending]
– Improve SimpleBlockchain [pending]
– Continue Solidity Compiler [complete] see repo
– Continue ChineseP [pending]
– Continue PegSharp [complete] see repo

My new month’s resolutions

– Improve CrysSharp
– Improve GoSharp 
– Improve BlockchainSharp
– Improve SimpleBlockchain
– Continue Solidity Compiler
– Continue ChineseP
– Continue PegSharp

Stay tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

December 6, 2016

Blockchain: Links And Resources (16)

Filed under: Bitcoin, Blockchain, Ethereum, FinTech, Links, RSK — ajlopez @ 10:45 am

Previous Post

WINGS: plataforma descentralizada de mercados predictivos reinventa las DAO
http://criptonoticias.com/aplicaciones/wings-plataforma-descentralizada-mercados-predictivos-reinventa-dao/#axzz4S0dlqv5h

Can Blockchain Gain Traction in Power and Energy Markets? – Microgrid Media
http://microgridmedia.com/can-blockchain-gain-traction-power-energy-markets/

US Commerce Department to Discuss Blockchain Copyright – CoinDesk
http://www.coindesk.com/us-commerce-department-discuss-blockchain-copyright/

Intel is Winning Over Blockchain Critics By Reimagining Bitcoin’s DNA – CoinDesk
http://www.coindesk.com/intel-winning-blockchain-critics-reimagining-bitcoins-dna/

The Blockchain Milestone You May Have Missed – CoinDesk
http://www.coindesk.com/blockchain-milestone-may-have-missed-corda-hyperledger/

Japan’s Central Bank is ‘Test-Driving’ Distributed Ledgers – CoinDesk
http://www.coindesk.com/japan-central-bank-blockchain-test-drive/

Evolution of Kadena, the First Real Private Blockchain – CoinDesk
http://www.coindesk.com/evolution-kadena-first-real-private-blockchain/

Coders Named After Harry Potter Characters Join Bitcoin’s ‘Mimblewimble’
http://www.coindesk.com/coders-harry-potter-bitcoin-mimblewimble/

R3’s Corda Code Debut Draws Mixed Response – CoinDesk
http://www.coindesk.com/r3-corda-debut-mixed-response/

Bitcoins: la moneda virtual crece en la Argentina y apunta a los clientes no bancarizados
http://www.lanacion.com.ar/1960718-bitcoins-la-moneda-virtual-crece-en-la-argentina-y-apunta-a-los-clientes-no-bancarizados

Wings and ForkLog Announce a Contest for Best DAO Concept | ForkLog
http://forklog.net/wings-and-forklog-announce-a-contest-for-the-best-concept-for-a-dao/

My Links
http://delicious.com/ajlopez/blockchain

Stay tuned!

Angel "Java" Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

December 2, 2016

Blockchain: Links And Resources (15)

Filed under: Bitcoin, Blockchain, Ethereum, FinTech, Links, RSK — ajlopez @ 2:05 pm

Previous Post
Next Post

WeChat-Inspired Wallets Are Coming to Ethereum – CoinDesk
http://www.coindesk.com/wechat-wallet-ethereum-blockchain-status/

Zcash Prices Are Finally Beginning to Show Some Stability – CoinDesk
http://www.coindesk.com/zcash-prices-finally-beginning-show-stability/

What Investors Should Know Before Trading Zcash – CoinDesk
http://www.coindesk.com/investors-know-trading-zcash/

Blockchain Pros Debate ‘Looming Challenges’ for Smart Contracts – CoinDesk
http://www.coindesk.com/blockchain-smart-contracts-looming-challenges/

Bitfury Paper Makes Case For Auditability As Blockchain’s Defining Feature
http://www.coindesk.com/bitfury-paper-makes-case-auditability-blockchains-defining-feature/

How Developers Are Responding to Ethereum’s Unexpected Fork – CoinDesk
http://www.coindesk.com/developer-response-ethereum-fork/

The Most Worrying Slide in the State of Blockchain – CoinDesk
http://www.coindesk.com/ethereum-ico-coindesk-state-of-blockchain-q3/

China’s Huiyin Group Launches $20 Million Bitcoin Fund – CoinDesk
http://www.coindesk.com/chinas-huiyin-group-bitcoin-blockchain-venture-fund-20-million/

Ethereum’s Fourth Blockchain Fork: So Far, So Good
http://www.coindesk.com/ethereum-forks-again-so-far-so-good/

Ether Prices Near 7-Month Low As Blockchain Issues Spook Investors – CoinDesk
http://www.coindesk.com/ether-ethereum-prices-blockchain-issues-seven-month-low/

Blockchain to become ‘beating heart’ of global financial system
http://www.irishtimes.com/business/transport-and-tourism/blockchain-to-become-beating-heart-of-global-financial-system-1.2756785

Argentina’s Central Bank is Warming Up to Blockchain – CoinDesk
http://www.coindesk.com/argentinas-central-bank-warming-blockchain/

RSK
http://www.rsk.co/

My Links
http://delicious.com/ajlopez/blockchain

Stay tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

December 1, 2016

Building A Blockchain (15)

Filed under: Bitcoin, C Sharp, Ethereum, FinTech, JavaScript, NodeJs, Open Source Projects — ajlopez @ 10:28 am

Previous Post

One interesting issue to solve, in my blockchains implementations (C#, JavaScript/NodeJS), is the node intercommunication. The nodes should interchange data, like new blocks, new transactions, status messages…. And, for a running node, it should discover other nodes in the network to be its peers. The process is named: peer discovery.

I want to start to write down some ideas:

– Each node has a node id, and a network id, so other nodes can check that info to accept the node as its peer or not

– A node could have configured a hardcoded list of initial nodes, to use as peers

– But it could have another list: a list of special nodes that knows other nodes in the network. This nodes are not peers of the first node. They are helpers, node registries, that knows other peers in the network, that can be used as peer by a new node in the network. Usually, this lists is not a list of IPs, but of machines by name, in a DNS controlled by the blockchain network infrastructure.

When a new node starts to run, it communicate its existence to this list of peer registry nodes, and actively query them for initial peers.

Each node has a number of maximum peers to use and connect. When one of these connections drops, or it is not suitable for be a peer node, the node tries other known peers, or ask new peers to the registry servers.

One way to ensure a good distribution of connection, is identify the known nodes in zones (maybe, node id modulus a low number). When a node of zone 2 needs peers, the registry servers sends to it peers of zones 1 and 3. In this way, the node start to be connected with more and more peers. But avoiding to know ALL the peers in the network: only some peers of its adjacent zones. This is for security reasons: if the FULL list of peers is not general available, it’s better to avoid global network attacks.

As usual, I should design all these with TDD, guided by simplicity and initial use cases.

Stay tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

November 28, 2016

MultiCurrency in Ethererum/RSK (1)

Filed under: Bitcoin, Blockchain, Ethereum, FinTech, Open Source Projects, RSK — ajlopez @ 9:26 am

In my post serie about connecting blockchains, I’m writing about exchange (value one to one, without change of value) between two popular heterogeneous blockchains (BitCoint and Ethereum/RKS). I’m a member of the development team of @RSKSmart, but those posts are personal opinions: the real work by the team was not published yet.

Another path to explore, is to have, in the SAME blockchain, many cryptocurrencies. My thought is that it could be done in Ethereum/RSK.

In Ethereum, there are accounts with state, and the account state includes the cryptocurrency balance for the account. There is a “default” currency, the Ether. But I think this model could be easily extended.

Each account has a currency, too. The “default” cryptocurrency should be the Ether, but some accounts could be created with ANOTHER cryptocurrency as default currencty. Then, they form a separated set of accounts. One account with currency X, can transfer and can borrow value from another account with THE SAME CURRENCY X. In this way, the new set of account could leverage all the infrastructure of Ethereum, to have a pool of accounts that manage a “coloured” currency value, separated from the default/main one.

In the next post, I want to write about:

– How to define a new currency
– How to create an account with a new currency
– How to transfer between accounts with the same currency
– How to transfer between accounts with different currencies

Stay tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

November 26, 2016

Connecting Blockchains (6)

Filed under: Bitcoin, Blockchain, Ethereum, FinTech, Open Source Projects, RSK — ajlopez @ 7:07 pm

Previous Post

BitCoin is the best known blockchain. Ethereum is the “new kid on the block”, and it has its similarities and its difference with BitCoin. At first, Ethereum has running nodes, transactions, blocks, and a blockchain build by consensus:

The consensus is based on proof of work for each block added to the blockchain, like in BitCoin. But the internal structure of transactions, the state of world by block, are quite different. For example, there are accounts WITH STATUS, instead of unspent outputs as in BitCoin.

But the main, key difference, is that each account could be an smart contract. Each node has a Ethereum Virtual Machine that can run compiled smart contracts. A method in a smart contract could be invoked in each transaction. This new capability opens lot of new use cases.

Having smart contracts in Ethererum/RSK, is one of the motivation to connect both blockchain: BitCoin is limited, running scripts, and the smart contract world is new brave world to be explored.

Stay tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

November 24, 2016

Blockchain: Links And Resources (14)

Filed under: Bitcoin, Blockchain, Ethereum, FinTech, Links, RSK — ajlopez @ 12:15 pm

Previous Post
Next Post

Bitcoin Pioneer Charlie Shrem Launches New Blockchain Venture
http://www.coindesk.com/bitcoin-charlie-shrem-launch-intellisys-capital/

Rootstock Announces Turmeric Testnet Release; Interview with Chief Scientist, Sergio Lerner
https://btcmanager.com/news/rootstock-announces-turmeric-testnet-release-interview-with-chief-scientist-sergio-lerner/

RSK Labs Launch Release that Combines Ethereum and Bitcoin in One Network
https://cointelegraph.com/news/rsk-labs-launch-release-that-combines-ethereum-and-bitcoin-in-one-network

Open Sesame. RSK testnet powered door unlocked via Jaxx! – YouTube
https://www.youtube.com/watch?v=ai6oHiDyyks

Fermat, the Internet of People and the Person to Person Economy
https://hackernoon.com/fermat-the-internet-of-people-and-the-person-to-person-economy-ce933865a0b0#.d1z8v94ye

Blockchain technologies could transform government services | TechCrunch
https://techcrunch.com/2016/11/21/blockchain-technologies-could-transform-government-services/

Blockchain and Ethereum Security on the Higher Level – Vitalik Buterin – YouTube
https://www.youtube.com/watch?v=UFDAtStVXbc

Blockstream – Covenants in Elements Alpha
https://blockstream.com/2016/11/02/covenants-in-elements-alpha.html

Proof of Stake FAQ · ethereum/wiki Wiki
https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ

Chandler Guo on The Bitcoin & Blockchain Revolution – YouTube
https://www.youtube.com/watch?v=J7g2JFn68LU

My Links
http://delicious.com/ajlopez/blockchain

Stay tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

November 22, 2016

Blockchain: Links And Resources (13)

Filed under: Bitcoin, Blockchain, Ethereum, FinTech, RSK — ajlopez @ 11:06 am

Previous Post
Next Post

Santander Quits R3 Blockchain Consortium – CoinDesk
http://www.coindesk.com/santander-drops-out-r3-blockchain-consortium/

Blockchain wallet Jaxx integrates Rootstock RSK – ‘Smart Bitcoin’
http://www.ibtimes.co.uk/blockchain-wallet-jaxx-integrates-rootstock-rsk-1590143

MedRec: Medical Data Management on the Blockchain · PubPub
https://www.pubpub.org/pub/medrec

ASX Exec Calls for Blockchain Use in Healthcare – CoinDesk
http://www.coindesk.com/asx-australia-blockchain-use-healthcare/

Blockchain Credit Card Trial Puts New Twist on Retail Payments – CoinDesk
http://www.coindesk.com/setl-metro-bank-deloitte-blockchain-credit-card/

Embrace The Coming Bitcoin Fork (1 of 3) – Medium
https://medium.com/@DJohnstonEC/embrace-the-coming-bitcoin-fork-1-of-3-40226a253998#.xxtxts1xk

Whoa… Geth 1.5 – Ethereum Blog
https://blog.ethereum.org/2016/11/17/whoa-geth-1-5/

Diego Gutiérrez: El nacimiento de la Internet del valor – Insights Media
http://insights.la/2016/11/10/diego-gutierrez-el-nacimiento-de-la-internet-del-valor/

Central Bank of Argentina Calls on the Bitcoin and Blockchain Community
https://news.bitcoin.com/central-bank-argentina-blockchain/

Gavin Wood – Polkadot – Vision For A Heterogeneous Multi-chain Framework.pdf
http://www.the-blockchain.com/docs/Gavin%20Wood%20-%20Polkadot%20-%20%20Vision%20For%20A%20Heterogeneous%20Multi-chain%20Framework.pdf

Gavin Wood Cuts Tech Deal with Melonport on Cryptofinancing Hedge Fund Blockchain
http://www.the-blockchain.com/2016/11/14/gavin-wood-cuts-tech-deal-with-melonport-on-cryptofinancing-hedge-fund-development-ico-slated/

CoinDesk R3 Banks Trial Blockchain Identity Registry – CoinDesk
http://www.coindesk.com/r3-banks-trial-blockchain-identity-registry/

Bitmain Reveals Plans for Major Bitcoin Mining Data-Center in Northwestern China
https://bitcoinmagazine.com/articles/bitmain-reveals-plans-for-major-bitcoin-mining-data-center-in-northwestern-china-1478797051

swarm merge to develop · Issue #2961 · ethereum/go-ethereum
https://github.com/ethereum/go-ethereum/issues/2961

My Links
http://delicious.com/ajlopez/blockchain

Stay tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

November 16, 2016

Connecting Blockchains (5)

Filed under: Bitcoin, Blockchain, Ethereum, FinTech, Open Source Projects — ajlopez @ 5:21 pm

Previous Post
Next Post

The use case I have in mind is to connect to heterogeneous blockchains: BitCoin, and Ethereum/RSK:

The main problem is that both blockchains are too different. The resolution of both use case (transfer from BitCoin to Ethereum/RSK) will be very different to the resolution of the second use case (transfer from Ethereum/RSK to BitCoin).

And the key difference is that Ethereum/RSK has smart contracts (even native precompiled contracts, if needed). The second difference is the format of transactions: BitCoin uses Unspent Outputs, meanwhile Ethereum relies on keeping account balances.

But it is an interesting and non-trivial use case, to discuss in detail in the next posts.

Stay tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

November 14, 2016

A Database in the Blockchain (1)

Filed under: Blockchain, Ethereum, FinTech, Open Source Projects, RSK — ajlopez @ 9:53 am

Having a blockchain with smart contracts, like in Ethereum/RSK, opens a can of possibilities, new use cases, and new ways to give value to business. I’m not sure it is needed, but one possibility to explore is to have a simple relational database associated with an account, using the account storage.

An account can have code (maybe precompiled), balance, nonce, and storage. Storage is composed by storage cell, each having an address (32 bytes), and a content (a big integer represented in 32 bytes). The account storage has a hash value associated: if its content change, the hash changes.

At @RSKSmart, we are experimenting having storage cells with arbitrary binary data (byte arrays of any length). The hash calculation is the same, and the cell persistence does not change: internally, it uses a key-value store, where key is a byte array, and value is a byte array.

Then, I could implement a precompiled contract, with:

– Method execute(sql) to execute a simple SQL statement (create table, insert, ….)
– Method query(sql) to retrieve an array of rows

Internally, each table could have an ID (short number), and each row has an ID (20 bytes address, maybe). The description of the database (one database per account) resides in system tables. The storage cell for a row should be located at TableID + RowID, in the account storage.

In this way, each state of world hash has an snapshot of the account databases, as now they have the account states.

But I insist: maybe there are few use cases where such arrangement add values. Usually, the value comes from contract logic, and more directly exposed state, in contract variables.

I hope to write some demo code.

Another approach is to use the contract as a lightweight wrapper around an industrial-strength distributed database. But it is not clear how to keep the snapshots by world state (and if those snapshots are needed or not).

Stay tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Older Posts »

Create a free website or blog at WordPress.com.