Urko Larrañaga Piedra Head of Blockchain

¿Es posible regular y controlar las criptomonedas?

En las siguientes líneas, profundizamos sobre el creciente uso de las criptomonedas, en su futuro impacto y sobre la posibilidad de regular y controlar dicha divisa virtual.

El debate sobre la regulación y control de las criptomonedas está a la orden del día. Siguiendo la estela del artículo en el que tratábamos la influencia de Blockchain en el sistema financiero, a través de las siguientes líneas profundizamos en su futuro impacto, reflexionando sobre la posibilidad de ejercer un control sobre dicho dinero virtual.

Pros y contras

La polémica sobre legalidad y regulación está servida. Algunos opinan que las criptomonedas tienen una gran desventaja: su falta de control. La Comisión Nacional del Mercado de Valores y el Banco de España han publicado de manera conjunta un comunicado en el que advierten de los riesgos que entraña la adquisición de este tipo de criptodivisas, que escapan a la regulación y no garantizan la protección del inversor. Del mismo modo, son muchas las entidades bancarias que se han posicionado en esa misma línea.

Dinero fiduciario vs Criptodivisas
Dinero Fiduciario vs Criptodivisas

Sin embargo, también tenemos actores que ensalzan la descentralización y el anonimato que otorga la conocida tecnología de cadena de bloques Incluso algunos bancos animan a invertir en criptodivisas. No obstante, como contrapunto, cabe destacar la iniciativa de la banca para lanzar su propia criptomoneda. Sin embargo, ¿tiene sentido que la banca emita su propia moneda virtual?

Mayor control para los usuarios

La diversificación de proyectos construidos sobre cadena de bloques no tiene fin, lo que está provocando que proliferen gran cantidad de monedas virtuales encriptadas (tokens) de uso variado. Se vislumbra, por tanto, una era en la que existirá un token para cada tipo de intercambio, en el que el valor y la vida de cada una, dependerán del mainstream, es decir, del uso que le demos, pero, ¿cómo regularlo?

Vivimos en un mundo globalizado en el que los estados no pueden operar a escala individual. Hoy en día, compiten por atraer a las grandes compañías, mejorando las condiciones que ofrecen. Sin embargo, con Blockchain, el control recae sobre los usuarios. Debido a ello, los ciudadanos nos convertiremos en el target de los estados.

No obstante, el anonimato que ofrece esta tecnología dificulta, por no decir imposibilita, la identificación del autor de cada transacción. Por lo que será necesario que seamos nosotros mismos los que lleguemos a contribuir de forma voluntaria. Para ello, los estados tendrán que ganarse nuestra confianza, lo que a día de hoy, está aún muy lejos de ser una realidad.

Asimismo, los métodos de regulación clásicos deberán dar un giro de 180 grados. Teniendo en cuenta que los países sobreviven gracias a los impuestos que pagamos, será necesario buscar un equilibrio regulatorio, que permita declarar nuestros bienes sin perder el control sobre ellos. Por tanto, los estados, no deberían demonizar y atacar el uso de las criptomonedas sino cambiar su enfoque hacia ellas.

Conclusión

La tecnología Blockchain, aunque aún se encuentra en fase de maduración, es evidente, que nos está acercando a un nuevo paradigma que empodera a los ciudadanos de la siguiente manera: Por un lado, a través de la diversificación y competitividad entre tokens, otorgando el poder sobre ellos a los usuarios y por otro lado, entregándonos la propiedad y el control sobre nuestra información a nosotros mismos, de tal manera que decidamos nosotros si comerciamos con ella.

En las siguientes entradas seguiremos profundizando en estos temas, abordando el tema de la regulación en detalle.

Whitepaper
Blockchain y bancos. Cómo aplican Blockchain los bancos y sistemas financieros
Descarga gratuita
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> link  [in template "20099#20135#190900" at line 41, column 47]

----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if !currentUrl?contains(link + "/") ...  [in template "20099#20135#190900" at line 41, column 21]
----
1<#if entries?has_content> 
2 
3    <#assign journalArticleExtLocalService = serviceLocator.findService("com.izertis.internet.journal.ext.service.service.JournalArticleExtLocalService")> 
4    <#assign currentUrl = themeDisplay.getURLCurrent() + "/" /> 
5    <!-- Configuración hardcoded --> 
6    <#assign delta = 4> 
7 
8    <div class="row related-content"> 
9        <div class="col-xxl-11 px-5 pl-xxl-100px pl-xl-5 py-5"> 
10            <div class="title"><@liferay.language key="related-contents-title" /></div> 
11            <div class="row"> 
12            <#assign cont = 0> 
13            <#list entries as curEntry> 
14                 
15                <#assign renderer = curEntry.getAssetRenderer()> 
16                <#assign className = renderer.getClassName()> 
17 
18                <#if className == "com.liferay.journal.model.JournalArticle"> 
19                    <#assign journalArticle = renderer.getArticle()> 
20                    <#assign document = saxReaderUtil.read(journalArticle.getContent())> 
21                    <#assign rootElement = document.getRootElement()> 
22                    <#assign defaultLanguageId = parseXml ("@default-locale", rootElement)> 
23                    <#attempt> 
24                        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='miniatureimage']")> 
25                        <#assign img = xPathSelector.selectSingleNode(rootElement).getStringValue()> 
26                        <#if isJson(img)> 
27                            <#assign imgJson = jsonFactoryUtil.createJSONObject(img)> 
28                            <#assign imgUrl = "/documents/" + imgJson.groupId + "/" + imgJson.uuid > 
29                        <#else> 
30                            <#assign imgUrl = "/o/portal-izertis-theme/images/publications/" + journalArticle.getArticleId()[journalArticle.getArticleId()?length-1] + ".jpg"> 
31                        </#if> 
32                    <#recover> 
33                        <#assign imgUrl = "/o/portal-izertis-theme/images/publications/" + journalArticle.getArticleId()[journalArticle.getArticleId()?length-1] + ".jpg"> 
34                    </#attempt> 
35 
36                    <#assign title = getField("title", locale, defaultLanguageId, rootElement)!> 
37                    <#attempt> 
38                        <#assign link = "/-/" + journalArticleExtLocalService.getFriendlyUrl(journalArticle, themeDisplay.getLocale()) /> 
39                    <#recover> 
40                    </#attempt> 
41                    <#if !currentUrl?contains(link + "/") && (cont < delta)> 
42                        <#if title != ""> 
43                            <div class="col-sm-6 col-lg-3 pr-5 pb-5 pb-lg-0"> 
44                                <div class="img-cont"> 
45                                    <img alt="" src="${imgUrl}" /> 
46                                </div> 
47                                <#if title != ""> 
48                                    <div class="info"><a href="${link}">${title}</a></div> 
49                                </#if> 
50                            </div> 
51                            <#assign cont = cont + 1 /> 
52                        </#if> 
53                    </#if> 
54                </#if> 
55            </#list> 
56            </div> 
57         
58        </div> 
59    </div> 
60</#if> 
61 
62<#function getField field languageId defaultLanguageId xml> 
63    <#local defaultSelector = "//dynamic-content[@language-id='" + defaultLanguageId + "' and ancestor-or-self::*[@name='" + field + "']]"> 
64    <#local localeSelector = "//dynamic-content[@language-id='" + languageId + "' and parent::*[@name='" + field + "']]"> 
65 
66    <#local selector = saxReaderUtil.createXPath(localeSelector)> 
67    <#local value = selector.selectSingleNode(xml)!> 
68 
69    <#if value?has_content> 
70        <#return value.getText()> 
71    </#if> 
72 
73    <#local selector = saxReaderUtil.createXPath(defaultSelector)> 
74    <#local value = selector.selectSingleNode(xml)!> 
75 
76    <#if value?has_content> 
77        <#return value.getText()> 
78    </#if> 
79 
80    <#return ""> 
81</#function> 
82 
83<#function parseXml xpath xml> 
84    <#local selector = saxReaderUtil.createXPath(xpath)> 
85    <#local result = selector.selectSingleNode(xml)!> 
86 
87    <#if result?has_content> 
88        <#return result.getStringValue()> 
89    </#if> 
90 
91    <#return ""> 
92</#function> 
93 
94<#function isJson json> 
95    <#local value = json?trim> 
96    <#return value?has_content && value?starts_with("{") && value?ends_with("}")> 
97</#function>